wc_get_coupons: lista los cupones
Lista los cupones de la tienda.
Argumentos
| Argumento | Obligatorio | Significado |
|---|---|---|
status |
No | Estado de la entrada; por defecto es publish |
per_page |
No | Cuántos, limitado a 1–100 |
page |
No | Número de página, empezando en 1 |
Permisos
mcp:read y woocommerce:catalog:read, además de manage_woocommerce o edit_shop_coupons.
Qué devuelve
items, cada uno con id, code, discount_type, amount y usage_limit.
Eso es todo el listado. Cinco campos.
Qué no te dice
Los cuatro campos que deciden si un cupón importa faltan todos:
date_expires— así que no puedes ver qué cupones están muertos.description— así que no puedes ver para qué era un código.individual_use— así que no puedes ver cuáles bloquean la combinación.product_ids— así que no puedes ver cuáles están restringidos a productos concretos.
Los cuatro proceden de wc_get_coupon, una llamada por cupón.
La omisión de la caducidad es la que más engaña. Un listado de cuarenta cupones parece cuarenta ofertas activas, y la mayoría puede que hayan caducado el año pasado. Un asistente que resuma «los descuentos activos de la tienda» a partir solo de este listado está adivinando.
Lista los cupones, luego lee cada uno y dime cuáles han caducado.
Lee todas las páginas
Los resultados usan un orden ascendente por ID y páginas de hasta 100. Aumenta page para continuar. La respuesta no tiene total. Solo se devuelven los cupones que el actor puede editar, así que un actor restringido puede recibir una página corta. Usa wc_get_coupon_count para entender los totales de estado y comprobar el alcance solicitado.
status por defecto es publish
Solo se devuelven los cupones publicados a menos que pidas otra cosa. Los borradores y los cupones en la papelera son invisibles por defecto.
Valores útiles:
publish— códigos activos.draft— preparados pero no activos.trash— eliminados pero no purgados; estos siguen ocupando sus códigos.
Ese último punto suele pillar a la gente: un cupón en la papelera sigue conservando su código, así que recrear SUMMER25 falla mientras el antiguo siga en la papelera.
amount necesita su discount_type para significar algo
Un amount de 10 es un diez por ciento o diez euros según discount_type — percent, fixed_cart o fixed_product.
Leer el importe sin el tipo es como un cupón del 10 % acaba describiéndose como «10 € de descuento». Ambos campos están en el listado; usa los dos.
Cómo usarlo bien
Lista los cupones publicados con sus códigos, tipos e importes.
Muéstrame los cupones en borrador.
Antes de crear uno:
Lista los cupones en todos los estados y dime si SUMMER25 ya existe.
Problemas comunes
| Síntoma | Causa |
|---|---|
| La herramienta no aparece | WooCommerce no está activo |
pom_ai_mcp_wc_forbidden |
Falta manage_woocommerce o edit_shop_coupons |
| Un cupón que sabes que existe no aparece | Es un borrador o está en la papelera; status por defecto es publish |
| Exactamente 100 resultados | Lee la página siguiente |
| Sin fechas de caducidad | No están en el listado; lee cada cupón |
| Un importe que parece incorrecto | Comprueba discount_type |
Relacionado
wc_get_coupon— el registro completowc_get_coupon_count— ¿está completo el listado?- Herramientas de cupones