From b97a56d43c59f825bf2019683822b986fa4d983b Mon Sep 17 00:00:00 2001 From: Rodribm10 Date: Sat, 25 Apr 2026 06:38:11 -0300 Subject: [PATCH] =?UTF-8?q?fix(wuzapi):=20payload=20de=20/chat/send/docume?= =?UTF-8?q?nt=20espera=20Document,=20n=C3=A3o=20Body?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Wuzapi retornou 400 'missing Document in Payload'. O campo correto pra PDF é Document + FileName. Mantém Body/Filename pra fallback em versões antigas. Co-Authored-By: Claude Opus 4.7 (1M context) --- app/services/wuzapi/client.rb | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/services/wuzapi/client.rb b/app/services/wuzapi/client.rb index 7e369f5a1..69815dfe7 100644 --- a/app/services/wuzapi/client.rb +++ b/app/services/wuzapi/client.rb @@ -56,9 +56,16 @@ class Wuzapi::Client # rubocop:disable Metrics/ClassLength end def send_file(user_token, phone_number, base64_data, filename) - payload = { 'Phone' => phone_number, 'Body' => base64_data, 'Filename' => filename } - # Wuzapi usa `/chat/send/document` pra PDFs/arquivos. As versões antigas - # tinham `/chat/send/file` — mantém como fallback pra compat. + # Wuzapi (asternic) `/chat/send/document` espera o campo `Document` + # (data URI base64). `Body`/`Filename` ficam só pra fallback de versões + # mais antigas que aceitavam isso. + payload = { + 'Phone' => phone_number, + 'Document' => base64_data, + 'FileName' => filename, + 'Body' => base64_data, + 'Filename' => filename + } request( :post, '/chat/send/document',