Saúde da plataforma e do provedor de canal
GET/health/deep
Endpoint público e sem autenticação, desenhado para o seu monitor sintético consultar a cada minuto. Leia o campo smsProvider, não apenas o código HTTP.
Faz as checagens internas da plataforma MAIS uma sonda de leitura no provedor de SMS (uma operação barata, nunca um envio). O resultado da sonda é cacheado por 30 segundos.
Leia o campo `smsProvider`, não apenas o código HTTP — é ele que separa os dois cenários:
| Leitura | Diagnóstico |
|---|---|
status: "fail" (HTTP 503) | Plataforma CCX indisponível |
status: "ok" + smsProvider: "fail" | CCX no ar, provedor do canal fora |
status: "ok" + smsProvider: "ok" | Ambos no ar |
smsProvider NÃO entra no status agregado de propósito: um provedor fora do ar não deve tirar a plataforma inteira de operação, levando junto WhatsApp, e-mail e painel.
skipped num campo significa que aquela dependência não está configurada neste ambiente — não é falha.
Respuestas
200Default ResponseCampos y ejemplo de la respuesta
Campo Tipo Descripción statusobligatoriostringValores: okfailuptimeSecobligatorionumberchecksobligatorioobjectchecks.databaseobligatorioobjectchecks.database.statusobligatoriostringValores: okfailskippedchecks.database.latencyMsobligatoriointegerchecks.cacheobligatorioobjectchecks.cache.statusobligatoriostringValores: okfailskippedchecks.cache.latencyMsobligatoriointegerchecks.workersobligatorioobjectchecks.workers.statusobligatoriostringValores: okfailskippedchecks.workers.latencyMsobligatoriointegerchecks.apiRoutesobligatorioobjectchecks.apiRoutes.statusobligatoriostringValores: okfailskippedchecks.apiRoutes.latencyMsobligatoriointegerchecks.smsProvideropcionalobjectchecks.smsProvider.statusobligatoriostringValores: okfailskippedchecks.smsProvider.latencyMsobligatoriointegerJSON{ "status": "ok", "uptimeSec": 0, "checks": { "database": { "status": "ok", "latencyMs": 0 }, "cache": { "status": "ok", "latencyMs": 0 }, "workers": { "status": "ok", "latencyMs": 0 }, "apiRoutes": { "status": "ok", "latencyMs": 0 }, "smsProvider": { "status": "ok", "latencyMs": 0 } }}
503Default Response
Las respuestas de error siguen el formato RFC 7807 (application/problem+json), con un código estable en el campo code. Ver los códigos de error
Ejemplo en curl
curl 'https://api.messages.ccxcompany.co/health/deep'