ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ

SendFileByUpload#

Test Postman Apidog

Для ΠΌΠ΅Ρ‚ΠΎΠ΄Π° SendFileByUpload рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ хост media.green-api.com

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ„Π°ΠΉΠ»Π°, Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Ρ‡Π΅Ρ€Π΅Π· Ρ„ΠΎΡ€ΠΌΡƒ (form-data). Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ, Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅ Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ссылку Π½Π° Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ». Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСний ΠΈΠ· ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π» ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСний.

Π€Π°ΠΉΠ»Ρ‹ Π²ΠΈΠ΄Π΅ΠΎ, Π°ΡƒΠ΄ΠΈΠΎ ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ, ΠΊΠ°ΠΊ ΠΈ Π² Ρ€ΠΎΠ΄Π½ΠΎΠΌ WhatsApp с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ просмотра ΠΈ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΊΠΈ. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ Π² Ρ€ΠΎΠ΄Π½ΠΎΠΌ WhatsApp. Π’ΠΈΠΏ отправляСмого Ρ„Π°ΠΉΠ»Π° ΠΈ способ Π΅Π³ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ опрСдСляСтся ΠΏΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡŽ Ρ„Π°ΠΉΠ»Π°. ОписаниС добавляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ изобраТСниям ΠΈ Π²ΠΈΠ΄Π΅ΠΎ.

Π€Π°ΠΉΠ»Ρ‹

ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ отправляСмых Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π°Π²Π΅Π½ 100 ΠœΠ±Π°ΠΉΡ‚.

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠ΄Π½ΠΈΠΌ запросом Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°. 1 Ρ„Π°ΠΉΠ» отправляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 1 сообщСниСм. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ формируСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° сторонС прилоТСния WhatsApp.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π½Π΅Ρ‚. Однако ΠΏΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· API с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ²Ρ‹ΡˆΠ΅ 3000Ρ…3000 пиксСлСй, ΠΏΡ€Π΅Π²ΡŒΡŽ Π½Π΅ формируСтся.

Бписок Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· API

Π‘Ρ€ΠΎΠΊ дСйствия ссылки 15 Π΄Π½Π΅ΠΉ.

Бсылку ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ SendFileByUrl.

Запрос#

Для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ„Π°ΠΉΠ»Π° трСбуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ запрос ΠΏΠΎ адрСсу:

POST
{{mediaUrl}}/waInstance{{idInstance}}/sendFileByUpload/{{apiTokenInstance}}

Для получСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² запроса mediaUrl, idInstance ΠΈ apiTokenInstance ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Ρ€Π°Π·Π΄Π΅Π»Ρƒ ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса#

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π’ΠΈΠΏ ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ОписаниС
chatId string Π”Π° Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‡Π°Ρ‚Π°
file file Π”Π° ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ»
fileName string НСт НазваниС Ρ„Π°ΠΉΠ»Π°. Π”ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°. ВрСбуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ UTF-8 Π±Π΅Π· BOM. НапримСр: test.jpg
caption string НСт ОписаниС ΠΏΠΎΠ΄ Ρ„Π°ΠΉΠ»ΠΎΠΌ. ОписаниС добавляСтся ΠΊ Π²ΠΈΠ΄Π΅ΠΎ, изобраТСниям, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ, Ρ„Π°ΠΉΠ»Π°ΠΌ. Максимальная Π΄Π»ΠΈΠ½Π° поля 20000 символов.
quotedMessageId string НСт Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ†ΠΈΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ сообщСния. ΠŸΡ€ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° сообщСниС отправится с Ρ†ΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ сообщСния Ρ‡Π°Ρ‚Π°.
Π¦ΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сообщСния Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‡Π°Ρ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ производится ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ°.
Для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСний ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‡Π°Ρ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ ForwardMessages
typingTime integer НСт ВрСмя ΠΏΠΎΠΊΠ°Π·Π° увСдомлСния Π½Π°Π±ΠΎΡ€Π° сообщСния Π² Ρ‡Π°Ρ‚Π΅ собСсСдника.
ВрСмя ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ значСниями ΠΎΡ‚ 1000 Π΄ΠΎ 20000 миллисСкунд (ΠΎΡ‚ 1 Π΄ΠΎ 20 сСкунд).
typingType string НСт Π’ΠΈΠΏ Π½Π°Π±ΠΎΡ€Π° сообщСния. Для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ увСдомлСния для записи Π°ΡƒΠ΄ΠΈΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ строку recording

