Class: WhatsAppCloudApi::BusinessProfilesController
- Inherits:
-
BaseController
- Object
- BaseController
- WhatsAppCloudApi::BusinessProfilesController
- Defined in:
- lib/whats_app_cloud_api/controllers/business_profiles_controller.rb
Overview
BusinessProfilesController
Instance Attribute Summary
Attributes inherited from BaseController
Instance Method Summary collapse
-
#get_business_profile_id(phone_number_id, fields: nil) ⇒ GetBusinessProfileIDResponse
Use this endpoint to retrieve your business’ profile.
-
#initialize(config, http_call_back: nil) ⇒ BusinessProfilesController
constructor
A new instance of BusinessProfilesController.
-
#update_business_profile(phone_number_id, body) ⇒ SuccessResponse
Use this endpoint to update your business’ profile information such as the business description, email or address.
Methods inherited from BaseController
#execute_request, #get_user_agent, #validate_parameters, #validate_response
Constructor Details
#initialize(config, http_call_back: nil) ⇒ BusinessProfilesController
Returns a new instance of BusinessProfilesController.
9 10 11 |
# File 'lib/whats_app_cloud_api/controllers/business_profiles_controller.rb', line 9 def initialize(config, http_call_back: nil) super(config, http_call_back: http_call_back) end |
Instance Method Details
#get_business_profile_id(phone_number_id, fields: nil) ⇒ GetBusinessProfileIDResponse
Use this endpoint to retrieve your business’ profile. This business profile is visible to consumers in the chat thread next to the profile photo. The profile information will contain a business profile ID which you can use to make API calls. want to know from your business as a comma separated list of fields. Available fields include: id, about, messaging_product, address, description, vertical, email, websites, profile_picture_url
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/whats_app_cloud_api/controllers/business_profiles_controller.rb', line 60 def get_business_profile_id(phone_number_id, fields: nil) # Prepare query url. _query_builder = config.get_base_uri _query_builder << '/{Phone-Number-ID}/whatsapp_business_profile' _query_builder = APIHelper.append_url_with_template_parameters( _query_builder, 'Phone-Number-ID' => { 'value' => phone_number_id, 'encode' => true } ) _query_builder = APIHelper.append_url_with_query_parameters( _query_builder, 'fields' => fields ) _query_url = APIHelper.clean_url _query_builder # Prepare headers. _headers = { 'accept' => 'application/json' } # Prepare and execute HttpRequest. _request = config.http_client.get( _query_url, headers: _headers ) OAuth2.apply(config, _request) _response = execute_request(_request) validate_response(_response) # Return appropriate response type. decoded = APIHelper.json_deserialize(_response.raw_body) GetBusinessProfileIDResponse.from_hash(decoded) end |
#update_business_profile(phone_number_id, body) ⇒ SuccessResponse
Use this endpoint to update your business’ profile information such as the business description, email or address.
18 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 |
# File 'lib/whats_app_cloud_api/controllers/business_profiles_controller.rb', line 18 def update_business_profile(phone_number_id, body) # Prepare query url. _query_builder = config.get_base_uri _query_builder << '/{Phone-Number-ID}/whatsapp_business_profile' _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) SuccessResponse.from_hash(decoded) end |