Saltar al contenido principal

Cupones

Un cupón de descuento es una herramienta promocional que permite a las tiendas ofrecer ahorros a sus clientes. Existen cinco tipo de cupones

  • Porcentaje del total de la compra
  • Monto fijo de desceunto
  • Envio gratis
  • Porcentaje por producto
  • Monto fijo por producto

Propiedades

PropiedadExplicación
idIdentificador único del cupón
titleTítulo o nombre del cupón
valueValor del descuento
isAvailableDisponibilidad del cupón
usedVeces que se utilizó el cupón
created_atFecha de creación
updated_atFecha de última actualización
limit_max_usedLímite de uso por cliente o sesión
max_usedMáximo de usos permitidos
limit_min_priceLímite mínimo de precio para aplicar
min_priceMonto mínimo para aplicar el cupón
type_coupon_idTipo de cupón
type_filter_idTipo de filtro del cupón
categories_idIDs de categorías asociadas
products_idIDs de productos asociados
limit_timeLímite de tiempo para uso
time_startFecha de inicio de vigencia
time_endFecha de fin de vigencia
type_filter_idExplicación
1Sin límites
2Solo para categorias
3Solo para productos
type_coupon_idExplicación
1Porcentaje del total de la compra
2Monto fijo de descuento
3Envío gratis
4Porcentaje por producto
5Monto fijo por producto

Endpoints

GET /coupons

Obtiene la lista de cupones.

Parámetros de query

ParámetroExplicación
idsIDs de cupones separados por comas
type_coupon_idFiltrar por tipo de cupón
is_availableFiltrar por disponibilidad
qBuscar por título
pagePágina
per_pageResultados por página

Ejemplo

GET /coupons?status=1&is_available=1

HTTP/1.1 200 OK

{
"pagination": {
"total": 1,
"page": 1,
"per_page": 10,
"next_page": null
},
"results": [
{
"id": 20,
"title": "Cupon de verano",
"value": 10,
"is_available": false,
"used": 0,
"created_at": "2026-05-20T16:32:44.000Z",
"updated_at": "2026-05-20T16:32:44.000Z",
"limit_max_used": true,
"max_used": 15,
"limit_min_price": false,
"min_price": 0,
"type_coupon_id": 2,
"type_filter_id": 3,
"products_id": [1],
"limit_time": true,
"time_start": "2026-05-20T14:54:58.000Z",
"time_end": "2026-05-20T14:54:58.000Z"
}
]
}

GET /coupons/{id}

Obtiene un cupón por su ID.

Ejemplo

GET /coupons/20

HTTP/1.1 200 OK

{
"id": 20,
"title": "Cupon de verano",
"value": 10,
"is_available": false,
"used": 0,
"created_at": "2026-05-20T16:32:44.000Z",
"updated_at": "2026-05-20T16:32:44.000Z",
"limit_max_used": true,
"max_used": 15,
"limit_min_price": false,
"min_price": 0,
"type_coupon_id": 2,
"type_filter_id": 3,
"products_id": [1],
"limit_time": true,
"time_start": "2026-05-20T14:54:58.000Z",
"time_end": "2026-05-20T14:54:58.000Z"
}

POST /coupons

Crea un nuevo cupón.

Body de request

ParámetroExplicación
titleNombre o código del cupón
valueValor del descuento
max_usedMáximo de usos
time_startFecha de inicio
time_endFecha de fin
statusEstado del cupón
type_coupon_idTipo de cupón
min_priceMonto mínimo para aplicar
isAvailableDisponibilidad
limit_max_usedLímite de uso por cliente o sesión
limit_timeLímite de tiempo para uso
limit_min_priceLímite mínimo de precio
type_filter_idTipo de filtro
categories_idIDs de categorías asociadas
products_idIDs de productos asociados

Ejemplo de request

{
"title": "Cupon del dia",
"value": 150,
"max_used": 10,
"limit_time": true,
"time_start": "2026-05-20T17:41:44.295Z",
"time_end": "2026-05-20T17:41:44.295Z",
"type_coupon_id": 2,
"min_price": 20,
"isAvailable": true,
"limit_max_used": true,
"limit_min_price": true,
"type_filter_id": 3,
"products_id": [1]
}

Respuesta

HTTP/1.1 201 Created

{
"id": 32,
"title": "Cupon del dia",
"value": 150,
"is_available": true,
"used": 0,
"created_at": "2026-05-20T17:57:42.000Z",
"updated_at": "2026-05-20T17:57:42.000Z",
"limit_max_used": true,
"max_used": 10,
"limit_min_price": true,
"min_price": 20,
"type_coupon_id": 2,
"type_filter_id": 3,
"products_id": [1],
"limit_time": true,
"time_start": "2026-05-20T17:41:44.000Z",
"time_end": "2026-05-20T17:41:44.000Z"
}

DELETE /coupons/{id}

Elimina un cupón.

Ejemplo

DELETE /coupons/1

HTTP/1.1 200 OK

{
"id": 1,
"message": "Coupon deleted successfully"
}

PUT /coupons/{id}/status

Actualiza el estado de disponibilidad del cupón.

Ejemplo

PUT /coupons/1/status

HTTP/1.1 200 OK

{   
"id": 1,
"message": "Coupon enabled successfully"
}