Idempotencia
Autoinspector API soporta idempotencia para reintentar las solicitudes HTTP de manera segura.
Esto es fundamental cuando realizas una API request y no recibes ninguna respuesta por problemas de conexión
Si una request para crear una inspección no responde debido a un error en la conexión, puedes reintentar la solicitud enviando un mismo Idempotency-Key
para garantizar que el recurso no se cree multiples veces
Idempotency-Key Header
Para realizar una solicitud HTTP de manera idempotente, necesitas enviar el header Idempotency-Key
dentro de la request
Autoinspector guardara el status code y response body de la primer solicitud que se realice con un Idempotency-Key
, sin importar el status code de esta solicitud (podría ser un 5xx
)
Idempotency-Key
es una clave unica generada y enviada por el cliente en donde el servidor reconoce las solicitudes siguientes que se realizan usando la misma clave, para retornar una respuesta cacheada
Esta clave la puedes generar de diferentes maneras, es tu decision, pero tiene que ser una cadena que no sobrepase los 255 caracteres.
Puedes optar por usar v4 UUIDs o cualquier otra función que te retorne un string random único
Las respuestas se cachean unicamente si las validaciones tanto de autenticación y autorización
Enviar Idempotency-Key
en GET
y DELETE
requests no tienen efecto ya que estos métodos son idempotentes por definición
curl -X POST 'https://api.autoinspector.ai/v1/inspection/car' \
-H 'x-api-key: <YOUR_API_KEY_GOES_HERE>' \
-H 'Idempotency-Key: 882fb7ea-a75b-458e-a4c6-0814427608f8' \
-H 'Content-Type: application/json' \
-d '{
"delivery": {
"disabled": false,
"channel": "wsp",
"destination": "3813635420",
"countryISO": "AR"
},
"locale": "es_AR",
"metadata": {
"policy_id": "5912"
},
"producer": {
"internalId": "1234"
},
"templateId": "easy",
"consumer": {
"firstName": "John",
"lastName": "Doe",
"identification": "44188219",
"email": "john@doe.com"
}
}'