ВрСмя Π½Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Ρ„Π°ΠΉΠ»Π°

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² происходит Π² нСсколько этапов:

  1. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°
  2. Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„Π°ΠΉΠ»Π° Π½Π° сСрвСр WhatsApp
  3. Запрос Π½Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Ρ„Π°ΠΉΠ»Π° Π² WhatsApp

ВрСмя Π½Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Ρ„Π°ΠΉΠ»Π° зависит ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π°, скорости получСния Ρ„Π°ΠΉΠ»Π° ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ„Π°ΠΉΠ»Π° WhatsApp. Π’ зависимости ΠΎΡ‚ Π΄Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² врСмя Π½Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΎΡ‚ 1 Π΄ΠΎ 20 сСкунд.

Π¦ΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сообщСний

Для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ цитирования сообщСний систСма Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π½Π°Ρ‚ΡŒ ΠΎ сообщСнии, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ†ΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ. УбСдится ΠΎ Ρ‚ΠΎΠΌ Ρ‡Ρ‚ΠΎ сообщСниС доступно ΠΊ Ρ†ΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ запросив ΠΌΠ΅Ρ‚ΠΎΠ΄ Турналирования getMessage, Ссли сообщСниС отсутствуСт Π² систСмС, Ρ‚ΠΎ Ρ†ΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ сообщСниС Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

  • Для цитирования входящих сообщСний Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ настройку ΠŸΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ увСдомлСния ΠΎ входящих сообщСниях ΠΈ Ρ„Π°ΠΉΠ»Π°Ρ….

  • Для цитирования исходящих сообщСний ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… с Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ настройку ΠŸΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ увСдомлСния ΠΎ сообщСниях, ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… с Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°.
    Π’Π°ΠΊ сообщСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ΡŒ Π² систСму ΠΈ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ†ΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Установку настроСк ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ SetSettings ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚.

ΠžΡ‚Π²Π΅Ρ‚#

Поля ΠΎΡ‚Π²Π΅Ρ‚Π°#

ПолС Вип ОписаниС
idMessage string Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ сообщСния
urlFile string Бсылка Π½Π° Ρ„Π°ΠΉΠ» (срок дСйствия ссылки 15 Π΄Π½Π΅ΠΉ)

"Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ срокС хранСния Ρ„Π°ΠΉΠ»Π° Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ GREEN-API?"

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π° ΠΎΡ‚Π²Π΅Ρ‚Π°#

{
    "idMessage": "3EB0C767D097B7C7C030",
    "urlFile": "https://sw-media-out.storage.yandexcloud.net/1101776123/c1aabd48-c1c2-49b1-8f2d-f575a41777be.jpg"
}

Ошибки SendFileByUpload#

ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΎΠ±Ρ‰ΠΈΡ… для всСх ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ошибок смотритС Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ ошибки

Код HTTP Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ошибки ОписаниС
200 failed to upload file ΠŸΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ 100ΠΊΠ± Π² Ρ‚Π΅Π»Π΅ запроса
400 failed to upload file ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»Π΅ chatId / ΠŸΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚ лишнСС ΠΏΠΎΠ»Π΅ / Π£ΠΊΠ°Π·Π°Π½ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ messageId для Ρ†ΠΈΡ‚Π°Ρ‚Ρ‹ / ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ» / НСвСрный Ρ‚ΠΈΠΏ поля / Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π΅ form-data / НСкоррСктный Π½ΠΎΠΌΠ΅Ρ€
400 Bad Request
Validation failed
Ошибка Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ
400 file should not be empty ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» пустой Ρ„Π°ΠΉΠ». Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ пустым.
413 request entity too large ΠŸΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ допустимого Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π° (~99.9mb)
Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ 1Π‘ (вСрсия 8.3.22.1923). Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅: Π‘ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ 1Π‘
500 Internal Server Error
failed to upload file
ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»Π΅ file
500 Internal Server Error Π£ΠΊΠ°Π·Π°Π½ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ для запроса. Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ POST ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° с Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Ρ†ΠΈΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ сообщСния

