Una vez que definas usar la API de mensajería, es importante considerar algunos aspectos técnicos, tales como los límites de velocidad, los posibles errores y las estrategias de reintentos y reconexión cuando sea necesario.
A continuación encontrarás toda esta información para que puedas consultarla y navegarla fácilmente.
Rate Limiting
La API tiene límites de velocidad para proteger la estabilidad del servicio.
Límites recomendados
| Recurso |
Límite |
Ventana |
Notas |
| POST /auth |
10 requests |
por minuto por IP | Cachear el Bearer token hasta la expiración. |
| POST /conversation/messages | 60 requests | por minuto por usuario (hash) | Un flujo normal no debería superar 10–15 msgs/min. |
| POST /conversation/close | 10 requests |
por minuto por usuario (hash) |
Llamar solo al finalizar. |
Valores orientativos. Consultar con el equipo de CSM para límites exactos según acuerdo. |
Errores de la API HTTP
| HTTP Status |
Escenario |
Acción recomendada |
| 401 Unauthorized |
Bearer token expirado o inválido |
Obtener nuevo token vía /auth y reintentar |
| 400 Bad Request | Request mal formado o faltan campos | Verificar body y headers |
| 404 Not Found |
Recurso no encontrado | Verificar URL del endpoint |
| 500 Internal Server Error |
Error del servidor |
Reintentar con backoff exponencial; si persiste, contactar soporte |
Errores conversacionales (HTTP 200)
El código HTTP 200 confirma que la petición al servicio fue exitosa desde el punto de vista del protocolo HTTP. No obstante, es posible que el flujo conversacional presente un error si el contenido de la respuesta no coincide con lo esperado para el caso de uso implementado.
Estrategia de Retry y Reconexión
| Cuándo reintentar | ||
| Escenario | ¿Reintentar? | Estrategia |
| HTTP 500 | Sí | Backoff exponencial 1s, 2s, 4s. Máx. 3 intentos. |
| HTTP 401 | Sí | Obtener nuevo token y reintentar 1 vez. |
| HTTP 400 | No | Corregir request; no reintentar igual. |
| HTTP 404 | No | Verificar URL; no reintentar. |
| Timeout de red | Sí | Reintentar 1 vez; si falla, mostrar error. |
| Error conversacional (200) | No | Seguir el flujo según los complementos. |
Qué no hacer
- No reintentar un mensaje a mitad de flujo con la misma sentence si la sesión expiró.
- No reintentar indefinidamente (máx. 3 intentos).
- No reintentar si el error es conversacional (HTTP 200).
- No crear múltiples sesiones en paralelo para el mismo usuario.
Manejo de HTTP 429: Too Many Requests. Límite de velocidad excedido.
- Esperar el tiempo indicado en Retry-After (si está presente).
- Si no hay Retry-After, esperar 60 segundos.
- Implementar una cola (queue) del lado del cliente para no exceder límites.
✅ Buenas prácticas
- Cachear el Bearer token y reutilizarlo hasta que expire.
- No enviar mensajes en ráfaga sin throttle.
- Implementar debounce en el frontend para clics rápidos.
Conoce también: