Contrato 2026-10-01
Respuestas y reintentos
Seis códigos cierran la operación. Un fallo técnico, un 401 o un cuerpo inválido hacen que Astro vuelva a llamar.
Tu respuesta es JSON con Content-Type: application/json.
{ "RESPUESTA": "OK", "MENSAJE": "Listo", "DATA": {} }
RESPUESTA se lee en mayúsculas. DATA es un objeto. En el catálogo trae productos. En un alta aceptada trae id_externo.
Códigos
Cualquier otro texto se lee como BAD_REQUEST: Astro cierra la operación y no reintenta. Un código inventado, por ejemplo ERROR, cancela el pedido.
| Código | Cuándo usarlo | Qué hace Astro |
|---|---|---|
OK |
Aceptaste la operación | Confirma el documento |
SIN_STOCK |
No hay existencia para esa línea | Cancela y le explica al cliente |
NO_DISPONIBLE |
Horario ocupado, sede cerrada o servicio que no ofreces | Cancela y le explica al cliente |
NOT_FOUND |
El código no existe. En una cancelación, el documento nunca estuvo en tu sistema | En un alta, cancela. En una cancelación, la da por hecha |
BAD_REQUEST |
Los datos no sirven y un reintento traería lo mismo | Cancela |
CONFLICT |
Esa clave ya se usó para otra cosa, o el documento no admite el cambio | Cancela el alta. En una cancelación, la deja abierta |
MENSAJE en un rechazo se le muestra al cliente. Escríbelo para esa persona.
HTTP
| Estado | Cómo lo lee Astro |
|---|---|
| 200 a 299 | Toma RESPUESTA del cuerpo |
| 400 a 499, excepto 401, 403 y 429 | Toma RESPUESTA del cuerpo. Sirve para un rechazo de negocio |
| 401 y 403 | Firma rechazada. Reintenta |
| 429, 500 a 599, tiempo agotado o sin conexión | Fallo técnico. Reintenta |
Cuerpo vacío, HTML o JSON sin RESPUESTA |
Fallo técnico. Reintenta |
El tiempo de espera es de 5 segundos. Una página HTML de error entra en reintentos.
Reintentos de un alta
El alta se intenta en el momento. Si el resultado es técnico, Astro repite el mismo cuerpo y la misma Idempotency-Key hasta cinco veces más:
| Intento siguiente | Espera |
|---|---|
| 2 | 30 segundos |
| 3 | 2 minutos |
| 4 | 10 minutos |
| 5 | 30 minutos |
| 6 | 1 hora |
Después el alta queda fallida y Astro deja de llamarte. El negocio puede reenviarla desde su cuenta: empieza un ciclo nuevo, con la misma clave.
Un rechazo de la tabla de códigos no se reintenta.
Si se acumulan 5 fallos técnicos, Astro deja de llamar a esa cuenta durante 60 segundos. Una respuesta OK o un rechazo de negocio ponen el contador en cero. Una pausa que ya empezó dura sus 60 segundos.
La consulta de catálogo y la cancelación no usan esta cola. Si fallan, la conversación pasa a una persona.
Probar la conexión
El botón Probar envía ping a cada webhook con origen: {origen}/astro/producto/webhook y {origen}/astro/pedido/webhook.
{
"version": "2026-10-01",
"evento": "ping",
"id_evento": "11111111-2222-4333-8444-555555555555",
"fecha": "2026-10-07T15:10:00+00:00",
"tenant_id": "0b1d5c2e-7a11-4e3a-9c2d-111111111111",
"sucursal": null,
"data": { "mensaje": "ping" }
}
Responde OK. DATA puede ser un objeto vacío.
{ "RESPUESTA": "OK", "MENSAJE": "pong", "DATA": {} }