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

Медиа | Документация для разработчиков

СМИ

Обновлено: 11 декабря 2025 г
Для управления медиафайлами вы используете 4 различных точки доступа:
Конечная точка Применение
Загрузите медиафайлы.
Получите URL-адрес для конкретного медиафайла.
Удалите определенный медиафайл.
Загружайте медиафайлы по URL-адресу.
См. раздел «Поддерживаемые типы носителей» для получения информации о поддерживаемых типах и ограничениях по размеру.

Получить идентификатор медиафайла

Для некоторых запросов API, описанных в этом документе, требуется идентификатор медиафайла. Идентификаторы медиафайлов возвращаются API при загрузке медиафайлов и включаются во входящие сообщения веб-хуков ( сообщения с изображениями , сообщения с видео и т. д.).
Идентификаторы медиафайлов, возвращаемые API, истекают через 30 дней. Идентификаторы медиафайлов в веб-хуках истекают через 7 дней.

Загрузить медиафайлы

Для загрузки медиафайлов отправьте POST- запрос на адрес /PHONE_NUMBER_ID/media , указав параметры, перечисленные ниже. Все медиафайлы, отправленные через этот адрес, шифруются и сохраняются в течение 30 дней, если не будут удалены ранее.
Конечная точка Аутентификация
Разработчики могут аутентифицировать свои вызовы API с помощью токена доступа, сгенерированного в панели управления приложения > WhatsApp > Настройка API .
Партнеры по решениям должны пройти аутентификацию с помощью токена доступа, имеющего whatsapp_business_messaging .

Параметры

Имя Описание
файл
Необходимый.
Путь к файлу, хранящемуся в вашей локальной директории. Например: «@/local/path/file.jpg».
тип
Необходимый.
Тип загружаемого медиафайла. Дополнительную информацию «Поддерживаемые типы медиафайлов»
messaging_product
Необходимый.
Для отправки запроса используется мессенджер. В данном случае — WhatsApp .

Запрос

curl 'https://graph.facebook.com/<API_VERSION> /<PHONE_NUMBER_ID> /media' \ -H 'Авторизация: Bearer'<ACCESS_TOKEN> ' \ -F 'messaging_product=whatsapp' \ -F 'file=@<FILE_PATH_AND_NAME> ;type=<MIME_TYPE> '

Ответ

В случае успеха:
{ "идентификатор": "<MEDIA_ID> " }

Пример запроса

curl 'https://graph.facebook.com/v25.0/106540352242922/media' \ -H 'Авторизация: Bearer EAAJB...' \ -F 'messaging_product=whatsapp' \ -F 'file=@/media/template_assets/black_friday_2025.mp4;type=video/mp4'

Пример ответа

{ "id": "1037543291543636" }

Получить URL медиафайла

Вы можете напрямую запросить идентификатор медиафайла , чтобы получить URL-адрес медиафайла, который затем можно напрямую запросить с помощью вашего токена доступа для загрузки медиафайла . Обратите внимание, что входящие веб-хуки для медиасообщений ( сообщения с изображениями , видеосообщения и т. д.) содержат URL-адрес медиафайла, который присваивается url .
URL-адресов медиафайлов истекает через 5 минут , после чего необходимо повторно запросить идентификатор, чтобы получить новый URL-адрес.

Синтаксис запроса

curl 'https://graph.facebook.com/<API_VERSION> /<MEDIA_ID> ?phone_number_id=<BUSINESS_PHONE_NUMBER_ID> ' \ -H 'Авторизация: Предъявитель EAAJB'
Обратите внимание, что параметр phone_number_id является необязательным. Если он указан, запрос будет обработан только в том случае, если идентификатор номера телефона компании, указанный в запросе, совпадает с идентификатором номера телефона компании, на который был загружен медиафайл.

Синтаксис ответа

Успешный ответ включает объект с URL-адресом медиафайла. URL-адрес действителен только в течение 5 минут. Чтобы использовать этот URL-адрес, см. раздел «Загрузка медиафайлов» .
{ "messaging_product": "whatsapp", "url": "<MEDIA_URL> ", "mime_type": "<MEDIA_MIME_TYPE> ", "sha256": "<SHA_256_HASH> ", "file_size": "<MEDIA_FILE_SIZE> ", "идентификатор": "<MEDIA_ID> " }

Удалить медиафайлы

Используйте кнопку УДАЛИТЬ / Конечная точка для удаления медиафайла.

Синтаксис запроса

curl -X DELETE 'https://graph.facebook.com/<API_VERSION> /<MEDIA_ID> ?phone_number_id=<BUSINESS_PHONE_NUMBER_ID> ' \ -H 'Авторизация: Предъявитель EAAJB...'
Обратите внимание, что параметр phone_number_id является необязательным. Если он указан, запрос будет обработан только в том случае, если идентификатор номера телефона компании, указанный в запросе, совпадает с идентификатором номера телефона компании, на который был загружен медиафайл.

