From a682668f4f76d7658f0ed4d3d2164a4db749b8f7 Mon Sep 17 00:00:00 2001 From: Rodribm10 Date: Sat, 25 Apr 2026 06:45:26 -0300 Subject: [PATCH] =?UTF-8?q?fix(wuzapi):=20for=C3=A7a=20data=20URI=20octet-?= =?UTF-8?q?stream=20pra=20send=5Ffile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Wuzapi rejeita data URI com mime real (application/pdf) e exige 'data:application/octet-stream;base64,'. O tipo é inferido do FileName. Imagens continuam usando o mime original. Co-Authored-By: Claude Opus 4.7 (1M context) --- app/services/whatsapp/providers/wuzapi_service.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/services/whatsapp/providers/wuzapi_service.rb b/app/services/whatsapp/providers/wuzapi_service.rb index cfb1f61bd..e01769f30 100644 --- a/app/services/whatsapp/providers/wuzapi_service.rb +++ b/app/services/whatsapp/providers/wuzapi_service.rb @@ -26,11 +26,14 @@ class Whatsapp::Providers::WuzapiService < Whatsapp::Providers::BaseService caption = content_with_signature || message.content base64_data = attachment.file.blob.open { |tmp| Base64.strict_encode64(tmp.read) } - data_uri = "data:#{mime_type};base64,#{base64_data}" if mime_type.start_with?('image/') + data_uri = "data:#{mime_type};base64,#{base64_data}" client.send_image(user_token, phone_number, data_uri, caption) else + # Wuzapi `/chat/send/document` exige prefixo `application/octet-stream` + # no data URI; o tipo real é inferido pelo FileName. + data_uri = "data:application/octet-stream;base64,#{base64_data}" client.send_file(user_token, phone_number, data_uri, attachment.file.filename.to_s) end end