type– Un URI que identifica el error en el catálogo de errores de Lerian, construido comohttps://errors.lerian.studio/v1/<code>. Este URI repitecode, por lo que no separa dos estados que comparten un código.title– El texto del estado HTTP (por ejemplo,Not Found).status– El código de estado HTTP.detail– Una explicación legible para esta ocurrencia. Un500y unSILOC-0023reemplazan el texto porinternal error, de modo que la causa interna permanece dentro del riel. El texto varía según la ocurrencia, y un403puede llevar el mensaje que reportó el servicio de autorización. No distingas por él.code– El código estable y procesable por máquina (SILOC-NNNN). Distingue por el par destatusycode, no solo porcode. Un código puede aparecer bajo más de un estado, y cada estado necesita una acción diferente. Por ejemplo,SILOC-0022es un 400 para un cuerpo que no es JSON válido y un 422 para un valor que rompe una regla de dominio. Una solicitud que falla la validación de esquema llevaSILOC-0022, yerrorsnombra los campos con el fallo.errors– Una lista opcional de detalles en el nivel de campo, cada uno con ellocationque leyó, unmessagey elvalueencontrado allí. Un rechazo de la puerta de autorización o de idempotencia lleva en su lugar una listaviolationsvacía.
400, 413, 415: Cuerpo de la solicitud rechazado
401: Solicitante no identificado
403: Solicitante rechazado
404: No encontrado
409: Conflictos
422: Errores de validación
500: Errores del servidor
503: El riel no puede responder
Un 503 que lleva
SILOC-0002 no te dice que el comando fue rechazado. El riel responde con él tanto antes de que el comando se ejecute como después de que se confirme, de modo que el comando ya podría haber surtido efecto. Concilia primero la solicitud original. Cuando reintentes, envía la misma X-Idempotency, y nunca reintentes bajo una nueva.
