From 1dc034a2c7561df5370f027bf725ba739ac865c6 Mon Sep 17 00:00:00 2001 From: sahilas Date: Mon, 15 Apr 2024 18:13:43 +0530 Subject: [PATCH 1/4] Update messages.rb --- lib/whatsapp_sdk/api/messages.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/whatsapp_sdk/api/messages.rb b/lib/whatsapp_sdk/api/messages.rb index 298f19e..9ef8b59 100644 --- a/lib/whatsapp_sdk/api/messages.rb +++ b/lib/whatsapp_sdk/api/messages.rb @@ -240,7 +240,7 @@ def send_video( ).returns(Api::Response) end def send_document( - sender_id:, recipient_number:, document_id: nil, link: nil, caption: "", message_id: nil + sender_id:, recipient_number:, document_id: nil, link: nil, caption: "", message_id: nil, filename: nil ) if !document_id && !link raise Resource::Errors::MissingArgumentError, @@ -258,6 +258,7 @@ def send_document( else { id: document_id, caption: caption } end + params[:document] = params[:document].merge({ filename: filename }) if filename params[:context] = { message_id: message_id } if message_id response = send_request( From abbcb5514538408cf36f62fea6999b1ff4d0df80 Mon Sep 17 00:00:00 2001 From: sahilas Date: Mon, 15 Apr 2024 18:24:13 +0530 Subject: [PATCH 2/4] Update whatsapp_sdk.gemspec --- whatsapp_sdk.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/whatsapp_sdk.gemspec b/whatsapp_sdk.gemspec index 18d803a..839b892 100644 --- a/whatsapp_sdk.gemspec +++ b/whatsapp_sdk.gemspec @@ -24,7 +24,7 @@ Gem::Specification.new do |spec| # to allow pushing to a single host or delete this section to allow pushing to any host. if spec.respond_to?(:metadata) spec.metadata["homepage_uri"] = spec.homepage - spec.metadata["source_code_uri"] = "https://github.com/ignacio-chiazzo/ruby_whatsapp_sdk" + spec.metadata["source_code_uri"] = "https://github.com/sahilas/ruby_whatsapp_sdk" spec.metadata["changelog_uri"] = "https://github.com/ignacio-chiazzo/ruby_whatsapp_sdk/blob/main/CHANGELOG.md" else raise "RubyGems 2.0 or newer is required to protect against " \ From 90bb2d219fa11f1876e9b15485cf294cbaaa1303 Mon Sep 17 00:00:00 2001 From: sahilas Date: Mon, 15 Apr 2024 18:38:07 +0530 Subject: [PATCH 3/4] Update messages.rb --- lib/whatsapp_sdk/api/messages.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/whatsapp_sdk/api/messages.rb b/lib/whatsapp_sdk/api/messages.rb index 9ef8b59..bb7c5c7 100644 --- a/lib/whatsapp_sdk/api/messages.rb +++ b/lib/whatsapp_sdk/api/messages.rb @@ -236,7 +236,7 @@ def send_video( params( sender_id: Integer, recipient_number: Integer, document_id: T.nilable(String), link: T.nilable(String), caption: String, - message_id: T.nilable(String) + message_id: T.nilable(String), filename: T.nilable(String) ).returns(Api::Response) end def send_document( From 3399da67f7a060eb8d5af7059fcfe4cb5682ffb0 Mon Sep 17 00:00:00 2001 From: Ignacio Chiazzo Cardarello Date: Wed, 1 May 2024 10:09:25 -0300 Subject: [PATCH 4/4] Added test for document's filename --- README.md | 2 ++ test/whatsapp/api/messages_test.rb | 23 +++++++++++++++++++++++ whatsapp_sdk.gemspec | 2 +- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c18e431..a928930 100644 --- a/README.md +++ b/README.md @@ -333,6 +333,8 @@ messages_api.send_document( ) ``` +Note, you can specify the filename via file [`filename` argument](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages). + **Send a sticker message** It could use a link or a sticker_id. diff --git a/test/whatsapp/api/messages_test.rb b/test/whatsapp/api/messages_test.rb index 439b630..defc806 100644 --- a/test/whatsapp/api/messages_test.rb +++ b/test/whatsapp/api/messages_test.rb @@ -373,6 +373,29 @@ def test_send_document_message_with_a_link assert_predicate(message_response, :ok?) end + def test_send_document_message_with_file_name + @messages_api.expects(:send_request).with( + endpoint: "123123/messages", + params: { + messaging_product: "whatsapp", + to: 56_789, + recipient_type: "individual", + type: "document", + document: { link: document_link, caption: "Ignacio Chiazzo Profile" } + filename: "custom_name" + }, + headers: { "Content-Type" => "application/json" } + ).returns(valid_response(valid_contacts, valid_messages)) + + message_response = @messages_api.send_document( + sender_id: 123_123, recipient_number: 56_789, + link: document_link, caption: "Ignacio Chiazzo Profile", filename: "custom_name" + ) + + assert_mock_response(valid_contacts, valid_messages, message_response) + assert_predicate(message_response, :ok?) + end + def test_send_document_message_with_a_document_id document_id = "12_345" @messages_api.expects(:send_request).with( diff --git a/whatsapp_sdk.gemspec b/whatsapp_sdk.gemspec index 839b892..18d803a 100644 --- a/whatsapp_sdk.gemspec +++ b/whatsapp_sdk.gemspec @@ -24,7 +24,7 @@ Gem::Specification.new do |spec| # to allow pushing to a single host or delete this section to allow pushing to any host. if spec.respond_to?(:metadata) spec.metadata["homepage_uri"] = spec.homepage - spec.metadata["source_code_uri"] = "https://github.com/sahilas/ruby_whatsapp_sdk" + spec.metadata["source_code_uri"] = "https://github.com/ignacio-chiazzo/ruby_whatsapp_sdk" spec.metadata["changelog_uri"] = "https://github.com/ignacio-chiazzo/ruby_whatsapp_sdk/blob/main/CHANGELOG.md" else raise "RubyGems 2.0 or newer is required to protect against " \