Saltar al contenido
astro

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": {} }