Class: WhatsappSdk::Api::BusinessProfile

Inherits:
Request
  • Object
show all
Defined in:
lib/whatsapp_sdk/api/business_profile.rb

Defined Under Namespace

Classes: InvalidVertical

Constant Summary collapse

DEFAULT_FIELDS =
'about,address,description,email,profile_picture_url,websites,vertical'

Instance Method Summary collapse

Methods inherited from Request

#download_file, #initialize, #send_request

Constructor Details

This class inherits a constructor from WhatsappSdk::Api::Request

Instance Method Details

#details(phone_number_id, fields: nil) ⇒ Object



41
42
43
44
# File 'lib/whatsapp_sdk/api/business_profile.rb', line 41

def details(phone_number_id, fields: nil)
  warn "[DEPRECATION] `details` is deprecated. Please use `get` instead."
  get(phone_number_id, fields: fields)
end

#get(phone_number_id, fields: nil) ⇒ Resource::BusinessProfile

Get the details of business profile.

Parameters:

  • phone_number_id (Integer)

    Phone Number Id.

Returns:



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/whatsapp_sdk/api/business_profile.rb', line 25

def get(phone_number_id, fields: nil)
  fields = if fields
             fields.join(',')
           else
             DEFAULT_FIELDS
           end

  response = send_request(
    http_method: "get",
    endpoint: "#{phone_number_id}/whatsapp_business_profile?fields=#{fields}"
  )

  # In the future it might have multiple business profiles.
  Resource::BusinessProfile.from_hash(response["data"][0])
end

#update(phone_number_id:, params:) ⇒ Boolean

Update the details of business profile.

Parameters:

  • phone_number_id (Integer)

    Phone Number Id.

  • params (Hash)

    Params to update.

Returns:

  • (Boolean)

    Whether the update was successful.



51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/whatsapp_sdk/api/business_profile.rb', line 51

def update(phone_number_id:, params:)
  params[:messaging_product] = 'whatsapp' # messaging_products is a required field
  return raise InvalidVertical.new(vertical: params[:vertical]) unless valid_vertical?(params)

  response = send_request(
    http_method: "post",
    endpoint: "#{phone_number_id}/whatsapp_business_profile",
    params: params
  )

  Api::Responses::SuccessResponse.success_response?(response: response)
end