wavix-ruby-sdk 1.0.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.fern/metadata.json +5 -4
- data/.fern/replay.lock +22 -0
- data/.fernignore +4 -0
- data/lib/wavix/api_keys/client.rb +1 -1
- data/lib/wavix/billing/invoices/client.rb +2 -2
- data/lib/wavix/billing/transactions/client.rb +2 -2
- data/lib/wavix/buy/cities/client.rb +2 -2
- data/lib/wavix/buy/countries/client.rb +2 -2
- data/lib/wavix/buy/numbers/client.rb +2 -2
- data/lib/wavix/buy/region_cities/client.rb +2 -2
- data/lib/wavix/buy/regions/client.rb +2 -2
- data/lib/wavix/call_control/audio/client.rb +2 -1
- data/lib/wavix/call_control/client.rb +4 -3
- data/lib/wavix/call_control/streams/client.rb +3 -2
- data/lib/wavix/call_control/types/call_dtmf_collect_request_prompt_say.rb +3 -1
- data/lib/wavix/call_recording/client.rb +1 -1
- data/lib/wavix/call_webhooks/client.rb +15 -1
- data/lib/wavix/call_webhooks/types/call_webhooks_create_request.rb +2 -0
- data/lib/wavix/call_webhooks/types/delete_call_webhooks_request.rb +2 -0
- data/lib/wavix/cart/client.rb +9 -9
- data/lib/wavix/cdrs/client.rb +3 -1
- data/lib/wavix/cdrs/types/cdr_search_request.rb +3 -3
- data/lib/wavix/client.rb +1 -1
- data/lib/wavix/number_validator/client.rb +6 -3
- data/lib/wavix/number_validator/types/phone_validation_request.rb +2 -2
- data/lib/wavix/numbers/client.rb +9 -2
- data/lib/wavix/numbers/types/number_update_request.rb +2 -0
- data/lib/wavix/profile/config/client.rb +2 -2
- data/lib/wavix/sip_trunks/client.rb +9 -7
- data/lib/wavix/sip_trunks/types/sip_trunk_create_request.rb +53 -0
- data/lib/wavix/sip_trunks/types/sip_trunk_create_request_allowed_ips_item.rb +11 -0
- data/lib/wavix/sip_trunks/types/sip_trunk_create_request_host_request.rb +13 -0
- data/lib/wavix/sip_trunks/types/sip_trunk_update_request.rb +55 -0
- data/lib/wavix/sip_trunks/types/sip_trunk_update_request_allowed_ips_item.rb +11 -0
- data/lib/wavix/sip_trunks/types/sip_trunk_update_request_host_request.rb +14 -0
- data/lib/wavix/sms_and_mms/messages/client.rb +6 -6
- data/lib/wavix/sms_and_mms/opt_outs/client.rb +2 -2
- data/lib/wavix/sms_and_mms/sender_ids/client.rb +4 -3
- data/lib/wavix/speech_analytics/client.rb +4 -4
- data/lib/wavix/sub_accounts/client.rb +5 -1
- data/lib/wavix/sub_accounts/types/list_sub_accounts_request.rb +4 -0
- data/lib/wavix/sub_accounts/types/sub_accounts_update_request.rb +1 -1
- data/lib/wavix/ten_dlc/brand_appeals/client.rb +2 -2
- data/lib/wavix/ten_dlc/brand_appeals/types/create_brand_appeals_request.rb +1 -1
- data/lib/wavix/ten_dlc/brand_appeals/types/create_brand_appeals_request_appeal_categories_item.rb +17 -0
- data/lib/wavix/ten_dlc/brand_evidence/client.rb +4 -4
- data/lib/wavix/ten_dlc/brand_vetting_appeals/client.rb +2 -2
- data/lib/wavix/ten_dlc/brand_vetting_appeals/types/ten_dlc_brand_vetting_appeal_create_request.rb +1 -1
- data/lib/wavix/ten_dlc/brand_vetting_appeals/types/ten_dlc_brand_vetting_appeal_create_request_appeal_categories_item.rb +18 -0
- data/lib/wavix/ten_dlc/brand_vettings/client.rb +2 -1
- data/lib/wavix/ten_dlc/brands/client.rb +16 -14
- data/lib/wavix/ten_dlc/campaign_numbers/client.rb +6 -6
- data/lib/wavix/ten_dlc/campaigns/client.rb +12 -12
- data/lib/wavix/ten_dlc/campaigns/types/ten_dlc_campaign_create_request.rb +6 -6
- data/lib/wavix/ten_dlc/subscriptions/client.rb +4 -4
- data/lib/wavix/two_fa/verification/client.rb +11 -9
- data/lib/wavix/types/{document_type_id.rb → api_key_with_secret.rb} +2 -2
- data/lib/wavix/types/available_number.rb +1 -1
- data/lib/wavix/types/cart_response.rb +1 -1
- data/lib/wavix/types/cdr_transcription_response.rb +1 -1
- data/lib/wavix/types/document_type.rb +5 -5
- data/lib/wavix/types/document_type_info.rb +14 -0
- data/lib/wavix/types/file_transcription_response.rb +2 -2
- data/lib/wavix/types/message_body.rb +1 -1
- data/lib/wavix/types/number.rb +1 -1
- data/lib/wavix/types/number_document.rb +1 -1
- data/lib/wavix/types/number_list_response.rb +1 -1
- data/lib/wavix/types/ten_dlc_brand.rb +1 -1
- data/lib/wavix/types/ten_dlc_brand_appeal_create_request.rb +1 -1
- data/lib/wavix/types/ten_dlc_brand_appeal_create_request_appeal_categories_item.rb +13 -0
- data/lib/wavix/types/ten_dlc_brand_appeal_outcome.rb +1 -1
- data/lib/wavix/types/{not_found_error_body.rb → too_many_requests_error_response.rb} +1 -1
- data/lib/wavix/types/transcription_filter.rb +3 -3
- data/lib/wavix/types/unprocessable_entity_error_body.rb +2 -2
- data/lib/wavix/types/webhook_in_use_error_response.rb +14 -0
- data/lib/wavix/types/whats_app_business_account.rb +16 -0
- data/lib/wavix/types/whats_app_business_account_messaging_limit.rb +15 -0
- data/lib/wavix/types/whats_app_message.rb +20 -0
- data/lib/wavix/types/whats_app_message_get_response.rb +10 -0
- data/lib/wavix/types/whats_app_message_list_item.rb +23 -0
- data/lib/wavix/types/whats_app_message_list_item_direction.rb +12 -0
- data/lib/wavix/types/whats_app_message_list_item_status.rb +16 -0
- data/lib/wavix/types/whats_app_message_list_response.rb +12 -0
- data/lib/wavix/types/whats_app_message_send_request.rb +16 -0
- data/lib/wavix/types/whats_app_message_send_response.rb +10 -0
- data/lib/wavix/types/whats_app_message_status.rb +16 -0
- data/lib/wavix/types/whats_app_message_template.rb +12 -0
- data/lib/wavix/types/whats_app_problem.rb +23 -0
- data/lib/wavix/types/whats_app_problem_error_class.rb +14 -0
- data/lib/wavix/types/whats_app_send_template.rb +18 -0
- data/lib/wavix/types/whats_app_send_template_button.rb +27 -0
- data/lib/wavix/types/whats_app_send_template_button_type.rb +18 -0
- data/lib/wavix/types/whats_app_send_template_header.rb +26 -0
- data/lib/wavix/types/whats_app_send_template_header_type.rb +16 -0
- data/lib/wavix/types/whats_app_sender.rb +19 -0
- data/lib/wavix/types/whats_app_sender_list_response.rb +12 -0
- data/lib/wavix/types/whats_app_sender_quality_rating.rb +14 -0
- data/lib/wavix/types/whats_app_sender_status.rb +21 -0
- data/lib/wavix/types/whats_app_template.rb +29 -0
- data/lib/wavix/types/whats_app_template_body_component_request.rb +12 -0
- data/lib/wavix/types/whats_app_template_body_component_request_example.rb +10 -0
- data/lib/wavix/types/whats_app_template_button_request.rb +21 -0
- data/lib/wavix/types/whats_app_template_buttons_component_request.rb +10 -0
- data/lib/wavix/types/whats_app_template_category.rb +13 -0
- data/lib/wavix/types/whats_app_template_component_request.rb +21 -0
- data/lib/wavix/types/whats_app_template_copy_code_button_request.rb +10 -0
- data/lib/wavix/types/whats_app_template_create_request.rb +20 -0
- data/lib/wavix/types/whats_app_template_create_request_category.rb +13 -0
- data/lib/wavix/types/whats_app_template_footer_component_request.rb +10 -0
- data/lib/wavix/types/whats_app_template_header_component_request.rb +23 -0
- data/lib/wavix/types/whats_app_template_location_header_component_request.rb +11 -0
- data/lib/wavix/types/{file_transcription_response_status.rb → whats_app_template_location_header_component_request_type.rb} +2 -3
- data/lib/wavix/types/whats_app_template_media_header_component_request.rb +12 -0
- data/lib/wavix/types/whats_app_template_media_header_component_request_example.rb +10 -0
- data/lib/wavix/types/whats_app_template_media_header_component_request_type.rb +11 -0
- data/lib/wavix/types/whats_app_template_page_response.rb +12 -0
- data/lib/wavix/types/whats_app_template_phone_number_button_request.rb +12 -0
- data/lib/wavix/types/whats_app_template_quality_rating.rb +14 -0
- data/lib/wavix/types/whats_app_template_quick_reply_button_request.rb +10 -0
- data/lib/wavix/types/whats_app_template_response.rb +10 -0
- data/lib/wavix/types/whats_app_template_response_component.rb +20 -0
- data/lib/wavix/types/whats_app_template_response_component_format.rb +15 -0
- data/lib/wavix/types/whats_app_template_status.rb +21 -0
- data/lib/wavix/types/whats_app_template_text_header_component_request.rb +14 -0
- data/lib/wavix/types/whats_app_template_text_header_component_request_example.rb +10 -0
- data/lib/wavix/types/whats_app_template_text_header_component_request_type.rb +11 -0
- data/lib/wavix/types/whats_app_template_url_button_request.rb +14 -0
- data/lib/wavix/types/whats_app_waba.rb +12 -0
- data/lib/wavix/types/whats_app_waba_list_response.rb +12 -0
- data/lib/wavix/version.rb +1 -1
- data/lib/wavix/voice_campaigns/client.rb +2 -2
- data/lib/wavix/webrtc/tokens/client.rb +11 -3
- data/lib/wavix/webrtc/tokens/types/list_tokens_request.rb +15 -0
- data/lib/wavix/webrtc/tokens/types/web_rtc_token_create_request.rb +1 -1
- data/lib/wavix.rb +89 -87
- data/reference.md +512 -116
- metadata +71 -68
- data/lib/wavix/billing/invoices/types/list_invoices_response.rb +0 -17
- data/lib/wavix/billing/transactions/types/list_transactions_response.rb +0 -17
- data/lib/wavix/buy/cities/types/list_cities_response.rb +0 -13
- data/lib/wavix/buy/countries/types/list_countries_response.rb +0 -13
- data/lib/wavix/buy/numbers/types/list_numbers_response.rb +0 -15
- data/lib/wavix/buy/region_cities/types/list_region_cities_response.rb +0 -13
- data/lib/wavix/buy/regions/types/list_regions_response.rb +0 -13
- data/lib/wavix/cart/types/checkout_cart_response.rb +0 -11
- data/lib/wavix/cart/types/get_cart_response.rb +0 -13
- data/lib/wavix/cart/types/remove_cart_response.rb +0 -11
- data/lib/wavix/cdrs/types/cdr_search_request_disposition.rb +0 -17
- data/lib/wavix/number_validator/types/get_number_validator_response.rb +0 -43
- data/lib/wavix/numbers/types/delete_numbers_response.rb +0 -11
- data/lib/wavix/profile/config/types/get_config_response.rb +0 -15
- data/lib/wavix/sip_trunks/types/update_sip_trunks_request.rb +0 -13
- data/lib/wavix/sms_and_mms/messages/types/get_messages_response.rb +0 -45
- data/lib/wavix/sms_and_mms/messages/types/list_messages_response.rb +0 -15
- data/lib/wavix/sms_and_mms/opt_outs/types/create_opt_outs_response.rb +0 -13
- data/lib/wavix/sms_and_mms/sender_ids/types/delete_sender_ids_response.rb +0 -13
- data/lib/wavix/speech_analytics/types/create_speech_analytics_response.rb +0 -15
- data/lib/wavix/speech_analytics/types/get_speech_analytics_response.rb +0 -31
- data/lib/wavix/speech_analytics/types/get_speech_analytics_response_language.rb +0 -17
- data/lib/wavix/speech_analytics/types/get_speech_analytics_response_status.rb +0 -14
- data/lib/wavix/ten_dlc/brand_appeals/types/create_brand_appeals_response.rb +0 -13
- data/lib/wavix/ten_dlc/brand_evidence/types/delete_brand_evidence_response.rb +0 -13
- data/lib/wavix/ten_dlc/brand_evidence/types/upload_brand_evidence_response.rb +0 -19
- data/lib/wavix/ten_dlc/brand_vetting_appeals/types/create_brand_vetting_appeals_response.rb +0 -13
- data/lib/wavix/ten_dlc/brands/types/create_brands_response.rb +0 -61
- data/lib/wavix/ten_dlc/brands/types/create_brands_response_entity_type.rb +0 -18
- data/lib/wavix/ten_dlc/brands/types/create_brands_response_status.rb +0 -19
- data/lib/wavix/ten_dlc/brands/types/delete_brands_response.rb +0 -13
- data/lib/wavix/ten_dlc/brands/types/get_brands_response.rb +0 -61
- data/lib/wavix/ten_dlc/brands/types/get_brands_response_entity_type.rb +0 -18
- data/lib/wavix/ten_dlc/brands/types/get_brands_response_status.rb +0 -19
- data/lib/wavix/ten_dlc/brands/types/list_brands_response.rb +0 -16
- data/lib/wavix/ten_dlc/brands/types/list_brands_response_pagination.rb +0 -20
- data/lib/wavix/ten_dlc/brands/types/qualify_usecase_brands_response.rb +0 -17
- data/lib/wavix/ten_dlc/brands/types/update_brands_response.rb +0 -61
- data/lib/wavix/ten_dlc/brands/types/update_brands_response_entity_type.rb +0 -18
- data/lib/wavix/ten_dlc/brands/types/update_brands_response_status.rb +0 -19
- data/lib/wavix/ten_dlc/campaign_numbers/types/link_campaign_numbers_response.rb +0 -13
- data/lib/wavix/ten_dlc/campaign_numbers/types/list_campaign_numbers_response.rb +0 -17
- data/lib/wavix/ten_dlc/campaign_numbers/types/unlink_campaign_numbers_response.rb +0 -13
- data/lib/wavix/ten_dlc/campaigns/types/create_campaigns_response.rb +0 -89
- data/lib/wavix/ten_dlc/campaigns/types/delete_campaigns_response.rb +0 -13
- data/lib/wavix/ten_dlc/campaigns/types/get_campaigns_response.rb +0 -89
- data/lib/wavix/ten_dlc/campaigns/types/list_by_brand_campaigns_response.rb +0 -16
- data/lib/wavix/ten_dlc/campaigns/types/list_by_brand_campaigns_response_pagination.rb +0 -20
- data/lib/wavix/ten_dlc/campaigns/types/list_campaigns_response.rb +0 -16
- data/lib/wavix/ten_dlc/campaigns/types/list_campaigns_response_pagination.rb +0 -20
- data/lib/wavix/ten_dlc/campaigns/types/update_campaigns_response.rb +0 -89
- data/lib/wavix/ten_dlc/subscriptions/types/create_subscriptions_response.rb +0 -16
- data/lib/wavix/ten_dlc/subscriptions/types/delete_subscriptions_response.rb +0 -13
- data/lib/wavix/two_fa/verification/types/check_verification_response.rb +0 -13
- data/lib/wavix/two_fa/verification/types/create_verification_response.rb +0 -25
- data/lib/wavix/two_fa/verification/types/resend_verification_response.rb +0 -19
- data/lib/wavix/types/bad_request_error_body.rb +0 -11
- data/lib/wavix/types/file_transcription_response_language.rb +0 -15
- data/lib/wavix/types/sip_trunk_create_request.rb +0 -51
- data/lib/wavix/types/sip_trunk_create_request_allowed_ips_item.rb +0 -9
- data/lib/wavix/types/sip_trunk_create_request_host_request.rb +0 -11
- data/lib/wavix/types/ten_dlc_brand_appeal_outcome_vetting_status.rb +0 -15
- data/lib/wavix/types/ten_dlc_brand_status.rb +0 -15
|
@@ -30,7 +30,7 @@ module Wavix
|
|
|
30
30
|
# @option params [Integer, nil] :page
|
|
31
31
|
# @option params [Integer, nil] :per_page
|
|
32
32
|
#
|
|
33
|
-
# @return [Wavix::
|
|
33
|
+
# @return [Wavix::Types::TenDlcCampaignListResponse]
|
|
34
34
|
def list(request_options: {}, **params)
|
|
35
35
|
params = Wavix::Internal::Types::Utils.normalize_keys(params)
|
|
36
36
|
query_params = {}
|
|
@@ -57,7 +57,7 @@ module Wavix
|
|
|
57
57
|
end
|
|
58
58
|
code = response.code.to_i
|
|
59
59
|
if code.between?(200, 299)
|
|
60
|
-
Wavix::
|
|
60
|
+
Wavix::Types::TenDlcCampaignListResponse.load(response.body)
|
|
61
61
|
else
|
|
62
62
|
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
63
63
|
raise error_class.new(response.body, code: code)
|
|
@@ -83,7 +83,7 @@ module Wavix
|
|
|
83
83
|
# @option params [Integer, nil] :page
|
|
84
84
|
# @option params [Integer, nil] :per_page
|
|
85
85
|
#
|
|
86
|
-
# @return [Wavix::
|
|
86
|
+
# @return [Wavix::Types::TenDlcCampaignListResponse]
|
|
87
87
|
def list_by_brand(request_options: {}, **params)
|
|
88
88
|
params = Wavix::Internal::Types::Utils.normalize_keys(params)
|
|
89
89
|
query_params = {}
|
|
@@ -110,7 +110,7 @@ module Wavix
|
|
|
110
110
|
end
|
|
111
111
|
code = response.code.to_i
|
|
112
112
|
if code.between?(200, 299)
|
|
113
|
-
Wavix::
|
|
113
|
+
Wavix::Types::TenDlcCampaignListResponse.load(response.body)
|
|
114
114
|
else
|
|
115
115
|
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
116
116
|
raise error_class.new(response.body, code: code)
|
|
@@ -129,7 +129,7 @@ module Wavix
|
|
|
129
129
|
# @option request_options [Integer] :timeout_in_seconds
|
|
130
130
|
# @option params [String] :brand_id
|
|
131
131
|
#
|
|
132
|
-
# @return [Wavix::
|
|
132
|
+
# @return [Wavix::Types::TenDlcCampaign]
|
|
133
133
|
def create(request_options: {}, **params)
|
|
134
134
|
params = Wavix::Internal::Types::Utils.normalize_keys(params)
|
|
135
135
|
request_data = Wavix::TenDlc::Campaigns::Types::TenDlcCampaignCreateRequest.new(params).to_h
|
|
@@ -150,7 +150,7 @@ module Wavix
|
|
|
150
150
|
end
|
|
151
151
|
code = response.code.to_i
|
|
152
152
|
if code.between?(200, 299)
|
|
153
|
-
Wavix::
|
|
153
|
+
Wavix::Types::TenDlcCampaign.load(response.body)
|
|
154
154
|
else
|
|
155
155
|
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
156
156
|
raise error_class.new(response.body, code: code)
|
|
@@ -169,7 +169,7 @@ module Wavix
|
|
|
169
169
|
# @option params [String] :brand_id
|
|
170
170
|
# @option params [String] :campaign_id
|
|
171
171
|
#
|
|
172
|
-
# @return [Wavix::
|
|
172
|
+
# @return [Wavix::Types::TenDlcCampaign]
|
|
173
173
|
def get(request_options: {}, **params)
|
|
174
174
|
params = Wavix::Internal::Types::Utils.normalize_keys(params)
|
|
175
175
|
request = Wavix::Internal::JSON::Request.new(
|
|
@@ -185,7 +185,7 @@ module Wavix
|
|
|
185
185
|
end
|
|
186
186
|
code = response.code.to_i
|
|
187
187
|
if code.between?(200, 299)
|
|
188
|
-
Wavix::
|
|
188
|
+
Wavix::Types::TenDlcCampaign.load(response.body)
|
|
189
189
|
else
|
|
190
190
|
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
191
191
|
raise error_class.new(response.body, code: code)
|
|
@@ -204,7 +204,7 @@ module Wavix
|
|
|
204
204
|
# @option params [String] :brand_id
|
|
205
205
|
# @option params [String] :campaign_id
|
|
206
206
|
#
|
|
207
|
-
# @return [Wavix::
|
|
207
|
+
# @return [Wavix::Types::TenDlcCampaign]
|
|
208
208
|
def update(request_options: {}, **params)
|
|
209
209
|
params = Wavix::Internal::Types::Utils.normalize_keys(params)
|
|
210
210
|
request_data = Wavix::TenDlc::Campaigns::Types::TenDlcCampaignUpdateRequest.new(params).to_h
|
|
@@ -225,7 +225,7 @@ module Wavix
|
|
|
225
225
|
end
|
|
226
226
|
code = response.code.to_i
|
|
227
227
|
if code.between?(200, 299)
|
|
228
|
-
Wavix::
|
|
228
|
+
Wavix::Types::TenDlcCampaign.load(response.body)
|
|
229
229
|
else
|
|
230
230
|
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
231
231
|
raise error_class.new(response.body, code: code)
|
|
@@ -244,7 +244,7 @@ module Wavix
|
|
|
244
244
|
# @option params [String] :brand_id
|
|
245
245
|
# @option params [String] :campaign_id
|
|
246
246
|
#
|
|
247
|
-
# @return [Wavix::
|
|
247
|
+
# @return [Wavix::Types::SuccessResponse]
|
|
248
248
|
def delete(request_options: {}, **params)
|
|
249
249
|
params = Wavix::Internal::Types::Utils.normalize_keys(params)
|
|
250
250
|
request = Wavix::Internal::JSON::Request.new(
|
|
@@ -260,7 +260,7 @@ module Wavix
|
|
|
260
260
|
end
|
|
261
261
|
code = response.code.to_i
|
|
262
262
|
if code.between?(200, 299)
|
|
263
|
-
Wavix::
|
|
263
|
+
Wavix::Types::SuccessResponse.load(response.body)
|
|
264
264
|
else
|
|
265
265
|
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
266
266
|
raise error_class.new(response.body, code: code)
|
|
@@ -17,9 +17,9 @@ module Wavix
|
|
|
17
17
|
|
|
18
18
|
field :embedded_links, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
19
19
|
|
|
20
|
-
field :embedded_phones, -> { Internal::Types::Boolean }, optional:
|
|
20
|
+
field :embedded_phones, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
21
21
|
|
|
22
|
-
field :embedded_link_sample, -> { String }, optional:
|
|
22
|
+
field :embedded_link_sample, -> { String }, optional: true, nullable: false
|
|
23
23
|
|
|
24
24
|
field :description, -> { String }, optional: false, nullable: false
|
|
25
25
|
|
|
@@ -47,13 +47,13 @@ module Wavix
|
|
|
47
47
|
|
|
48
48
|
field :sample1, -> { String }, optional: false, nullable: false
|
|
49
49
|
|
|
50
|
-
field :sample2, -> { String }, optional:
|
|
50
|
+
field :sample2, -> { String }, optional: true, nullable: false
|
|
51
51
|
|
|
52
|
-
field :sample3, -> { String }, optional:
|
|
52
|
+
field :sample3, -> { String }, optional: true, nullable: false
|
|
53
53
|
|
|
54
|
-
field :sample4, -> { String }, optional:
|
|
54
|
+
field :sample4, -> { String }, optional: true, nullable: false
|
|
55
55
|
|
|
56
|
-
field :sample5, -> { String }, optional:
|
|
56
|
+
field :sample5, -> { String }, optional: true, nullable: false
|
|
57
57
|
|
|
58
58
|
field :mock, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
59
59
|
|
|
@@ -51,7 +51,7 @@ module Wavix
|
|
|
51
51
|
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
52
52
|
# @option request_options [Integer] :timeout_in_seconds
|
|
53
53
|
#
|
|
54
|
-
# @return [Wavix::
|
|
54
|
+
# @return [Wavix::Types::TenDlcEventSubscription]
|
|
55
55
|
def create(request_options: {}, **params)
|
|
56
56
|
params = Wavix::Internal::Types::Utils.normalize_keys(params)
|
|
57
57
|
request = Wavix::Internal::JSON::Request.new(
|
|
@@ -68,7 +68,7 @@ module Wavix
|
|
|
68
68
|
end
|
|
69
69
|
code = response.code.to_i
|
|
70
70
|
if code.between?(200, 299)
|
|
71
|
-
Wavix::
|
|
71
|
+
Wavix::Types::TenDlcEventSubscription.load(response.body)
|
|
72
72
|
else
|
|
73
73
|
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
74
74
|
raise error_class.new(response.body, code: code)
|
|
@@ -86,7 +86,7 @@ module Wavix
|
|
|
86
86
|
# @option request_options [Integer] :timeout_in_seconds
|
|
87
87
|
# @option params [String] :subscription_category
|
|
88
88
|
#
|
|
89
|
-
# @return [Wavix::
|
|
89
|
+
# @return [Wavix::Types::SuccessResponse]
|
|
90
90
|
def delete(request_options: {}, **params)
|
|
91
91
|
params = Wavix::Internal::Types::Utils.normalize_keys(params)
|
|
92
92
|
query_params = {}
|
|
@@ -106,7 +106,7 @@ module Wavix
|
|
|
106
106
|
end
|
|
107
107
|
code = response.code.to_i
|
|
108
108
|
if code.between?(200, 299)
|
|
109
|
-
Wavix::
|
|
109
|
+
Wavix::Types::SuccessResponse.load(response.body)
|
|
110
110
|
else
|
|
111
111
|
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
112
112
|
raise error_class.new(response.body, code: code)
|
|
@@ -11,9 +11,9 @@ module Wavix
|
|
|
11
11
|
@client = client
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
# Creates a 2FA verification and sends a one-time password (OTP) to the destination phone number over the
|
|
15
|
-
# selected channel. Requires a 2FA service configured in the Wavix portal;
|
|
16
|
-
# validate OTPs.
|
|
14
|
+
# Creates a 2FA verification and sends a real one-time password (OTP) to the destination phone number over the
|
|
15
|
+
# selected channel; this bills the account per OTP sent. Requires a 2FA service configured in the Wavix portal;
|
|
16
|
+
# the service is reused to generate and validate OTPs.
|
|
17
17
|
#
|
|
18
18
|
# The verification proceeds through three steps:
|
|
19
19
|
# 1. Create a verification to generate and send an OTP.
|
|
@@ -28,7 +28,7 @@ module Wavix
|
|
|
28
28
|
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
29
29
|
# @option request_options [Integer] :timeout_in_seconds
|
|
30
30
|
#
|
|
31
|
-
# @return [Wavix::
|
|
31
|
+
# @return [Wavix::Types::TwoFactorVerificationResponse]
|
|
32
32
|
def create(request_options: {}, **params)
|
|
33
33
|
params = Wavix::Internal::Types::Utils.normalize_keys(params)
|
|
34
34
|
request = Wavix::Internal::JSON::Request.new(
|
|
@@ -45,7 +45,7 @@ module Wavix
|
|
|
45
45
|
end
|
|
46
46
|
code = response.code.to_i
|
|
47
47
|
if code.between?(200, 299)
|
|
48
|
-
Wavix::
|
|
48
|
+
Wavix::Types::TwoFactorVerificationResponse.load(response.body)
|
|
49
49
|
else
|
|
50
50
|
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
51
51
|
raise error_class.new(response.body, code: code)
|
|
@@ -64,7 +64,7 @@ module Wavix
|
|
|
64
64
|
# @option request_options [Integer] :timeout_in_seconds
|
|
65
65
|
# @option params [String] :session_id
|
|
66
66
|
#
|
|
67
|
-
# @return [Wavix::
|
|
67
|
+
# @return [Wavix::Types::TwoFactorVerificationResendResponse]
|
|
68
68
|
def resend(request_options: {}, **params)
|
|
69
69
|
params = Wavix::Internal::Types::Utils.normalize_keys(params)
|
|
70
70
|
request_data = Wavix::TwoFa::Verification::Types::TwoFactorVerificationResendRequest.new(params).to_h
|
|
@@ -85,7 +85,7 @@ module Wavix
|
|
|
85
85
|
end
|
|
86
86
|
code = response.code.to_i
|
|
87
87
|
if code.between?(200, 299)
|
|
88
|
-
Wavix::
|
|
88
|
+
Wavix::Types::TwoFactorVerificationResendResponse.load(response.body)
|
|
89
89
|
else
|
|
90
90
|
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
91
91
|
raise error_class.new(response.body, code: code)
|
|
@@ -93,6 +93,8 @@ module Wavix
|
|
|
93
93
|
end
|
|
94
94
|
|
|
95
95
|
# Validates the OTP submitted by the end user against the verification identified by `session_id`.
|
|
96
|
+
# Non-idempotent — each call consumes one of a limited number of attempts tracked server-side; once exhausted,
|
|
97
|
+
# the verification returns `429` until a new verification is created.
|
|
96
98
|
#
|
|
97
99
|
# @param request_options [Hash]
|
|
98
100
|
# @param params [Wavix::TwoFa::Verification::Types::TwoFactorVerificationCheckRequest]
|
|
@@ -103,7 +105,7 @@ module Wavix
|
|
|
103
105
|
# @option request_options [Integer] :timeout_in_seconds
|
|
104
106
|
# @option params [String] :session_id
|
|
105
107
|
#
|
|
106
|
-
# @return [Wavix::
|
|
108
|
+
# @return [Wavix::Types::TwoFactorVerificationCheckResponse]
|
|
107
109
|
def check(request_options: {}, **params)
|
|
108
110
|
params = Wavix::Internal::Types::Utils.normalize_keys(params)
|
|
109
111
|
request_data = Wavix::TwoFa::Verification::Types::TwoFactorVerificationCheckRequest.new(params).to_h
|
|
@@ -124,7 +126,7 @@ module Wavix
|
|
|
124
126
|
end
|
|
125
127
|
code = response.code.to_i
|
|
126
128
|
if code.between?(200, 299)
|
|
127
|
-
Wavix::
|
|
129
|
+
Wavix::Types::TwoFactorVerificationCheckResponse.load(response.body)
|
|
128
130
|
else
|
|
129
131
|
error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
|
|
130
132
|
raise error_class.new(response.body, code: code)
|
|
@@ -26,7 +26,7 @@ module Wavix
|
|
|
26
26
|
|
|
27
27
|
field :number, -> { String }, optional: false, nullable: false
|
|
28
28
|
|
|
29
|
-
field :require_docs, -> { Internal::Types::Array[
|
|
29
|
+
field :require_docs, -> { Internal::Types::Array[Wavix::Types::DocumentType] }, optional: false, nullable: false
|
|
30
30
|
|
|
31
31
|
field :sms_enabled, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
32
32
|
|
|
@@ -5,7 +5,7 @@ module Wavix
|
|
|
5
5
|
class CartResponse < Internal::Types::Model
|
|
6
6
|
field :dids, -> { Internal::Types::Array[Wavix::Types::AvailableNumber] }, optional: false, nullable: false
|
|
7
7
|
|
|
8
|
-
field :doc_types, -> { Internal::Types::Array[Wavix::Types::
|
|
8
|
+
field :doc_types, -> { Internal::Types::Array[Wavix::Types::DocumentTypeInfo] }, optional: false, nullable: false
|
|
9
9
|
end
|
|
10
10
|
end
|
|
11
11
|
end
|
|
@@ -9,7 +9,7 @@ module Wavix
|
|
|
9
9
|
|
|
10
10
|
field :uuid, -> { String }, optional: false, nullable: false
|
|
11
11
|
|
|
12
|
-
field :language, -> { Wavix::Types::TranscriptionLanguage }, optional: false, nullable:
|
|
12
|
+
field :language, -> { Wavix::Types::TranscriptionLanguage }, optional: false, nullable: true
|
|
13
13
|
|
|
14
14
|
field :duration, -> { Integer }, optional: false, nullable: false
|
|
15
15
|
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
module Wavix
|
|
4
4
|
module Types
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
module DocumentType
|
|
6
|
+
extend Wavix::Internal::Types::Enum
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
ID = "id"
|
|
9
|
+
ADDRESS = "address"
|
|
10
|
+
LOCALADDRESS = "localaddress"
|
|
11
11
|
end
|
|
12
12
|
end
|
|
13
13
|
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module Types
|
|
5
|
+
# Document type required to activate a phone number.
|
|
6
|
+
class DocumentTypeInfo < Internal::Types::Model
|
|
7
|
+
field :id, -> { Integer }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :name, -> { Wavix::Types::DocumentType }, optional: false, nullable: false
|
|
10
|
+
|
|
11
|
+
field :title, -> { String }, optional: false, nullable: false
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -9,13 +9,13 @@ module Wavix
|
|
|
9
9
|
|
|
10
10
|
field :request_id, -> { String }, optional: false, nullable: false
|
|
11
11
|
|
|
12
|
-
field :language, -> { Wavix::Types::
|
|
12
|
+
field :language, -> { Wavix::Types::TranscriptionLanguage }, optional: false, nullable: true
|
|
13
13
|
|
|
14
14
|
field :duration, -> { Integer }, optional: false, nullable: true
|
|
15
15
|
|
|
16
16
|
field :charge, -> { String }, optional: false, nullable: false
|
|
17
17
|
|
|
18
|
-
field :status, -> { Wavix::Types::
|
|
18
|
+
field :status, -> { Wavix::Types::TranscriptionStatus }, optional: false, nullable: false
|
|
19
19
|
|
|
20
20
|
field :transcription_date, -> { String }, optional: false, nullable: false
|
|
21
21
|
|
|
@@ -5,7 +5,7 @@ module Wavix
|
|
|
5
5
|
class MessageBody < Internal::Types::Model
|
|
6
6
|
field :text, -> { String }, optional: false, nullable: false
|
|
7
7
|
|
|
8
|
-
field :media, -> { Internal::Types::Array[String] }, optional:
|
|
8
|
+
field :media, -> { Internal::Types::Array[String] }, optional: true, nullable: false
|
|
9
9
|
end
|
|
10
10
|
end
|
|
11
11
|
end
|
data/lib/wavix/types/number.rb
CHANGED
|
@@ -25,7 +25,7 @@ module Wavix
|
|
|
25
25
|
|
|
26
26
|
field :channels, -> { Integer }, optional: false, nullable: false
|
|
27
27
|
|
|
28
|
-
field :require_docs, -> { Internal::Types::Array[
|
|
28
|
+
field :require_docs, -> { Internal::Types::Array[Wavix::Types::DocumentType] }, optional: false, nullable: false
|
|
29
29
|
|
|
30
30
|
field :documents, -> { Internal::Types::Array[Wavix::Types::NumberDocument] }, optional: false, nullable: false
|
|
31
31
|
|
|
@@ -14,7 +14,7 @@ module Wavix
|
|
|
14
14
|
|
|
15
15
|
field :doc_file_name, -> { String }, optional: false, nullable: false
|
|
16
16
|
|
|
17
|
-
field :
|
|
17
|
+
field :doc_type, -> { Wavix::Types::DocumentType }, optional: false, nullable: true
|
|
18
18
|
|
|
19
19
|
field :status, -> { String }, optional: false, nullable: false
|
|
20
20
|
|
|
@@ -5,7 +5,7 @@ module Wavix
|
|
|
5
5
|
class NumberListResponse < Internal::Types::Model
|
|
6
6
|
field :items, -> { Internal::Types::Array[Wavix::Types::Number] }, optional: false, nullable: false
|
|
7
7
|
|
|
8
|
-
field :doc_types, -> { Internal::Types::Array[Wavix::Types::
|
|
8
|
+
field :doc_types, -> { Internal::Types::Array[Wavix::Types::DocumentTypeInfo] }, optional: false, nullable: false
|
|
9
9
|
|
|
10
10
|
field :pagination, -> { Wavix::Types::Pagination }, optional: false, nullable: false
|
|
11
11
|
end
|
|
@@ -19,7 +19,7 @@ module Wavix
|
|
|
19
19
|
|
|
20
20
|
field :ein_taxid_country, -> { String }, optional: false, nullable: false
|
|
21
21
|
|
|
22
|
-
field :status, -> { Wavix::Types::
|
|
22
|
+
field :status, -> { Wavix::Types::TenDlcBrandIdentityVerificationStatus }, optional: false, nullable: false
|
|
23
23
|
|
|
24
24
|
field :website, -> { String }, optional: true, nullable: false
|
|
25
25
|
|
|
@@ -4,7 +4,7 @@ module Wavix
|
|
|
4
4
|
module Types
|
|
5
5
|
# Brand identity verification appeal details.
|
|
6
6
|
class TenDlcBrandAppealCreateRequest < Internal::Types::Model
|
|
7
|
-
field :appeal_categories, -> { Internal::Types::Array[
|
|
7
|
+
field :appeal_categories, -> { Internal::Types::Array[Wavix::Types::TenDlcBrandAppealCreateRequestAppealCategoriesItem] }, optional: false, nullable: false
|
|
8
8
|
|
|
9
9
|
field :evidence, -> { Internal::Types::Array[String] }, optional: false, nullable: false
|
|
10
10
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module Types
|
|
5
|
+
module TenDlcBrandAppealCreateRequestAppealCategoriesItem
|
|
6
|
+
extend Wavix::Internal::Types::Enum
|
|
7
|
+
|
|
8
|
+
VERIFY_TAX_ID = "VERIFY_TAX_ID"
|
|
9
|
+
VERIFY_NON_PROFIT = "VERIFY_NON_PROFIT"
|
|
10
|
+
VERIFY_GOVERNMENT = "VERIFY_GOVERNMENT"
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -6,7 +6,7 @@ module Wavix
|
|
|
6
6
|
class TenDlcBrandAppealOutcome < Internal::Types::Model
|
|
7
7
|
field :optional_attributes, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false
|
|
8
8
|
|
|
9
|
-
field :vetting_status, -> { Wavix::Types::
|
|
9
|
+
field :vetting_status, -> { Wavix::Types::TenDlcBrandIdentityVerificationStatus }, optional: false, nullable: false
|
|
10
10
|
|
|
11
11
|
field :feedback, -> { Wavix::Types::TenDlcBrandAppealOutcomeFeedback }, optional: false, nullable: false
|
|
12
12
|
end
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
module Wavix
|
|
4
4
|
module Types
|
|
5
|
-
class
|
|
5
|
+
class TooManyRequestsErrorResponse < Internal::Types::Model
|
|
6
6
|
field :success, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
7
7
|
|
|
8
8
|
field :message, -> { String }, optional: false, nullable: false
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
module Wavix
|
|
4
4
|
module Types
|
|
5
5
|
class TranscriptionFilter < Internal::Types::Model
|
|
6
|
-
field :agent, -> { Wavix::Types::TranscriptionFilterAgent }, optional:
|
|
6
|
+
field :agent, -> { Wavix::Types::TranscriptionFilterAgent }, optional: true, nullable: false
|
|
7
7
|
|
|
8
|
-
field :client, -> { Wavix::Types::TranscriptionFilterClient }, optional:
|
|
8
|
+
field :client, -> { Wavix::Types::TranscriptionFilterClient }, optional: true, nullable: false
|
|
9
9
|
|
|
10
|
-
field :any, -> { Wavix::Types::TranscriptionFilterAny }, optional:
|
|
10
|
+
field :any, -> { Wavix::Types::TranscriptionFilterAny }, optional: true, nullable: false
|
|
11
11
|
end
|
|
12
12
|
end
|
|
13
13
|
end
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
module Wavix
|
|
4
4
|
module Types
|
|
5
5
|
class UnprocessableEntityErrorBody < Internal::Types::Model
|
|
6
|
-
field :
|
|
6
|
+
field :error, -> { String }, optional: true, nullable: false
|
|
7
7
|
|
|
8
|
-
field :
|
|
8
|
+
field :error_dids, -> { Internal::Types::Array[String] }, optional: true, nullable: false
|
|
9
9
|
end
|
|
10
10
|
end
|
|
11
11
|
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module Types
|
|
5
|
+
# Error returned when a webhook change is rejected because the webhook no longer has the expected URL.
|
|
6
|
+
class WebhookInUseErrorResponse < Internal::Types::Model
|
|
7
|
+
field :success, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :error, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
10
|
+
|
|
11
|
+
field :message, -> { String }, optional: false, nullable: false
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module Types
|
|
5
|
+
# A WhatsApp Business Account linked to your account. Returned by `whatsapp_wabas_list` and `whatsapp_wabas_get`.
|
|
6
|
+
class WhatsAppBusinessAccount < Internal::Types::Model
|
|
7
|
+
field :id, -> { String }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :name, -> { String }, optional: false, nullable: true
|
|
10
|
+
|
|
11
|
+
field :messaging_limit, -> { Wavix::Types::WhatsAppBusinessAccountMessagingLimit }, optional: true, nullable: false
|
|
12
|
+
|
|
13
|
+
field :sender_count, -> { Integer }, optional: false, nullable: false
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module Types
|
|
5
|
+
module WhatsAppBusinessAccountMessagingLimit
|
|
6
|
+
extend Wavix::Internal::Types::Enum
|
|
7
|
+
|
|
8
|
+
UP_TO250 = "up_to_250"
|
|
9
|
+
UP_TO2K = "up_to_2k"
|
|
10
|
+
UP_TO10K = "up_to_10k"
|
|
11
|
+
UP_TO100K = "up_to_100k"
|
|
12
|
+
UNLIMITED = "unlimited"
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module Types
|
|
5
|
+
# A WhatsApp message you sent. Returned by `whatsapp_messages_send`.
|
|
6
|
+
class WhatsAppMessage < Internal::Types::Model
|
|
7
|
+
field :uuid, -> { String }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :from, -> { String }, optional: false, nullable: false
|
|
10
|
+
|
|
11
|
+
field :to, -> { String }, optional: false, nullable: false
|
|
12
|
+
|
|
13
|
+
field :status, -> { Wavix::Types::WhatsAppMessageStatus }, optional: false, nullable: false
|
|
14
|
+
|
|
15
|
+
field :template, -> { Wavix::Types::WhatsAppMessageTemplate }, optional: false, nullable: true
|
|
16
|
+
|
|
17
|
+
field :created_at, -> { String }, optional: false, nullable: false
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module Types
|
|
5
|
+
# Returned by `whatsapp_messages_get`.
|
|
6
|
+
class WhatsAppMessageGetResponse < Internal::Types::Model
|
|
7
|
+
field :message, -> { Wavix::Types::WhatsAppMessageListItem }, optional: false, nullable: false
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module Types
|
|
5
|
+
# A WhatsApp message your account sent or received. Returned by `whatsapp_messages_list` and
|
|
6
|
+
# `whatsapp_messages_get`.
|
|
7
|
+
class WhatsAppMessageListItem < Internal::Types::Model
|
|
8
|
+
field :uuid, -> { String }, optional: false, nullable: false
|
|
9
|
+
|
|
10
|
+
field :direction, -> { Wavix::Types::WhatsAppMessageListItemDirection }, optional: false, nullable: false
|
|
11
|
+
|
|
12
|
+
field :status, -> { Wavix::Types::WhatsAppMessageListItemStatus }, optional: false, nullable: false
|
|
13
|
+
|
|
14
|
+
field :from, -> { String }, optional: false, nullable: false
|
|
15
|
+
|
|
16
|
+
field :to, -> { String }, optional: false, nullable: false
|
|
17
|
+
|
|
18
|
+
field :country, -> { String }, optional: false, nullable: true
|
|
19
|
+
|
|
20
|
+
field :created_at, -> { String }, optional: false, nullable: false
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module Types
|
|
5
|
+
module WhatsAppMessageListItemStatus
|
|
6
|
+
extend Wavix::Internal::Types::Enum
|
|
7
|
+
|
|
8
|
+
SENT = "sent"
|
|
9
|
+
DELIVERED = "delivered"
|
|
10
|
+
UNDELIVERED = "undelivered"
|
|
11
|
+
EXPIRED = "expired"
|
|
12
|
+
REJECTED = "rejected"
|
|
13
|
+
UNKNOWN = "unknown"
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module Types
|
|
5
|
+
# Returned by `whatsapp_messages_list`.
|
|
6
|
+
class WhatsAppMessageListResponse < Internal::Types::Model
|
|
7
|
+
field :messages, -> { Internal::Types::Array[Wavix::Types::WhatsAppMessageListItem] }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :pagination, -> { Wavix::Types::Pagination }, optional: false, nullable: false
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module Types
|
|
5
|
+
# Attributes of a WhatsApp template message to send. Consumed by `whatsapp_messages_send`.
|
|
6
|
+
class WhatsAppMessageSendRequest < Internal::Types::Model
|
|
7
|
+
field :from, -> { String }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :to, -> { String }, optional: false, nullable: false
|
|
10
|
+
|
|
11
|
+
field :idempotency_key, -> { String }, optional: true, nullable: false
|
|
12
|
+
|
|
13
|
+
field :template, -> { Wavix::Types::WhatsAppSendTemplate }, optional: false, nullable: false
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Wavix
|
|
4
|
+
module Types
|
|
5
|
+
# Returned by `whatsapp_messages_send`.
|
|
6
|
+
class WhatsAppMessageSendResponse < Internal::Types::Model
|
|
7
|
+
field :message, -> { Wavix::Types::WhatsAppMessage }, optional: false, nullable: false
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|