Перейти к содержимому

Файлы и ссылки на них

Обновлено 17 октября 2026

Входящие файлы

Фото, видео, голосовые, документы и стикеры Gratio забирает к себе сразу при приёме: ссылки самих мессенджеров временные. В уведомлении и в истории у файла — downloadUrl, ссылка на хранилище Gratio:

https://api.gratio.net/media/{idInstance}/{chatId}/{idMessage}/{номер файла}/{подпись}
  • Ссылка подписанная: токен канала для скачивания не нужен, ссылку можно отдать в браузер оператора или в CRM.
  • Ответ — сам файл с его Content-Type. Неверная подпись — 404.
  • У альбома (несколько файлов в одном сообщении) у каждого файла своя ссылка: первый — в fileMessageData, остальные — в additionalFiles.
  • У письма с несколькими вложениями — по ссылке на каждое, письмо целиком (.eml) — отдельной ссылкой.

Ссылка не истекает, но важные файлы стоит сохранять у себя: файл нужен вашему приложению дольше, чем переписка в канале.

Ссылку на файл старого сообщения, которого нет в журнале, даёт downloadFile:

curl -X POST "$GRATIO_URL/waInstance$GRATIO_ID/downloadFile/$GRATIO_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"chatId": "8695836", "idMessage": "117428960974949548"}'

Ответ 200 OK:

{"downloadUrl": "https://api.gratio.net/media/7100000001/8695836/117428960974949548/0/d8f9…"}

Исходящие файлы

Три способа отправить файл — см. sendFileByUpload:

Способ Когда удобно
sendFileByUpload файл у приложения: отправить одним запросом multipart/form-data
sendFileByUrl файл лежит по публичной ссылке
uploadFile + sendFileByUrl один файл — многим получателям: загрузить один раз, отправлять по ссылке

Ссылку на отправленный файл (urlFile) Gratio возвращает в ответе — она того же вида, что downloadUrl.

Типы и пределы

  • Файл — до 100 МБ (почта — письмо целиком до 20 МБ).
  • Тип картинки Gratio определяет по содержимому (JPEG, PNG, GIF, WebP), а не по имени файла.
  • Картинка уходит фото, видео — видео, остальное — документом. Если мессенджер не принял картинку как фото, она уходит документом.
  • OGG/Opus в Telegram и WhatsApp уходит голосовым сообщением с длительностью, как из приложения.
  • WhatsApp: MP3, M4A, AAC, AMR — аудио (без подписи); WAV, WebP, GIF — документом.
  • Аватар группы — только JPEG.

Скачивание по ссылке

Gratio скачивает файл по ссылке сам. Ссылка должна вести на публичный адрес http(s) — не во внутреннюю сеть и не на localhost, без перенаправлений. Иначе — 400 bad_url или url_unavailable.

Аватары

Фото профиля и группы — getAvatar, getContactInfo.avatar, getGroupData.urlAvatar. В Telegram у фото нет публичных ссылок: Gratio скачивает фото и отдаёт свою подписанную ссылку того же вида.

Записи звонков

Запись разговора, который вёл сервер Gratio, — WAV, моно, 16 кГц, подписанная ссылка без токена:

https://api.gratio.net/calls/{idInstance}/{callId}/{подпись}.wav

См. Звонки: как это работает.

Что дальше

Была ли статья полезна?