Π’ случаС Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ указания quotedMessageId, систСма Π²Π΅Ρ€Π½Ρ‘Ρ‚ ΠΊΠΎΠ΄ 200 ΠΈ id отправляСмого сообщСния, Π½ΠΎ ΠΎΠ½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ доставлСно ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŽ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π° запроса#

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°

import requests

url = "{{mediaUrl}}/waInstance{{idInstance}}/sendFileByUpload/{{apiTokenInstance}}"

payload = {'chatId': '79876543210@c.us',
'caption': 'ОписаниС'}
files = [
  ('file', ('window.jpg', open('C:/window.jpg','rb'),'image/jpeg'))
]
headers= {}

response = requests.post(url, data=payload, files=files)

print(response.text.encode('utf8'))
curl --location '{{mediaUrl}}/waInstance{{idInstance}}/sendFileByUpload/{{apiTokenInstance}}' \
--form 'chatId="12345678910@c.us"' \
--form 'file=@"/Users/you/files/file.jpeg"' \
--form 'fileName="file.jpg"'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{mediaUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/sendFileByUpload/")
    .append({{apiTokenInstance}});

var headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);

var form = new LinkedMultiValueMap<>();
    form.add("chatId", "12345678910@c.us");
    form.add("file", new FileSystemResource(new File("/Users/you/files/file.jpeg")));
    form.add("fileName", file.jpg);
    form.add("caption", "ОписаниС");
    form.add("quotedMessageId", "BAE5F4886F6F2D05");

var requestEntity = new HttpEntity<>(form, headers);

var response = restTemplate.exchange(requestUrl.toString(), HttpMethod.POST, requestEntity, String.class);
System.out.println(response);
var file = new File("/Users/user/Desktop/fileExample.jpeg");
var requestUrl = new StringBuilder();
requestUrl
    .append({{mediaUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/sendFileByUpload/")
    .append({{apiTokenInstance}});

var form = new HashMap<String, Object>();
    form.put("chatId", dto.getChatId());
    form.put("file", dto.getFile());
    form.put("fileName", dto.getFileName());
    form.put("caption", dto.getCaption());
    form.put("quotedMessageId", dto.getQuotedMessageId());

var response = Unirest.post(requestUrl.toString())
    .fields(form)
    .asString();

System.out.println(response);
program sendFileByUpload;

{$APPTYPE CONSOLE}

uses
  System.SysUtils,
  System.Classes, System.Net.HttpClient, System.Net.Mime, System.Net.URLClient, System.Net.HttpClientComponent;

var
  HttpClient: TNetHTTPClient;
  Response: IHTTPResponse;
  FormData: TMultipartFormData;
  EndpointURL, MEDIA_URL, ID_INSTANCE, API_TOKEN_INSTANCE: string;

begin
  MEDIA_URL := 'https://media.green-api.com';
  ID_INSTANCE := '110100001';
  API_TOKEN_INSTANCE := 'd75b3a66374942c5b3c019c698abc2067e151558acbd451234';

  EndpointURL := MEDIA_URL +'/waInstance' + ID_INSTANCE + '/sendFileByUpload/' + API_TOKEN_INSTANCE;

  HttpClient := TNetHTTPClient.Create(nil);

  FormData := TMultipartFormData.Create();
  FormData.AddField('chatId', '71234567890@c.us');
  FormData.AddField('caption', 'test');
  FormData.AddFile('file', 'C:\tmp\bp.png');

  try
    Response := HTTPClient.Post(EndpointURL, FormData, nil);

    if Response.StatusCode = 200 then
      Writeln('[Response]: ' + Response.ContentAsString)
    else
      Writeln('[ERROR ' + IntToStr(Response.StatusCode) + ']:' + Response.StatusText + '' + Response.ContentAsString);

    readln;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;

  HttpClient.Free;
  FormData.Free;

end.