Saltar al contenido principal
GET
/
ecommerce
/
v2
/
apps
/
{app_id}
/
coupons
curl "https://gateway.jelou.ai/ecommerce/v2/apps/{app_id}/coupons?page=1&limit=20&state=active" \
  -H "x-api-key: TU_CLAVE_API"
{
  "data": [
    {
      "id": "9e3f2c1a-8b7d-4e6f-a5c4-d3b2a1e0f9c8",
      "code": "BLACKFRIDAY25",
      "name": "Black Friday 25%",
      "description": "25% de descuento en toda la tienda",
      "discount_type": "percentage",
      "discount_value": "25.000000",
      "status": true,
      "valid_from": "2026-11-25T00:00:00.000000Z",
      "valid_until": "2026-11-30T23:59:59.000000Z",
      "max_uses": 100,
      "once_per_client": true,
      "applies_to_all_branches": true,
      "uses_count": 0,
      "state": "scheduled",
      "created_at": "2026-07-02T15:30:00.000000Z",
      "updated_at": "2026-07-02T15:30:00.000000Z"
    }
  ],
  "links": {
    "first": "https://gateway.jelou.ai/ecommerce/v2/apps/{app_id}/coupons?page=1",
    "last": "https://gateway.jelou.ai/ecommerce/v2/apps/{app_id}/coupons?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "per_page": 15,
    "to": 1,
    "total": 1
  }
}
app_id
string
requerido
ID de tu tienda en Jelou Shop.
page
integer
predeterminado:"1"
Número de página a retornar.
limit
integer
predeterminado:"15"
Cantidad de resultados por página (máx. 100).
state
string
Filtra por el estado derivado del cupón. Valores: active, scheduled, expired, depleted, inactive.

Estados del cupón

El campo state es calculado (no se almacena) a partir del estado, la vigencia y los usos. Precedencia: inactivo → programado → caducado → agotado → activo.
EstadoSignificado
activeActivo y aplicable.
scheduledProgramado: su valid_from es futuro.
expiredCaducado: su valid_until ya pasó.
depletedAgotado: alcanzó su max_uses.
inactiveDesactivado manualmente (status: false).

Campos de la respuesta

Cada cupón en data contiene los siguientes campos:
CampoTipoDescripción
idstringUUID del cupón
codestringCódigo que ingresa el cliente
namestringNombre interno
descriptionstring | nullDescripción
discount_typestringpercentage o value
discount_valuestringValor del descuento
statusbooleanSi está activo
valid_fromstring | nullInicio de vigencia
valid_untilstring | nullFin de vigencia
max_usesinteger | nullLímite total de usos
once_per_clientbooleanUn uso por cliente
applies_to_all_branchesbooleanSi aplica a todas las sucursales
uses_countintegerCantidad de veces que se ha usado
statestringEstado derivado (ver tabla)
created_atstringFecha de creación
updated_atstringFecha de última actualización
curl "https://gateway.jelou.ai/ecommerce/v2/apps/{app_id}/coupons?page=1&limit=20&state=active" \
  -H "x-api-key: TU_CLAVE_API"
{
  "data": [
    {
      "id": "9e3f2c1a-8b7d-4e6f-a5c4-d3b2a1e0f9c8",
      "code": "BLACKFRIDAY25",
      "name": "Black Friday 25%",
      "description": "25% de descuento en toda la tienda",
      "discount_type": "percentage",
      "discount_value": "25.000000",
      "status": true,
      "valid_from": "2026-11-25T00:00:00.000000Z",
      "valid_until": "2026-11-30T23:59:59.000000Z",
      "max_uses": 100,
      "once_per_client": true,
      "applies_to_all_branches": true,
      "uses_count": 0,
      "state": "scheduled",
      "created_at": "2026-07-02T15:30:00.000000Z",
      "updated_at": "2026-07-02T15:30:00.000000Z"
    }
  ],
  "links": {
    "first": "https://gateway.jelou.ai/ecommerce/v2/apps/{app_id}/coupons?page=1",
    "last": "https://gateway.jelou.ai/ecommerce/v2/apps/{app_id}/coupons?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "per_page": 15,
    "to": 1,
    "total": 1
  }
}
Para incluir las sucursales asignadas en la respuesta, pide la relación branches (por ejemplo ?include=branches). Para ordenar o filtrar por más campos, usa Buscar cupones.
Usos de un cupón: consulta el detalle de cada canje (cliente, sucursal, carrito) con GET https://gateway.jelou.ai/ecommerce/v2/coupons/{coupon_id}/uses. Admite los filtros branch_id y client_id.