Tema
POST
/api/v1/integrations/discounts/applyCalcula el descuento sobre la compra, lo reserva y devuelve un authorizationCode. No registra el consumo: hazlo con Notificar consumo cuando el cliente pague.
- La autorización vence en
expiresAt(propuesto: 15 minutos). Si vence sin notificarse, se libera y no genera consumo. - Para descuentos por categoría o artículo, envía
items: el descuento se calcula solo sobre los artículos cuyoskuaplique.
Encabezados
| Encabezado | Requerido | Descripción |
|---|---|---|
Authorization o X-Api-Key | Sí | Tu credencial. Ver Autenticación. |
Idempotency-Key | Sí | UUID único de esta operación. Reintentar con la misma llave devuelve la misma autorización. |
Petición
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
identificationTypeId | integer | Sí | Tipo de identificación del colaborador. |
identification | string (1–30) | Sí | Identificación del colaborador. |
merchantDiscountId | integer | Sí | Descuento elegido de la respuesta de elegibilidad. |
purchaseAmount | number | Sí | Total de la compra antes del descuento, en DOP. |
reference | string (≤ 64) | Sí | Tu identificador de la compra (ticket, factura, orden). Único por compra. |
branchId | integer | No | Sucursal donde ocurre la compra. |
items[] | array | Si el descuento es por categoría o artículo | sku, quantity, unitPrice de cada línea. |
bash
curl -s -X POST "$COME_BASE_URL/api/v1/integrations/discounts/apply" \
-H "Authorization: Bearer $COME_TOKEN" \
-H "Idempotency-Key: 3f2c1a9e-7d4b-4c55-9a1e-2b8f6d0c4e71" \
-H "Content-Type: application/json" \
-d '{
"identificationTypeId": 1,
"identification": "00000000000",
"merchantDiscountId": 45,
"purchaseAmount": 1500.00,
"reference": "TICKET-000123",
"branchId": 12
}'bash
curl -s -X POST "$COME_BASE_URL/api/v1/integrations/discounts/apply" \
-H "X-Api-Key: $COME_API_KEY" \
-H "Idempotency-Key: 8a1d5e20-4f3b-4b7a-9c2e-6d1f0a9b3c55" \
-H "Content-Type: application/json" \
-d '{
"identificationTypeId": 1,
"identification": "00000000000",
"merchantDiscountId": 52,
"purchaseAmount": 980.00,
"reference": "TICKET-000124",
"items": [
{ "sku": "CAF-001", "quantity": 2, "unitPrice": 190.00 },
{ "sku": "PAN-014", "quantity": 1, "unitPrice": 600.00 }
]
}'Respuesta 201
json
{
"title": "DiscountAuthorization",
"messages": [{ "message": "Creation successful" }],
"value": {
"authorizationCode": "AUT-7K2Q9M",
"status": "Authorized",
"merchantDiscountId": 45,
"reference": "TICKET-000123",
"currency": "DOP",
"purchaseAmount": 1500.0,
"discountAmount": 225.0,
"finalAmount": 1275.0,
"expiresAt": "2026-09-27T18:15:00Z"
},
"meta": null
}Cobra finalAmount al cliente y guarda authorizationCode con tu ticket.
Errores
| HTTP | Cuándo |
|---|---|
400 | Datos inválidos, reference repetida con una autorización activa, o faltan items en un descuento por categoría/artículo. |
404 | El descuento no está disponible para ese colaborador: no otorgado, vencido o de otro comercio. |
409 | La Idempotency-Key ya se usó con un cuerpo distinto. |
401 / 403 / 429 | Ver Errores. |