Пример ответа

{ "success": true }

Скачать медиафайл

Для загрузки медиафайлов выполните GET- запрос к URL-адресу медиафайла и укажите свой токен доступа. Если вы не укажете токен, запрос завершится неудачей.
Обратите внимание, что при получении медиафайла по идентификатору, полученному через веб-перехватчик, этот идентификатор будет доступен для загрузки только в течение 7 дней.

Синтаксис запроса

завиток '<MEDIA_URL> ' \ -H 'Авторизация: Предъявитель EAAJB...' \ -o '<DESIRED_FILE_NAME> '
В случае успеха API отправит двоичные данные медиафайла. Заголовки ответа содержат заголовок content-type, указывающий MIME-тип возвращаемых данных. Список поддерживаемых типов медиафайлов см. в соответствующем разделе.
Если попытка загрузки не удастся, вы получите 404 Not Found . В этом случае попробуйте получить новый URL-адрес медиафайла и загрузить его снова. Если это не решит проблему, обновите свой токен доступа и попробуйте загрузить медиафайл снова.

Поддерживаемые типы носителей

Аудио

Тип аудио Расширение Тип MIME Максимальный размер
ААК
.aac
аудио/аАК
16 МБ
АМР
.amr
аудио/амр
16 МБ
MP3
.mp3
аудио/мпег
16 МБ
MP4 Аудио
.m4a
аудио/мп4
16 МБ
OGG Audio
.ogg
audio/ogg (только кодеки OPUS; базовый формат audio/ogg не поддерживается; только монофонический вход)
16 МБ

Документ

Тип документа Расширение Тип MIME Максимальный размер
Текст
.текст
текст/простой
100 МБ
Microsoft Excel
.xls
application/vnd.ms-excel
100 МБ
Microsoft Excel
.xlsx
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
100 МБ
Microsoft Word
.doc
приложение/msword
100 МБ
Microsoft Word
.docx
application/vnd.openxmlformats-officedocument.wordprocessingml.document
100 МБ
Microsoft PowerPoint
.ppt
application/vnd.ms-powerpoint
100 МБ
Microsoft PowerPoint
.pptx
application/vnd.openxmlformats-officedocument.presentationml.presentation
100 МБ
PDF
.pdf
application/pdf
100 МБ

Изображение

Изображения должны быть 8-битными, в формате RGB или RGBA.
Тип изображения Расширение Тип MIME Максимальный размер
JPEG
.jpeg
изображение/jpeg
5 МБ
ПНГ
.png
изображение/png
5 МБ

Наклейка

Изображения в формате WebP можно отправлять только в сообщениях-стикерах .
Тип наклейки Расширение Тип MIME Максимальный размер
Анимированная наклейка
.webp
изображение/вебп
500 КБ
Статическая наклейка
.webp
изображение/вебп
100 КБ

Видео

Поддерживаются только видеокодек H.264 и аудиокодек AAC. Поддерживается только один аудиопоток или отсутствие аудиопотока.
Обратите внимание, что видео, закодированные с использованием профиля H.264 «High» и B-кадров, не поддерживаются клиентами WhatsApp для Android. Мы рекомендуем использовать профиль H.264 «Main» без B-кадров или профиль H.264 «Baseline» при кодировании (или перекодировании с помощью такого инструмента, как ffmpeg) и размещать блоки moov перед блоками mdat для большей совместимости. Если вы используете ffmpeg, вы можете использовать флаг -movflags в faststart, чтобы разместить блоки moov перед блоками mdata.
Тип видео Расширение Тип MIME Максимальный размер
3GPP
.3gp
видео/3gpp
16 МБ
Видео MP4
.mp4
видео/mp4
16 МБ
Обратите внимание, что несоответствие MIME-типа ( 131053 ) — распространённая ошибка. Проверьте ваши медиафайлы, чтобы убедиться в их MIME-типе. Убедитесь, что расширения файлов соответствуют их типам. Например, если вы используете UNIX, вы можете проверить файл через командную строку, чтобы определить его MIME-тип:
файл -I ваш-изображение-актив.png

Ограничения на загрузку медиасообщений

Максимально допустимый размер файла для медиасообщений в Cloud API составляет 100 МБ. В случае, если клиент отправит файл размером более 100 МБ, вы получите веб-хук с кодом ошибки 131052 и заголовком :
«Размер медиафайла слишком велик. Максимальный поддерживаемый нами размер файла: 100 МБ. Пожалуйста, свяжитесь с вашим клиентом, чтобы он отправил медиафайл меньшего размера, чем 100 МБ».
При срабатывании этого веб-перехватчика отправьте клиентам предупреждение о том, что их медиафайл превышает максимально допустимый размер.

Узнать больше