Class: KapsoClientRuby::Resources::PhoneNumbers
- Inherits:
-
Object
- Object
- KapsoClientRuby::Resources::PhoneNumbers
- Defined in:
- lib/kapso_client_ruby/resources/phone_numbers.rb
Instance Method Summary collapse
-
#deregister(phone_number_id:) ⇒ Object
Deregister phone number.
-
#get(phone_number_id:, fields: nil) ⇒ Object
Get phone number info.
-
#initialize(client) ⇒ PhoneNumbers
constructor
A new instance of PhoneNumbers.
-
#register(phone_number_id:, pin:, data_localization_region: nil) ⇒ Object
Register phone number.
-
#request_code(phone_number_id:, code_method:, language: 'en_US') ⇒ Object
Request verification code.
-
#update_settings(phone_number_id:, messaging_product: 'whatsapp', webhooks: nil, application: nil) ⇒ Object
Update phone number settings.
-
#verify_code(phone_number_id:, code:) ⇒ Object
Verify the received code.
Constructor Details
#initialize(client) ⇒ PhoneNumbers
Returns a new instance of PhoneNumbers.
6 7 8 |
# File 'lib/kapso_client_ruby/resources/phone_numbers.rb', line 6 def initialize(client) @client = client end |
Instance Method Details
#deregister(phone_number_id:) ⇒ Object
Deregister phone number
48 49 50 51 52 |
# File 'lib/kapso_client_ruby/resources/phone_numbers.rb', line 48 def deregister(phone_number_id:) response = @client.request(:post, "#{phone_number_id}/deregister", body: {}.to_json, response_type: :json) Types::GraphSuccessResponse.new(response) end |
#get(phone_number_id:, fields: nil) ⇒ Object
Get phone number info
67 68 69 70 71 72 73 74 |
# File 'lib/kapso_client_ruby/resources/phone_numbers.rb', line 67 def get(phone_number_id:, fields: nil) query_params = {} query_params[:fields] = fields if fields response = @client.request(:get, phone_number_id, query: query_params, response_type: :json) response end |
#register(phone_number_id:, pin:, data_localization_region: nil) ⇒ Object
Register phone number
36 37 38 39 40 41 42 43 44 45 |
# File 'lib/kapso_client_ruby/resources/phone_numbers.rb', line 36 def register(phone_number_id:, pin:, data_localization_region: nil) raise ArgumentError, 'PIN cannot be empty' if pin.nil? || pin.strip.empty? payload = { pin: pin.to_s } payload[:data_localization_region] = data_localization_region if data_localization_region response = @client.request(:post, "#{phone_number_id}/register", body: payload.to_json, response_type: :json) Types::GraphSuccessResponse.new(response) end |
#request_code(phone_number_id:, code_method:, language: 'en_US') ⇒ Object
Request verification code
11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/kapso_client_ruby/resources/phone_numbers.rb', line 11 def request_code(phone_number_id:, code_method:, language: 'en_US') validate_code_method(code_method) payload = { code_method: code_method.upcase, language: language } response = @client.request(:post, "#{phone_number_id}/request_code", body: payload.to_json, response_type: :json) Types::GraphSuccessResponse.new(response) end |
#update_settings(phone_number_id:, messaging_product: 'whatsapp', webhooks: nil, application: nil) ⇒ Object
Update phone number settings
55 56 57 58 59 60 61 62 63 64 |
# File 'lib/kapso_client_ruby/resources/phone_numbers.rb', line 55 def update_settings(phone_number_id:, messaging_product: 'whatsapp', webhooks: nil, application: nil) payload = { messaging_product: messaging_product } payload[:webhooks] = webhooks if webhooks payload[:application] = application if application response = @client.request(:post, phone_number_id, body: payload.to_json, response_type: :json) Types::GraphSuccessResponse.new(response) end |
#verify_code(phone_number_id:, code:) ⇒ Object
Verify the received code
25 26 27 28 29 30 31 32 33 |
# File 'lib/kapso_client_ruby/resources/phone_numbers.rb', line 25 def verify_code(phone_number_id:, code:) raise ArgumentError, 'Verification code cannot be empty' if code.nil? || code.strip.empty? payload = { code: code.to_s } response = @client.request(:post, "#{phone_number_id}/verify_code", body: payload.to_json, response_type: :json) Types::GraphSuccessResponse.new(response) end |