Class: WhatsAppCloudApi::MessagesController
- Inherits:
-
BaseController
- Object
- BaseController
- WhatsAppCloudApi::MessagesController
- Defined in:
- lib/whats_app_cloud_api/controllers/messages_controller.rb
Overview
MessagesController
Instance Attribute Summary
Attributes inherited from BaseController
Instance Method Summary collapse
-
#initialize(config, http_call_back: nil) ⇒ MessagesController
constructor
A new instance of MessagesController.
-
#send_message(phone_number_id, body) ⇒ SendMessageResponse
Use this endpoint to send text messages, media, message templates to your customers.
Methods inherited from BaseController
#execute_request, #get_user_agent, #validate_parameters, #validate_response
Constructor Details
#initialize(config, http_call_back: nil) ⇒ MessagesController
Returns a new instance of MessagesController.
9 10 11 |
# File 'lib/whats_app_cloud_api/controllers/messages_controller.rb', line 9 def initialize(config, http_call_back: nil) super(config, http_call_back: http_call_back) end |
Instance Method Details
#send_message(phone_number_id, body) ⇒ SendMessageResponse
Use this endpoint to send text messages, media, message templates to your customers. first assemble a message object with the content you want to send.
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/whats_app_cloud_api/controllers/messages_controller.rb', line 19 def (phone_number_id, body) # Prepare query url. _query_builder = config.get_base_uri _query_builder << '/{Phone-Number-ID}/messages' _query_builder = APIHelper.append_url_with_template_parameters( _query_builder, 'Phone-Number-ID' => { 'value' => phone_number_id, 'encode' => true } ) _query_url = APIHelper.clean_url _query_builder # Prepare headers. _headers = { 'accept' => 'application/json', 'Content-Type' => 'application/json' } # Prepare and execute HttpRequest. _request = config.http_client.post( _query_url, headers: _headers, parameters: body.to_json ) OAuth2.apply(config, _request) _response = execute_request(_request) validate_response(_response) # Return appropriate response type. decoded = APIHelper.json_deserialize(_response.raw_body) SendMessageResponse.from_hash(decoded) end |