Загрузка аудиосообщения

Допустимые форматы: OGG, OPUS.

Ограничения:

  • Частота дискретизации — 16 кГц.
  • Битрейт — 16 Кбит/с.
  • Длительность — не более 60 минут.

Получение адреса

Чтобы получить адрес для загрузки аудиосообщения, вызовите метод docs.getMessagesUploadServer с параметром type=audio_message.

Запрос

Bash
curl -X POST 'https://api.vk.ru/method/docs.getMessagesUploadServer' \ -H 'Authorization: Bearer <КЛЮЧ_ДОСТУПА>' \ -F 'type=audio_message' \ -F 'v=5.131'

Ответ

JSON
{ "response":{ "upload_url":"https:\/\/pu.vk.ru\/c874331\/upload.php?act=add_doc_new&mid=743784474&aid=-1&gid=0&type=audio_message&peer_id=0&rhash=682834f793150106905f817ed71df436&api=1&server=874331&_origin=https%3A%2F%2Fapi.vk.ru&_sig=3a261f2a2d74202814e5c580f59c0238" } }

Передача файла

Запрос

Чтобы передать файл, используйте:

  • Адрес upload_url из раздела Получение адреса.
  • HTTP-глагол POST.
  • Поле file.
  • HTTP-формат multipart/form-data.
Bash
curl -X POST '<UPLOAD_URL>' \ -F 'file=@<ПОЛНЫЙ_ПУТЬ_К_АУДИОЗАПИСИ>'

Примечание. Чтобы отправить корректный запрос, удалите экранирование (символ \) из параметра upload_url.

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

Bash
curl -X POST 'https://pu.vk.ru/gu-s/photo/v2/bulk_upload?token=eyJ0eXAiOiJKV1...6KmDD2CcXgZhimJYj5kE' \ -F 'file1=@C:/path/file-name1.png' \ -F 'file2=@C:/path/file-name2.png' \ -F 'file3=@C:/path/file-name3.png'

Ответ

После успешной загрузки сервер возвращает JSON-объект:

Поле
Тип
Описание
file
string
Информация о загруженном аудиосообщении.

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

JSON
{ "file":"743784474|0|-1|874331|3ee14eeae1|ogg|7363|Record.opus|1df3c44693e06afe0b6018165d885f54|8868cd7c3d7b92f2eb0049617b0fb283||||eyJkaXNrIjo1NywiYXVkaW9fbXNnIjp7ImR1cmF0aW9uIjozLjk3MDAwMDAwMDAwMDAwMDIsIndhdmVmb3JtIjoiMzI6MDAxcDExMTExMTEwMDEwMTExMTExMTEwMnZxMjEyMjAwZGlkNDIwMDViOTk4OTg3Njg1OWhtMzEwMWRhNTMxMjMyaGltbGlqaGVkZGJjZGQ0MTAwMDAwYmhoNDAxN2E4MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAifX0=" }

Сохранение результата

Чтобы сохранить аудиосообщение в профиле, вызовите метод docs.save с параметрами, полученными на предыдущем этапе.

Запрос

Bash
curl -X POST 'https://api.vk.ru/method/docs.save' \ -H 'Authorization: Bearer <КЛЮЧ_ДОСТУПА>' \ -F 'file=743784474|0|-1|874331|3ee14eeae1|ogg|7363|Record.opus|1df3c44693e06afe0b6018165d885f54|8868cd7c3d7b92f2eb0049617b0fb283||||eyJkaXNrIjo1NywiYXVkaW9fbXNnIjp7ImR1cmF0aW9uIjozLjk3MDAwMDAwMDAwMDAwMDIsIndhdmVmb3JtIjoiMzI6MDAxcDExMTExMTEwMDEwMTExMTExMTEwMnZxMjEyMjAwZGlkNDIwMDViOTk4OTg3Njg1OWhtMzEwMWRhNTMxMjMyaGltbGlqaGVkZGJjZGQ0MTAwMDAwYmhoNDAxN2E4MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAifX0=' \ -F 'v=5.131'

Ответ

JSON
{ "response":{ "type":"audio_message", "audio_message":{ "duration":3, "id":657681015, "link_mp3":"https:\/\/psv4.userapi.com\/s\/v1\/amsg\/5_mCzdAdRsTNVEB-Zk2D12FJWIgiYYnQucn-l57Jclnl_JWE2tm-41wj09t4xdLZczjO.mp3", "link_ogg":"https:\/\/psv4.userapi.com\/s\/v1\/amsg\/LAFdzsfuUVIGQU_Ei4yMUTBj0Cl8J-Kx5rsx5pHwQoa3alTzTbSmzcmni5NxojoCVDLT.ogg", "owner_id":743784474, "access_key":"WsNUBysg38aIGjYD6zRxicVDfAEhPkfNw01mVfEhJ8P", "waveform":[0,0,1,25,1,1,1,1,1,1,1,0,0,1,0,1,1,1,1,1,1,1,1,0,2,31,26,2,1,2,2,0,0,13,18,13,4,2,0,0,5,11,9,9,8,9,8,7,6,8,5,9,17,22,3,1,0,1,13,10,5,3,1,2,3,2,17,18,22,21,18,19,17,14,13,13,11,12,13,13,4,1,0,0,0,0,0,11,17,17,4,0,1,7,10,8,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] } } }

Публикация аудиозаписи

Чтобы опубликовать аудиосообщение, используйте метод messages.send с параметром attachment.

Запрос

Bash
curl -X POST 'https://api.vk.ru/method/messages.send' \ -H 'Authorization: Bearer <КЛЮЧ_ДОСТУПА>' \ -F 'user_id=743784474' \ -F 'random_id=12345678' \ -F 'attachment=audio_message743784474_657681015' \ -F 'v=5.131'

Ответ

JSON
{ "response":7 }