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.
Responses
200Default ResponseResponse fields and example
Field Type Description statusrequiredstringValues: okfailuptimeSecrequirednumberchecksrequiredobjectchecks.databaserequiredobjectchecks.database.statusrequiredstringValues: okfailskippedchecks.database.latencyMsrequiredintegerchecks.cacherequiredobjectchecks.cache.statusrequiredstringValues: okfailskippedchecks.cache.latencyMsrequiredintegerchecks.workersrequiredobjectchecks.workers.statusrequiredstringValues: okfailskippedchecks.workers.latencyMsrequiredintegerchecks.apiRoutesrequiredobjectchecks.apiRoutes.statusrequiredstringValues: okfailskippedchecks.apiRoutes.latencyMsrequiredintegerchecks.smsProvideroptionalobjectchecks.smsProvider.statusrequiredstringValues: okfailskippedchecks.smsProvider.latencyMsrequiredintegerJSON{ "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
Error responses follow RFC 7807 (application/problem+json), with a stable code in the code field. See the error codes
curl example
curl 'https://api.messages.ccxcompany.co/health/deep'