sendPhoto / sendDocument / sendVideo / sendAudio
sendPhoto / sendDocument / sendVideo / sendAudio
Отправить медиафайл в чат. Файл передаётся напрямую в запросе — отдельный шаг загрузки не нужен.
POST https://api.kodari.ru/msg/bot.php?method=sendPhoto
Authorization: Bearer bot_ВАШ_ТОКЕН
Content-Type: multipart/form-data
Параметры (form-data)
| Поле | Тип | Обяз. | Описание |
|---|
chat_id | int | ✓ | ID чата |
media | file | ✓ | Файл |
caption | string | — | Подпись (до 1024 символов) |
reply_to_message_id | int | — | Ответ на сообщение |
Поддерживаемые форматы
| Метод | Форматы | Макс. размер |
|---|
sendPhoto | jpg, jpeg, png, gif, webp, heic | 300 МБ |
sendVideo | mp4, mov, webm, m4v | 300 МБ |
sendAudio | mp3, m4a, wav, ogg, webm | 300 МБ |
sendDocument | pdf, zip, doc, docx и все выше | 300 МБ |
Успешный ответ
{
"ok": true,
"result": {
"message_id": 789,
"chat_id": 123,
"media_url": "https://api.kodari.ru/msg/media.php?key=...",
"media_type": "image",
"created_at": "2026-05-31 10:00:00"
}
}
Ошибки
| Код | Описание |
|---|
| 400 | chat_id отсутствует или не передан файл |
| 403 | Бот не является участником чата |
| 403 | Участникам запрещено отправлять медиа (send_media_disabled) |
| 422 | Недопустимый формат или размер файла превышен |
Пример на Python
import requests
TOKEN = "bot_ВАШ_ТОКЕН"
API = "https://api.kodari.ru/msg/bot.php"
HEADERS = {"Authorization": f"Bearer {TOKEN}"}
with open("photo.jpg", "rb") as f:
r = requests.post(
API + "?method=sendPhoto",
headers=HEADERS,
data={"chat_id": 123, "caption": "Привет!"},
files={"media": f},
)
print(r.json())
Пример curl
curl -X POST "https://api.kodari.ru/msg/bot.php?method=sendPhoto" \
-H "Authorization: Bearer bot_ВАШ_ТОКЕН" \
-F "chat_id=123" \
-F "caption=Привет!" \
-F "media=@photo.jpg"