Skip to content

Aplicar descuento

POST/api/v1/integrations/discounts/apply
🔐 Bearer (OAuth) o X-Api-Key♻️ Requiere Idempotency-KeyContrato en borrador

Calcula 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 cuyo sku aplique.

Encabezados ​

EncabezadoRequeridoDescripción
Authorization o X-Api-KeySíTu credencial. Ver Autenticación.
Idempotency-KeySíUUID único de esta operación. Reintentar con la misma llave devuelve la misma autorización.

Petición ​

CampoTipoRequeridoDescripción
identificationTypeIdintegerSíTipo de identificación del colaborador.
identificationstring (1–30)SíIdentificación del colaborador.
merchantDiscountIdintegerSíDescuento elegido de la respuesta de elegibilidad.
purchaseAmountnumberSíTotal de la compra antes del descuento, en DOP.
referencestring (≤ 64)SíTu identificador de la compra (ticket, factura, orden). Único por compra.
branchIdintegerNoSucursal donde ocurre la compra.
items[]arraySi el descuento es por categoría o artículosku, 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 ​

HTTPCuándo
400Datos inválidos, reference repetida con una autorización activa, o faltan items en un descuento por categoría/artículo.
404El descuento no está disponible para ese colaborador: no otorgado, vencido o de otro comercio.
409La Idempotency-Key ya se usó con un cuerpo distinto.
401 / 403 / 429Ver Errores.

COME · Beneficios que te conectan