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

  1. Lee el cupón de vuelta y confirma cada campo, especialmente discount_type y date_expires.
  2. Añade las restricciones que MCP no puede establecer (gasto mínimo, límite por usuario) en el administrador de WooCommerce.
  3. Prueba el código en un carrito real, en un pedido barato y en uno caro.
  4. 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

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.