Verificar um webhook do Telegram com getWebhookInfo
getWebhookInfo mostra se o Telegram consegue entregar atualizações ao seu bot. Veja como ler cada campo e corrigir os erros de entrega mais comuns.
Faça em poucos cliques — sem código, sem servidor, direto no navegador.
Verificar meu webhookCampos de WebhookInfo
| Campo | Significado |
|---|---|
url | URL atual do webhook. Vazia significa que o bot usa getUpdates (long polling). |
pending_update_count | Atualizações aguardando entrega. Um número crescente indica que o servidor não as aceita. |
last_error_date, last_error_message | Horário (Unix) e texto do último erro de entrega. |
last_synchronization_error_date | Erro ao sincronizar atualizações entre os data centers do Telegram; geralmente temporário. |
ip_address | IP para o qual o Telegram envia as requisições agora. |
max_connections | Máximo de conexões simultâneas. |
allowed_updates | Tipos assinados; se ausente, vale o conjunto padrão. |
has_custom_certificate | Se um certificado autoassinado foi enviado. |
Verificar com curl
curl "https://api.telegram.org/bot$BOT_TOKEN/getWebhookInfo"Exemplo de resposta:
{
"ok": true,
"result": {
"url": "https://example.com/telegram/webhook",
"has_custom_certificate": false,
"pending_update_count": 12,
"ip_address": "203.0.113.10",
"last_error_date": 1791446400,
"last_error_message": "Wrong response from the webhook: 502 Bad Gateway",
"max_connections": 40,
"allowed_updates": ["message", "callback_query"]
}
}Valores típicos de last_error_message
SSL error {error:...:certificate verify failed}— cadeia de certificados incompleta, certificado expirado ou autoassinado. Instale a cadeia completa (fullchain.pem) ou envie a chave pública do autoassinado.Connection timed out/Read timeout expired— o servidor está inacessível ou responde devagar demais. Responda 200 imediatamente e processe a atualização em segundo plano.Connection refused— nada escuta nessa porta ou um firewall bloqueia os IPs do Telegram.Failed to resolve host: Name or service not known— problema de DNS no seu domínio.Wrong response from the webhook: 404 Not Found— caminho errado na URL ou no roteamento.Wrong response from the webhook: 401 Unauthorized/403 Forbidden— seu servidor rejeita a requisição, muitas vezes por token secreto divergente.Wrong response from the webhook: 500/502/503— seu handler falha ou o upstream atrás do proxy está fora do ar. Confira os logs do servidor.
Depois de corrigir
Atualize o status: last_error_date permanece até o próximo erro, então compare o horário com o atual. Se a fila tiver atualizações antigas, descarte-as com drop_pending_updates.
Faça em poucos cliques — sem código, sem servidor, direto no navegador.
Verificar meu webhook