Изображения, документы, аудио и видео
Как загрузить файл, отправить его в WhatsApp и получить ссылку для просмотра.
Загрузить файл
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.
{
"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. Это не отзывает уже доставленное сообщение у клиента.