Tema
Los errores usan el mismo formato que el resto de COME.CORE:
json
{
"code": 404,
"title": "Discount",
"messages": [{ "message": "The discount is not available for this collaborator." }]
}| Campo | Descripción |
|---|---|
code | Código HTTP de la respuesta. |
title | Recurso u operación que falló (Validation, Authorization, Discount…). |
messages | Uno o más mensajes legibles. No los muestres tal cual al cliente final: úsalos para diagnóstico. |
Códigos HTTP
| HTTP | Significado | Qué hacer |
|---|---|---|
200 / 201 | Éxito. Los datos vienen en value. | — |
400 | Datos inválidos, o autorización vencida o ya usada. | Corrige la petición. En consumptions, vuelve a aplicar el descuento si venció. |
401 | Credencial ausente, inválida o vencida. | Renueva el token o reemplaza la API key. Ver Autenticación. |
403 | La credencial no tiene permiso de integración o el comercio no está habilitado. | Revisa los permisos de la credencial o contacta a COME. |
404 | El recurso no existe para tu comercio (descuento no disponible, autorización inexistente). | No reintentes: revisa los datos. |
409 | La Idempotency-Key ya se usó con otro cuerpo. | Genera una llave nueva para una operación nueva. |
429 | Demasiadas peticiones. | Espera lo indicado en Retry-After y reintenta. |
5xx | Error de COME o del servicio. | Reintenta con espera exponencial usando la misma Idempotency-Key. |
Validaciones del modelo
Si falta un campo obligatorio o tiene un tipo incorrecto, el 400 puede venir con el formato estándar de ASP.NET (title, status, errors: { campo: [mensajes] }). Trata ambos formatos: si existe errors, úsalo; si no, messages.

