Class: WhatsappSdk::Api::PhoneNumbers

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

Constant Summary collapse

DEFAULT_FIELDS =
i[
  id  display_phone_number verified_name  quality_rating
  certificate code_verification_status eligibility_for_api_business_global_search is_pin_enabled
  name_status new_name_status status search_visibility messaging_limit_tier
].join(",").freeze

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

#deregister_number(phone_number_id) ⇒ Boolean

Deregister a phone number.



63
64
65
66
67
68
69
70
71
# File 'lib/whatsapp_sdk/api/phone_numbers.rb', line 63

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

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

#get(phone_number_id) ⇒ Resource::PhoneNumber

Get the registered number.



35
36
37
38
39
40
41
42
# File 'lib/whatsapp_sdk/api/phone_numbers.rb', line 35

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

  Resource::PhoneNumber.from_hash(response)
end

#list(business_id) ⇒ Api::Response

Get list of registered numbers.



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/whatsapp_sdk/api/phone_numbers.rb', line 18

def list(business_id)
  response = send_request(
    http_method: "get",
    endpoint: "#{business_id}/phone_numbers?fields=#{DEFAULT_FIELDS}"
  )

  Api::Responses::PaginationRecords.new(
    records: parse_phone_numbers(response['data']),
    before: response['paging']['cursors']['before'],
    after: response['paging']['cursors']['after']
  )
end

#register_number(phone_number_id, pin) ⇒ Boolean

Register a phone number.



49
50
51
52
53
54
55
56
57
# File 'lib/whatsapp_sdk/api/phone_numbers.rb', line 49

def register_number(phone_number_id, pin)
  response = send_request(
    http_method: "post",
    endpoint: "#{phone_number_id}/register",
    params: { messaging_product: 'whatsapp', pin: pin }
  )

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

#registered_number(phone_number_id) ⇒ Object



79
80
81
82
# File 'lib/whatsapp_sdk/api/phone_numbers.rb', line 79

def registered_number(phone_number_id)
  warn "[DEPRECATION] `registered_number` is deprecated. Please use `get` instead."
  get(phone_number_id)
end

#registered_numbers(business_id) ⇒ Object

deprecated methods



74
75
76
77
# File 'lib/whatsapp_sdk/api/phone_numbers.rb', line 74

def registered_numbers(business_id)
  warn "[DEPRECATION] `registered_numbers` is deprecated. Please use `list` instead."
  list(business_id)
end