wc_create_coupon: crear un cupón
Crea un código de descuento. Está activo y se puede canjear en cuanto se guarda.
Argumentos
| Argumento | Obligatorio | Significado |
|---|---|---|
code |
Sí | El código que escriben los clientes |
discount_type |
No | percent, fixed_cart o fixed_product |
amount |
No | El valor de descuento |
description |
No | Nota interna |
date_expires |
No | Cuándo deja de funcionar |
usage_limit |
No | Total de canjes permitidos |
individual_use |
No | Impedir la combinación con otros cupones |
product_ids |
No | Restringir a productos específicos |
dry_run |
No | Informar sin crear |
Solo code es obligatorio. Todo lo que limita el cupón es opcional.
Permisos
Permitir escrituras en el catálogo de WooCommerce abierto, más manage_woocommerce o edit_shop_coupons.
Los valores predeterminados son peligrosos
Un cupón creado solo con un código y un importe tiene:
- sin fecha de caducidad: funciona para siempre;
- sin límite de uso: funciona cualquier número de veces;
- sin gasto mínimo: porque ese campo no se puede establecer a través de MCP en absoluto;
- sin límite por cliente: igualmente inalcanzable;
- combinación permitida, salvo que establezcas
individual_use.
Eso es un código que cualquiera que lo encuentre puede usar repetidamente, en cualquier pedido, indefinidamente, junto con otros descuentos.
Nada de esto genera una advertencia. El cupón simplemente funciona, con generosidad.
Establece date_expires y usage_limit en cada cupón que crees aquí, y trata las restricciones inalcanzables como una razón para terminar el trabajo en el administrador de WooCommerce.
discount_type cambia lo que significa amount
| Tipo | Un amount de 10 significa |
|---|---|
percent |
10 % de descuento |
fixed_cart |
10 de descuento sobre el total del carrito |
fixed_product |
10 de descuento en cada producto que cumpla los requisitos |
Equivocarse aquí es el error caro de este capítulo. En un pedido de 200 €, percent regala 20 € y fixed_cart regala 10 €; y confundirlos en la dirección contraria, en una tienda con artículos de alto valor, regala mucho más.
Indica ambos explícitamente:
Crea un cupón SUMMER25, tipo porcentaje, importe 25, que caduque el 31 de agosto, limitado a 100 usos.
Si se omite discount_type, WooCommerce aplica su propio valor predeterminado en lugar de inferir tu intención a partir del importe.
Comprueba primero que el código está libre
Los códigos deben ser únicos, y un cupón en la papelera sigue conservando su código. Así que SUMMER25 puede no llegar a crearse porque la versión del año pasado está en la papelera, donde el listado predeterminado no la muestra.
Lista los cupones en todos los estados y confirma que SUMMER25 no esté ya cogido.
La simulación solo devuelve un eco
Devuelve would_create que contiene los argumentos que enviaste; no un cupón resuelto, ni los valores predeterminados que aplicaría WooCommerce, ni una comprobación de unicidad del código.
Así que confirma que el asistente te ha entendido. No confirma que el cupón se vaya a crear, ni qué aspecto tendrá. Úsala para comprobar que el tipo y el importe coinciden con tu intención, y luego verifica correctamente leyendo el cupón de vuelta después de crearlo.
individual_use normalmente debería estar activado
Sin él, un cliente puede combinar este código con otros. Los cupones de campaña que pretendían ser cada uno un descuento modesto se combinan en uno grande.
Actívalo salvo que la oferta esté diseñada explícitamente para combinarse.
product_ids restringe, pero solo en positivo
Puedes limitar el cupón a productos específicos. No puedes excluir productos, excluir artículos en oferta ni restringir por categoría: esos ajustes no están expuestos.
Un cupón de porcentaje en una tienda con artículos ya rebajados se aplicará encima de esos precios de oferta, y no hay forma de impedirlo desde aquí.
Después de crear
- Lee el cupón de vuelta y confirma cada campo, especialmente
discount_typeydate_expires. - Añade las restricciones que MCP no puede establecer (gasto mínimo, límite por usuario) en el administrador de WooCommerce.
- Prueba el código en un carrito real, en un pedido barato y en uno caro.
- Solo entonces hazlo público.
El paso 3 no es opcional para nada que tenga un descuento porcentual.
Problemas comunes
| Síntoma | Causa |
|---|---|
| La escritura se rechaza | Puerta de escritura del catálogo cerrada |
pom_ai_mcp_wc_forbidden |
Falta manage_woocommerce o edit_shop_coupons |
| El código fue rechazado | Ya existe, posiblemente en la papelera |
| El descuento es mucho mayor de lo previsto | Desajuste de discount_type |
| El cupón nunca deja de funcionar | No se estableció date_expires |
| Se está usando repetidamente | No se estableció usage_limit |
| Se combina con otras ofertas | individual_use está desactivado |
| Falta una restricción que querías | No se puede establecer a través de MCP; usa el administrador |
Relacionado
wc_get_coupons— comprueba que el código está librewc_update_coupon- Crear un cupón
Permisos de objeto
El acceso al catálogo por sí solo no autoriza todos los objetos. Las actualizaciones y las lecturas privadas comprueban el objeto seleccionado; las operaciones de variación también comprueban su producto principal. La eliminación requiere capacidades de borrado. Crear un cupón requiere capacidades de creación y publicación de cupones; crear un atributo global requiere manage_product_terms. Cada escritura utiliza el flujo de aprobación.