WAIXAPI

Изображения, документы, аудио и видео

Как загрузить файл, отправить его в WhatsApp и получить ссылку для просмотра.

WhatsApp Business API · Документация WAIX

Загрузить файл

bash
curl --fail-with-body "$WAIX_BASE/media" \
  -H "Authorization: Bearer $WAIX_API_KEY" \
  -F "connection_id=$WAIX_CONNECTION_ID" \
  -F "file=@./invoice.pdf"

POST /media использует multipart/form-data и media:write. Не задавайте Content-Type вручную: boundary добавит HTTP-клиент. WAIX принимает один файл до 32 MiB; ограничения типа, формата и Meta могут быть строже.

Какой ID использовать

Ответ содержит внутренний id файла WAIX и provider_media_id у Meta. В поле media.id сообщения передаётся provider_media_id. Внутренний UUID используется для /media/{id}/url, удаления и поля media_object_id.

json
{
  "connection_id": "11111111-1111-4111-8111-111111111111",
  "to": "77011234567",
  "type": "document",
  "media": {"id": "META_MEDIA_ID", "filename": "invoice.pdf", "caption": "Ваш документ"}
}

Отправить по ссылке

Вместо media.id можно передать media.link с доступной HTTPS-ссылкой. Передавайте ровно одно из двух. Ссылка не должна требовать входа или содержать секретные параметры. Проверьте MIME и содержимое файла, а не только расширение.

Хранение

GET /media возвращает ваши файлы. GET /media/{id}/url выдаёт временную ссылку и expires_in; обновляйте её после истечения срока. DELETE /media/{id} удаляет файл из хранилища WAIX и возвращает 204. Это не отзывает уже доставленное сообщение у клиента.

Остался вопрос по этой инструкции?Написать в поддержку →