Revisar un webhook de Telegram con getWebhookInfo
getWebhookInfo indica si Telegram puede entregar actualizaciones a tu bot. Así se lee cada campo y se solucionan los errores de entrega más comunes.
Hazlo en unos clics: sin código, sin servidor, directamente en el navegador.
Revisar mi webhookCampos de WebhookInfo
| Campo | Significado |
|---|---|
url | URL actual del webhook. Vacía significa que el bot usa getUpdates (long polling). |
pending_update_count | Actualizaciones pendientes de entrega. Si crece, tu servidor no las acepta. |
last_error_date, last_error_message | Hora (Unix) y texto del último error de entrega. |
last_synchronization_error_date | Error al sincronizar actualizaciones entre centros de datos de Telegram; suele ser temporal. |
ip_address | IP a la que Telegram envía las solicitudes ahora. |
max_connections | Máximo de conexiones simultáneas. |
allowed_updates | Tipos suscritos; si falta, se usa el conjunto por defecto. |
has_custom_certificate | Si se subió un certificado autofirmado. |
Revisar con curl
curl "https://api.telegram.org/bot$BOT_TOKEN/getWebhookInfo"Respuesta de ejemplo:
{
"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}— cadena de certificados incompleta, certificado caducado o autofirmado. Instala la cadena completa (fullchain.pem) o sube la clave pública del autofirmado.Connection timed out/Read timeout expired— el servidor no es accesible o responde muy lento. Responde 200 de inmediato y procesa la actualización en segundo plano.Connection refused— nada escucha en ese puerto o un firewall bloquea las IP de Telegram.Failed to resolve host: Name or service not known— problema de DNS con tu dominio.Wrong response from the webhook: 404 Not Found— ruta incorrecta en la URL o en el enrutamiento.Wrong response from the webhook: 401 Unauthorized/403 Forbidden— tu servidor rechaza la solicitud, a menudo por un token secreto que no coincide.Wrong response from the webhook: 500/502/503— tu manejador falla o el upstream detrás del proxy está caído. Revisa los logs del servidor.
Después de corregirlo
Actualiza el estado: last_error_date se mantiene hasta el siguiente error, así que compara su hora con la actual. Si la cola tiene actualizaciones obsoletas, descártalas con drop_pending_updates.
Hazlo en unos clics: sin código, sin servidor, directamente en el navegador.
Revisar mi webhook