sendDocument
Envía un documento.
Devuelve: Si la llamada tiene éxito, devuelve Message.
Parámetros
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
business_connection_id | String | Opcional | ID de la conexión empresarial |
chat_id | Integer or String | Sí | ID del chat o @username |
message_thread_id | Integer | Opcional | ID del tema del foro |
direct_messages_topic_id | Integer | Opcional | ID del tema de mensajes directos (Bot API 10.0) |
ephemeral_message_parameters | EphemeralMessageParameters | Opcional | Objeto JSON EphemeralMessageParameters — mensaje efímero visible para un solo usuario (Bot API 10.3) |
document | InputFile or String | Sí | URL o file_id del documento |
thumbnail | InputFile or String | Opcional | URL o file_id de la miniatura |
caption | String | Opcional | Leyenda (0-1024) |
parse_mode | String | Opcional | HTML, Markdown o MarkdownV2 |
caption_entities | Array of MessageEntity | Opcional | Array JSON de MessageEntity |
disable_content_type_detection | Boolean | Opcional | Desactivar la detección del tipo de contenido |
disable_notification | Boolean | Opcional | Enviar sin sonido |
protect_content | Boolean | Opcional | Proteger el contenido |
allow_paid_broadcast | Boolean | Opcional | Permitir difusión de pago |
message_effect_id | String | Opcional | ID del efecto del mensaje |
suggested_post_parameters | SuggestedPostParameters | Opcional | Objeto JSON SuggestedPostParameters |
reply_parameters | ReplyParameters | Opcional | Objeto JSON ReplyParameters |
reply_markup | InlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove or ForceReply | Opcional | Objeto JSON: InlineKeyboardMarkup / ReplyKeyboardMarkup / ReplyKeyboardRemove / ForceReply |
Ejemplo de solicitud
curl
curl -s -X POST "https://api.telegram.org/bot$TOKEN/sendDocument" \
-H "Content-Type: application/json" \
-d '{"chat_id":123456789,"document":"https://example.com/file.pdf"}'
Python
import requests
TOKEN = "123456789:AAEexampleTokenReplaceWithYours"
resp = requests.post(
f"https://api.telegram.org/bot{TOKEN}/sendDocument",
json={
"chat_id": 123456789,
"document": "https://example.com/file.pdf"
},
timeout=30,
)
print(resp.json())
JavaScript
const TOKEN = "123456789:AAEexampleTokenReplaceWithYours";
const res = await fetch(`https://api.telegram.org/bot${TOKEN}/sendDocument`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"chat_id": 123456789,
"document": "https://example.com/file.pdf"
}),
});
console.log(await res.json());
Guía paso a paso: Cómo crear un bot en Telegram paso a paso: de BotFather a tu primer mensaje
Métodos relacionados
sendPhotoEnvía una foto.sendVideoEnvía un video.sendAudioEnvía un audio.sendAnimationEnvía una animación (GIF).sendStickerEnvía un sticker.sendVoiceEnvía un mensaje de voz.sendVideoNoteEnvía un videomensaje (video circular).sendMediaGroupEnvía un grupo de archivos multimedia (álbum).sendPaidMediaEnvía contenido multimedia de pago (Bot API 8.0+).sendDiceEnvía un dado.sendLivePhotoEnvía una Live Photo (foto + video, Bot API 10.0).