sentdm 0.45.0 → 0.46.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/CHANGELOG.md +11 -0
- data/README.md +11 -11
- data/lib/sentdm/client.rb +66 -0
- data/lib/sentdm/internal/sender_profiles_page.rb +140 -0
- data/lib/sentdm/internal/type/enum.rb +11 -11
- data/lib/sentdm/models/account.rb +173 -0
- data/lib/sentdm/models/account_channels.rb +39 -0
- data/lib/sentdm/models/account_profile.rb +86 -0
- data/lib/sentdm/models/account_rcs_channel.rb +26 -0
- data/lib/sentdm/models/account_sms_channel.rb +26 -0
- data/lib/sentdm/models/account_whatsapp_channel.rb +35 -0
- data/lib/sentdm/models/api_response_of_account.rb +48 -0
- data/lib/sentdm/models/api_response_of_cancelled_message.rb +43 -0
- data/lib/sentdm/models/api_response_of_channels_state.rb +48 -0
- data/lib/sentdm/models/api_response_of_compliance_requirements.rb +47 -0
- data/lib/sentdm/models/api_response_of_contacts_list.rb +42 -0
- data/lib/sentdm/models/api_response_of_message.rb +51 -0
- data/lib/sentdm/models/api_response_of_message_activities.rb +43 -0
- data/lib/sentdm/models/api_response_of_number_lookup_result.rb +43 -0
- data/lib/sentdm/models/api_response_of_profile_completion_accepted.rb +47 -0
- data/lib/sentdm/models/api_response_of_profile_completion_result.rb +47 -0
- data/lib/sentdm/models/api_response_of_profiles_list.rb +43 -0
- data/lib/sentdm/models/api_response_of_sender_profile.rb +54 -0
- data/lib/sentdm/models/api_response_of_sender_profiles_list.rb +42 -0
- data/lib/sentdm/models/api_response_of_templates_list.rb +42 -0
- data/lib/sentdm/models/api_response_of_users_list.rb +43 -0
- data/lib/sentdm/models/api_response_of_webhook_event_types_list.rb +43 -0
- data/lib/sentdm/models/api_response_of_webhook_events_list.rb +42 -0
- data/lib/sentdm/models/{webhook_rotate_secret_response.rb → api_response_of_webhook_secret.rb} +4 -17
- data/lib/sentdm/models/{webhook_test_response.rb → api_response_of_webhook_test.rb} +4 -23
- data/lib/sentdm/models/api_response_of_webhooks_list.rb +42 -0
- data/lib/sentdm/models/billing_contact.rb +35 -0
- data/lib/sentdm/models/brand_business.rb +96 -0
- data/lib/sentdm/models/brand_business_info.rb +3 -20
- data/lib/sentdm/models/brand_compliance.rb +75 -0
- data/lib/sentdm/models/brand_contact.rb +56 -0
- data/lib/sentdm/models/brand_with_kyc.rb +129 -0
- data/lib/sentdm/models/cancelled_message.rb +28 -0
- data/lib/sentdm/models/channel_event_payload.rb +3 -114
- data/lib/sentdm/models/channel_list_params.rb +20 -0
- data/lib/sentdm/models/channel_score.rb +35 -0
- data/lib/sentdm/models/channels/api_response_of_list_of_sms_market.rb +45 -0
- data/lib/sentdm/models/channels/api_response_of_rcs_agent.rb +60 -0
- data/lib/sentdm/models/channels/api_response_of_sms_market.rb +54 -0
- data/lib/sentdm/models/channels/api_response_of_whatsapp_channel.rb +47 -0
- data/lib/sentdm/models/channels/market_compliance.rb +409 -0
- data/lib/sentdm/models/channels/rc_create_params.rb +260 -0
- data/lib/sentdm/models/channels/rcs_address.rb +43 -0
- data/lib/sentdm/models/channels/rcs_agent.rb +278 -0
- data/lib/sentdm/models/channels/sms_create_params.rb +173 -0
- data/lib/sentdm/models/channels/sms_list_params.rb +22 -0
- data/lib/sentdm/models/channels/sms_market.rb +158 -0
- data/lib/sentdm/models/channels/sms_number.rb +41 -0
- data/lib/sentdm/models/channels/sms_number_request.rb +33 -0
- data/lib/sentdm/models/channels/sms_retrieve_params.rb +34 -0
- data/lib/sentdm/models/channels/sms_update_params.rb +64 -0
- data/lib/sentdm/models/channels/supplied_compliance.rb +89 -0
- data/lib/sentdm/models/channels/supplied_document.rb +35 -0
- data/lib/sentdm/models/channels/whatsapp_channel.rb +109 -0
- data/lib/sentdm/models/channels/whatsapp_create_params.rb +65 -0
- data/lib/sentdm/models/channels_state.rb +89 -0
- data/lib/sentdm/models/compliance_attachment_template.rb +36 -0
- data/lib/sentdm/models/compliance_requirement.rb +112 -0
- data/lib/sentdm/models/compliance_requirements.rb +98 -0
- data/lib/sentdm/models/compliance_retrieve_requirements_params.rb +52 -0
- data/lib/sentdm/models/compliance_setup_step.rb +78 -0
- data/lib/sentdm/models/contact_message_summary.rb +3 -34
- data/lib/sentdm/models/contacts_list.rb +26 -0
- data/lib/sentdm/models/conversation_messages_list.rb +3 -430
- data/lib/sentdm/models/entity_type.rb +18 -0
- data/lib/sentdm/models/inbound_media.rb +53 -0
- data/lib/sentdm/models/inbound_message_event_payload.rb +3 -53
- data/lib/sentdm/models/link_event.rb +79 -0
- data/lib/sentdm/models/link_event_payload.rb +211 -0
- data/lib/sentdm/models/message.rb +168 -0
- data/lib/sentdm/models/message_activities.rb +34 -0
- data/lib/sentdm/models/message_activity.rb +105 -0
- data/lib/sentdm/models/message_body.rb +79 -0
- data/lib/sentdm/models/message_button.rb +33 -0
- data/lib/sentdm/models/message_cancel_params.rb +32 -0
- data/lib/sentdm/models/message_channel_options.rb +43 -0
- data/lib/sentdm/models/message_header_media.rb +31 -0
- data/lib/sentdm/models/message_media.rb +74 -0
- data/lib/sentdm/models/message_recipient.rb +46 -0
- data/lib/sentdm/models/message_send_params.rb +6 -90
- data/lib/sentdm/models/message_send_response.rb +3 -95
- data/lib/sentdm/models/message_send_result.rb +55 -0
- data/lib/sentdm/models/message_status_event.rb +54 -0
- data/lib/sentdm/models/mms_market.rb +48 -0
- data/lib/sentdm/models/number_lookup_result.rb +63 -0
- data/lib/sentdm/models/pagination_cursors.rb +27 -0
- data/lib/sentdm/models/pagination_meta.rb +3 -27
- data/lib/sentdm/models/profile_completion_accepted.rb +20 -0
- data/lib/sentdm/models/profile_completion_result.rb +31 -0
- data/lib/sentdm/models/profile_detail.rb +6 -408
- data/lib/sentdm/models/profiles/brand_campaign.rb +3 -15
- data/lib/sentdm/models/profiles_list.rb +26 -0
- data/lib/sentdm/models/sender_profile.rb +138 -0
- data/lib/sentdm/models/sender_profile_billing.rb +21 -0
- data/lib/sentdm/models/sender_profile_billing_request.rb +33 -0
- data/lib/sentdm/models/sender_profile_channels.rb +90 -0
- data/lib/sentdm/models/sender_profile_create_params.rb +116 -0
- data/lib/sentdm/models/sender_profile_delete_params.rb +20 -0
- data/lib/sentdm/models/sender_profile_list_params.rb +30 -0
- data/lib/sentdm/models/sender_profile_rcs.rb +209 -0
- data/lib/sentdm/models/sender_profile_retrieve_params.rb +20 -0
- data/lib/sentdm/models/sender_profile_sms.rb +106 -0
- data/lib/sentdm/models/sender_profile_update_params.rb +71 -0
- data/lib/sentdm/models/sender_profile_whatsapp.rb +61 -0
- data/lib/sentdm/models/sender_profiles_list.rb +26 -0
- data/lib/sentdm/models/tcr_brand_identity_status.rb +17 -0
- data/lib/sentdm/models/tcr_brand_status.rb +16 -0
- data/lib/sentdm/models/tcr_campaign_status.rb +16 -0
- data/lib/sentdm/models/template_body.rb +3 -70
- data/lib/sentdm/models/template_header.rb +3 -37
- data/lib/sentdm/models/template_header_location.rb +38 -0
- data/lib/sentdm/models/template_media_item.rb +34 -0
- data/lib/sentdm/models/template_mms_body_content.rb +49 -0
- data/lib/sentdm/models/template_ref.rb +51 -0
- data/lib/sentdm/models/template_variable.rb +3 -64
- data/lib/sentdm/models/template_variable_props.rb +65 -0
- data/lib/sentdm/models/templates_list.rb +26 -0
- data/lib/sentdm/models/users_list.rb +26 -0
- data/lib/sentdm/models/voice/call.rb +3 -54
- data/lib/sentdm/models/voice/call_leg.rb +58 -0
- data/lib/sentdm/models/webhook_create_params.rb +3 -25
- data/lib/sentdm/models/webhook_delivery.rb +160 -0
- data/lib/sentdm/models/webhook_event_types_list.rb +26 -0
- data/lib/sentdm/models/webhook_events_list.rb +26 -0
- data/lib/sentdm/models/webhook_response.rb +3 -28
- data/lib/sentdm/models/webhook_secret.rb +15 -0
- data/lib/sentdm/models/webhook_sender_profile.rb +29 -0
- data/lib/sentdm/models/webhook_sender_profile_config.rb +27 -0
- data/lib/sentdm/models/webhook_test.rb +21 -0
- data/lib/sentdm/models/webhook_update_params.rb +3 -25
- data/lib/sentdm/models/webhooks_list.rb +26 -0
- data/lib/sentdm/models.rb +188 -0
- data/lib/sentdm/resources/channels/rcs.rb +177 -0
- data/lib/sentdm/resources/channels/sms.rb +417 -0
- data/lib/sentdm/resources/channels/whatsapp.rb +106 -0
- data/lib/sentdm/resources/channels.rb +162 -0
- data/lib/sentdm/resources/compliance.rb +127 -0
- data/lib/sentdm/resources/conversations.rb +4 -4
- data/lib/sentdm/resources/me.rb +2 -2
- data/lib/sentdm/resources/messages.rb +71 -6
- data/lib/sentdm/resources/numbers.rb +2 -2
- data/lib/sentdm/resources/profiles.rb +4 -4
- data/lib/sentdm/resources/sender_profiles.rb +463 -0
- data/lib/sentdm/resources/users.rb +2 -2
- data/lib/sentdm/resources/webhooks.rb +10 -10
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +120 -11
- data/rbi/sentdm/client.rbi +64 -0
- data/rbi/sentdm/internal/sender_profiles_page.rbi +122 -0
- data/rbi/sentdm/models/account.rbi +242 -0
- data/rbi/sentdm/models/account_channels.rbi +66 -0
- data/rbi/sentdm/models/account_profile.rbi +116 -0
- data/rbi/sentdm/models/account_rcs_channel.rbi +45 -0
- data/rbi/sentdm/models/account_sms_channel.rbi +45 -0
- data/rbi/sentdm/models/account_whatsapp_channel.rbi +58 -0
- data/rbi/sentdm/models/api_response_of_account.rbi +78 -0
- data/rbi/sentdm/models/{webhook_rotate_secret_response.rbi → api_response_of_cancelled_message.rbi} +6 -41
- data/rbi/sentdm/models/api_response_of_channels_state.rbi +78 -0
- data/rbi/sentdm/models/api_response_of_compliance_requirements.rbi +81 -0
- data/rbi/sentdm/models/api_response_of_contacts_list.rbi +74 -0
- data/rbi/sentdm/models/api_response_of_message.rbi +84 -0
- data/rbi/sentdm/models/api_response_of_message_activities.rbi +77 -0
- data/rbi/sentdm/models/{webhook_test_response.rbi → api_response_of_number_lookup_result.rbi} +9 -43
- data/rbi/sentdm/models/api_response_of_profile_completion_accepted.rbi +83 -0
- data/rbi/sentdm/models/{profile_complete_response.rbi → api_response_of_profile_completion_result.rbi} +6 -52
- data/rbi/sentdm/models/api_response_of_profiles_list.rbi +74 -0
- data/rbi/sentdm/models/api_response_of_sender_profile.rbi +90 -0
- data/rbi/sentdm/models/api_response_of_sender_profiles_list.rbi +77 -0
- data/rbi/sentdm/models/api_response_of_templates_list.rbi +74 -0
- data/rbi/sentdm/models/api_response_of_users_list.rbi +74 -0
- data/rbi/sentdm/models/api_response_of_webhook_event_types_list.rbi +79 -0
- data/rbi/sentdm/models/api_response_of_webhook_events_list.rbi +77 -0
- data/rbi/sentdm/models/api_response_of_webhook_secret.rbi +74 -0
- data/rbi/sentdm/models/api_response_of_webhook_test.rbi +74 -0
- data/rbi/sentdm/models/api_response_of_webhooks_list.rbi +74 -0
- data/rbi/sentdm/models/billing_contact.rbi +49 -0
- data/rbi/sentdm/models/brand_business.rbi +115 -0
- data/rbi/sentdm/models/brand_business_info.rbi +3 -49
- data/rbi/sentdm/models/brand_compliance.rbi +108 -0
- data/rbi/sentdm/models/brand_contact.rbi +78 -0
- data/rbi/sentdm/models/brand_with_kyc.rbi +167 -0
- data/rbi/sentdm/models/cancelled_message.rbi +37 -0
- data/rbi/sentdm/models/channel_event_payload.rbi +4 -204
- data/rbi/sentdm/models/channel_list_params.rbi +38 -0
- data/rbi/sentdm/models/channel_score.rbi +56 -0
- data/rbi/sentdm/models/channels/api_response_of_list_of_sms_market.rbi +76 -0
- data/rbi/sentdm/models/channels/api_response_of_rcs_agent.rbi +103 -0
- data/rbi/sentdm/models/channels/api_response_of_sms_market.rbi +93 -0
- data/rbi/sentdm/models/channels/api_response_of_whatsapp_channel.rbi +85 -0
- data/rbi/sentdm/models/channels/market_compliance.rbi +770 -0
- data/rbi/sentdm/models/channels/rc_create_params.rbi +397 -0
- data/rbi/sentdm/models/channels/rcs_address.rbi +62 -0
- data/rbi/sentdm/models/channels/rcs_agent.rbi +320 -0
- data/rbi/sentdm/models/channels/sms_create_params.rbi +291 -0
- data/rbi/sentdm/models/channels/sms_list_params.rbi +40 -0
- data/rbi/sentdm/models/channels/sms_market.rbi +247 -0
- data/rbi/sentdm/models/channels/sms_number.rbi +60 -0
- data/rbi/sentdm/models/channels/sms_number_request.rbi +48 -0
- data/rbi/sentdm/models/channels/sms_retrieve_params.rbi +56 -0
- data/rbi/sentdm/models/channels/sms_update_params.rbi +93 -0
- data/rbi/sentdm/models/channels/supplied_compliance.rbi +140 -0
- data/rbi/sentdm/models/channels/supplied_document.rbi +57 -0
- data/rbi/sentdm/models/channels/whatsapp_channel.rbi +172 -0
- data/rbi/sentdm/models/channels/whatsapp_create_params.rbi +104 -0
- data/rbi/sentdm/models/channels_state.rbi +151 -0
- data/rbi/sentdm/models/compliance_attachment_template.rbi +56 -0
- data/rbi/sentdm/models/compliance_requirement.rbi +149 -0
- data/rbi/sentdm/models/compliance_requirements.rbi +165 -0
- data/rbi/sentdm/models/compliance_retrieve_requirements_params.rbi +79 -0
- data/rbi/sentdm/models/compliance_setup_step.rbi +115 -0
- data/rbi/sentdm/models/contact_message_summary.rbi +4 -69
- data/rbi/sentdm/models/contacts_list.rbi +50 -0
- data/rbi/sentdm/models/conversation_messages_list.rbi +4 -669
- data/rbi/sentdm/models/entity_type.rbi +23 -0
- data/rbi/sentdm/models/inbound_media.rbi +76 -0
- data/rbi/sentdm/models/inbound_message_event_payload.rbi +3 -85
- data/rbi/sentdm/models/link_event.rbi +128 -0
- data/rbi/sentdm/models/link_event_payload.rbi +279 -0
- data/rbi/sentdm/models/message.rbi +214 -0
- data/rbi/sentdm/models/message_activities.rbi +63 -0
- data/rbi/sentdm/models/message_activity.rbi +145 -0
- data/rbi/sentdm/models/message_body.rbi +104 -0
- data/rbi/sentdm/models/message_button.rbi +52 -0
- data/rbi/sentdm/models/message_cancel_params.rbi +59 -0
- data/rbi/sentdm/models/message_channel_options.rbi +65 -0
- data/rbi/sentdm/models/message_header_media.rbi +44 -0
- data/rbi/sentdm/models/message_media.rbi +95 -0
- data/rbi/sentdm/models/message_recipient.rbi +70 -0
- data/rbi/sentdm/models/message_send_params.rbi +7 -155
- data/rbi/sentdm/models/message_send_response.rbi +4 -163
- data/rbi/sentdm/models/message_send_result.rbi +85 -0
- data/rbi/sentdm/models/message_status_event.rbi +70 -0
- data/rbi/sentdm/models/mms_market.rbi +66 -0
- data/rbi/sentdm/models/number_lookup_result.rbi +89 -0
- data/rbi/sentdm/models/pagination_cursors.rbi +42 -0
- data/rbi/sentdm/models/pagination_meta.rbi +4 -43
- data/rbi/sentdm/models/profile_completion_accepted.rbi +33 -0
- data/rbi/sentdm/models/profile_completion_result.rbi +43 -0
- data/rbi/sentdm/models/profile_detail.rbi +8 -621
- data/rbi/sentdm/models/profiles/brand_campaign.rbi +3 -45
- data/rbi/sentdm/models/profiles_list.rbi +50 -0
- data/rbi/sentdm/models/sender_profile.rbi +204 -0
- data/rbi/sentdm/models/sender_profile_billing.rbi +34 -0
- data/rbi/sentdm/models/sender_profile_billing_request.rbi +46 -0
- data/rbi/sentdm/models/sender_profile_channels.rbi +163 -0
- data/rbi/sentdm/models/sender_profile_create_params.rbi +190 -0
- data/rbi/sentdm/models/sender_profile_delete_params.rbi +35 -0
- data/rbi/sentdm/models/sender_profile_list_params.rbi +57 -0
- data/rbi/sentdm/models/sender_profile_rcs.rbi +211 -0
- data/rbi/sentdm/models/sender_profile_retrieve_params.rbi +35 -0
- data/rbi/sentdm/models/sender_profile_sms.rbi +156 -0
- data/rbi/sentdm/models/sender_profile_update_params.rbi +96 -0
- data/rbi/sentdm/models/sender_profile_whatsapp.rbi +83 -0
- data/rbi/sentdm/models/sender_profiles_list.rbi +54 -0
- data/rbi/sentdm/models/tcr_brand_identity_status.rbi +27 -0
- data/rbi/sentdm/models/tcr_brand_status.rbi +20 -0
- data/rbi/sentdm/models/tcr_campaign_status.rbi +23 -0
- data/rbi/sentdm/models/template_body.rbi +6 -114
- data/rbi/sentdm/models/template_header.rbi +4 -53
- data/rbi/sentdm/models/template_header_location.rbi +47 -0
- data/rbi/sentdm/models/template_media_item.rbi +51 -0
- data/rbi/sentdm/models/template_mms_body_content.rbi +73 -0
- data/rbi/sentdm/models/template_ref.rbi +79 -0
- data/rbi/sentdm/models/template_variable.rbi +4 -80
- data/rbi/sentdm/models/template_variable_props.rbi +81 -0
- data/rbi/sentdm/models/templates_list.rbi +50 -0
- data/rbi/sentdm/models/users_list.rbi +50 -0
- data/rbi/sentdm/models/voice/call.rbi +3 -86
- data/rbi/sentdm/models/voice/call_leg.rbi +90 -0
- data/rbi/sentdm/models/webhook_create_params.rbi +4 -49
- data/rbi/sentdm/models/webhook_delivery.rbi +211 -0
- data/rbi/sentdm/models/webhook_event_types_list.rbi +54 -0
- data/rbi/sentdm/models/webhook_events_list.rbi +52 -0
- data/rbi/sentdm/models/webhook_response.rbi +4 -50
- data/rbi/sentdm/models/webhook_secret.rbi +24 -0
- data/rbi/sentdm/models/webhook_sender_profile.rbi +46 -0
- data/rbi/sentdm/models/webhook_sender_profile_config.rbi +44 -0
- data/rbi/sentdm/models/webhook_test.rbi +32 -0
- data/rbi/sentdm/models/webhook_update_params.rbi +4 -49
- data/rbi/sentdm/models/webhooks_list.rbi +50 -0
- data/rbi/sentdm/models.rbi +197 -0
- data/rbi/sentdm/resources/channels/rcs.rbi +208 -0
- data/rbi/sentdm/resources/channels/sms.rbi +437 -0
- data/rbi/sentdm/resources/channels/whatsapp.rbi +108 -0
- data/rbi/sentdm/resources/channels.rbi +149 -0
- data/rbi/sentdm/resources/compliance.rbi +121 -0
- data/rbi/sentdm/resources/conversations.rbi +2 -10
- data/rbi/sentdm/resources/me.rbi +1 -1
- data/rbi/sentdm/resources/messages.rbi +64 -7
- data/rbi/sentdm/resources/numbers.rbi +1 -1
- data/rbi/sentdm/resources/profiles.rbi +2 -2
- data/rbi/sentdm/resources/sender_profiles.rbi +461 -0
- data/rbi/sentdm/resources/users.rbi +1 -1
- data/rbi/sentdm/resources/webhooks.rbi +6 -12
- data/sig/sentdm/client.rbs +4 -0
- data/sig/sentdm/internal/sender_profiles_page.rbs +80 -0
- data/sig/sentdm/models/account.rbs +111 -0
- data/sig/sentdm/models/account_channels.rbs +38 -0
- data/sig/sentdm/models/account_profile.rbs +68 -0
- data/sig/sentdm/models/account_rcs_channel.rbs +17 -0
- data/sig/sentdm/models/account_sms_channel.rbs +17 -0
- data/sig/sentdm/models/account_whatsapp_channel.rbs +28 -0
- data/sig/sentdm/models/api_response_of_account.rbs +39 -0
- data/sig/sentdm/models/api_response_of_cancelled_message.rbs +39 -0
- data/sig/sentdm/models/api_response_of_channels_state.rbs +39 -0
- data/sig/sentdm/models/api_response_of_compliance_requirements.rbs +39 -0
- data/sig/sentdm/models/api_response_of_contacts_list.rbs +39 -0
- data/sig/sentdm/models/api_response_of_message.rbs +39 -0
- data/sig/sentdm/models/api_response_of_message_activities.rbs +39 -0
- data/sig/sentdm/models/api_response_of_number_lookup_result.rbs +39 -0
- data/sig/sentdm/models/api_response_of_profile_completion_accepted.rbs +39 -0
- data/sig/sentdm/models/api_response_of_profile_completion_result.rbs +39 -0
- data/sig/sentdm/models/api_response_of_profiles_list.rbs +39 -0
- data/sig/sentdm/models/api_response_of_sender_profile.rbs +39 -0
- data/sig/sentdm/models/api_response_of_sender_profiles_list.rbs +39 -0
- data/sig/sentdm/models/api_response_of_templates_list.rbs +39 -0
- data/sig/sentdm/models/api_response_of_users_list.rbs +39 -0
- data/sig/sentdm/models/api_response_of_webhook_event_types_list.rbs +39 -0
- data/sig/sentdm/models/api_response_of_webhook_events_list.rbs +39 -0
- data/sig/sentdm/models/api_response_of_webhook_secret.rbs +39 -0
- data/sig/sentdm/models/api_response_of_webhook_test.rbs +39 -0
- data/sig/sentdm/models/api_response_of_webhooks_list.rbs +39 -0
- data/sig/sentdm/models/billing_contact.rbs +30 -0
- data/sig/sentdm/models/brand_business.rbs +70 -0
- data/sig/sentdm/models/brand_business_info.rbs +4 -23
- data/sig/sentdm/models/brand_compliance.rbs +56 -0
- data/sig/sentdm/models/brand_contact.rbs +47 -0
- data/sig/sentdm/models/brand_with_kyc.rbs +93 -0
- data/sig/sentdm/models/cancelled_message.rbs +15 -0
- data/sig/sentdm/models/channel_event_payload.rbs +4 -56
- data/sig/sentdm/models/channel_list_params.rbs +25 -0
- data/sig/sentdm/models/channel_score.rbs +32 -0
- data/sig/sentdm/models/channels/api_response_of_list_of_sms_market.rbs +41 -0
- data/sig/sentdm/models/channels/api_response_of_rcs_agent.rbs +41 -0
- data/sig/sentdm/models/channels/api_response_of_sms_market.rbs +41 -0
- data/sig/sentdm/models/channels/api_response_of_whatsapp_channel.rbs +43 -0
- data/sig/sentdm/models/channels/market_compliance.rbs +338 -0
- data/sig/sentdm/models/channels/rc_create_params.rbs +242 -0
- data/sig/sentdm/models/channels/rcs_address.rbs +42 -0
- data/sig/sentdm/models/channels/rcs_agent.rbs +181 -0
- data/sig/sentdm/models/channels/sms_create_params.rbs +116 -0
- data/sig/sentdm/models/channels/sms_list_params.rbs +27 -0
- data/sig/sentdm/models/channels/sms_market.rbs +85 -0
- data/sig/sentdm/models/channels/sms_number.rbs +28 -0
- data/sig/sentdm/models/channels/sms_number_request.rbs +17 -0
- data/sig/sentdm/models/channels/sms_retrieve_params.rbs +36 -0
- data/sig/sentdm/models/channels/sms_update_params.rbs +63 -0
- data/sig/sentdm/models/channels/supplied_compliance.rbs +32 -0
- data/sig/sentdm/models/channels/supplied_document.rbs +30 -0
- data/sig/sentdm/models/channels/whatsapp_channel.rbs +78 -0
- data/sig/sentdm/models/channels/whatsapp_create_params.rbs +56 -0
- data/sig/sentdm/models/channels_state.rbs +55 -0
- data/sig/sentdm/models/compliance_attachment_template.rbs +26 -0
- data/sig/sentdm/models/compliance_requirement.rbs +76 -0
- data/sig/sentdm/models/compliance_requirements.rbs +66 -0
- data/sig/sentdm/models/compliance_retrieve_requirements_params.rbs +43 -0
- data/sig/sentdm/models/compliance_setup_step.rbs +62 -0
- data/sig/sentdm/models/contact_message_summary.rbs +6 -35
- data/sig/sentdm/models/contacts_list.rbs +31 -0
- data/sig/sentdm/models/conversation_messages_list.rbs +5 -312
- data/sig/sentdm/models/entity_type.rbs +22 -0
- data/sig/sentdm/models/inbound_media.rbs +35 -0
- data/sig/sentdm/models/inbound_message_event_payload.rbs +4 -36
- data/sig/sentdm/models/link_event.rbs +44 -0
- data/sig/sentdm/models/link_event_payload.rbs +106 -0
- data/sig/sentdm/models/message.rbs +130 -0
- data/sig/sentdm/models/message_activities.rbs +38 -0
- data/sig/sentdm/models/message_activity.rbs +66 -0
- data/sig/sentdm/models/message_body.rbs +52 -0
- data/sig/sentdm/models/message_button.rbs +34 -0
- data/sig/sentdm/models/message_cancel_params.rbs +38 -0
- data/sig/sentdm/models/message_channel_options.rbs +26 -0
- data/sig/sentdm/models/message_header_media.rbs +19 -0
- data/sig/sentdm/models/message_media.rbs +40 -0
- data/sig/sentdm/models/message_recipient.rbs +34 -0
- data/sig/sentdm/models/message_send_params.rbs +8 -54
- data/sig/sentdm/models/message_send_response.rbs +4 -77
- data/sig/sentdm/models/message_send_result.rbs +45 -0
- data/sig/sentdm/models/message_status_event.rbs +40 -0
- data/sig/sentdm/models/mms_market.rbs +35 -0
- data/sig/sentdm/models/number_lookup_result.rbs +64 -0
- data/sig/sentdm/models/pagination_cursors.rbs +15 -0
- data/sig/sentdm/models/pagination_meta.rbs +4 -16
- data/sig/sentdm/models/profile_completion_accepted.rbs +15 -0
- data/sig/sentdm/models/profile_completion_result.rbs +19 -0
- data/sig/sentdm/models/profile_detail.rbs +8 -315
- data/sig/sentdm/models/profiles/brand_campaign.rbs +4 -16
- data/sig/sentdm/models/profiles_list.rbs +31 -0
- data/sig/sentdm/models/sender_profile.rbs +76 -0
- data/sig/sentdm/models/sender_profile_billing.rbs +15 -0
- data/sig/sentdm/models/sender_profile_billing_request.rbs +15 -0
- data/sig/sentdm/models/sender_profile_channels.rbs +30 -0
- data/sig/sentdm/models/sender_profile_create_params.rbs +78 -0
- data/sig/sentdm/models/sender_profile_delete_params.rbs +20 -0
- data/sig/sentdm/models/sender_profile_list_params.rbs +32 -0
- data/sig/sentdm/models/sender_profile_rcs.rbs +150 -0
- data/sig/sentdm/models/sender_profile_retrieve_params.rbs +20 -0
- data/sig/sentdm/models/sender_profile_sms.rbs +40 -0
- data/sig/sentdm/models/sender_profile_update_params.rbs +62 -0
- data/sig/sentdm/models/sender_profile_whatsapp.rbs +16 -0
- data/sig/sentdm/models/sender_profiles_list.rbs +31 -0
- data/sig/sentdm/models/tcr_brand_identity_status.rbs +17 -0
- data/sig/sentdm/models/tcr_brand_status.rbs +15 -0
- data/sig/sentdm/models/tcr_campaign_status.rbs +15 -0
- data/sig/sentdm/models/template_body.rbs +4 -43
- data/sig/sentdm/models/template_header.rbs +4 -31
- data/sig/sentdm/models/template_header_location.rbs +30 -0
- data/sig/sentdm/models/template_media_item.rbs +17 -0
- data/sig/sentdm/models/template_mms_body_content.rbs +28 -0
- data/sig/sentdm/models/template_ref.rbs +26 -0
- data/sig/sentdm/models/template_variable.rbs +4 -51
- data/sig/sentdm/models/template_variable_props.rbs +50 -0
- data/sig/sentdm/models/templates_list.rbs +29 -0
- data/sig/sentdm/models/users_list.rbs +31 -0
- data/sig/sentdm/models/voice/call.rbs +4 -49
- data/sig/sentdm/models/voice/call_leg.rbs +50 -0
- data/sig/sentdm/models/webhook_create_params.rbs +4 -28
- data/sig/sentdm/models/webhook_delivery.rbs +99 -0
- data/sig/sentdm/models/webhook_event_types_list.rbs +31 -0
- data/sig/sentdm/models/webhook_events_list.rbs +31 -0
- data/sig/sentdm/models/webhook_response.rbs +4 -28
- data/sig/sentdm/models/webhook_secret.rbs +15 -0
- data/sig/sentdm/models/webhook_sender_profile.rbs +27 -0
- data/sig/sentdm/models/webhook_sender_profile_config.rbs +27 -0
- data/sig/sentdm/models/webhook_test.rbs +19 -0
- data/sig/sentdm/models/webhook_update_params.rbs +4 -28
- data/sig/sentdm/models/webhooks_list.rbs +31 -0
- data/sig/sentdm/models.rbs +188 -0
- data/sig/sentdm/resources/channels/rcs.rbs +41 -0
- data/sig/sentdm/resources/channels/sms.rbs +44 -0
- data/sig/sentdm/resources/channels/whatsapp.rbs +18 -0
- data/sig/sentdm/resources/channels.rbs +11 -0
- data/sig/sentdm/resources/compliance.rbs +15 -0
- data/sig/sentdm/resources/conversations.rbs +2 -2
- data/sig/sentdm/resources/me.rbs +1 -1
- data/sig/sentdm/resources/messages.rbs +12 -4
- data/sig/sentdm/resources/numbers.rbs +1 -1
- data/sig/sentdm/resources/profiles.rbs +2 -2
- data/sig/sentdm/resources/sender_profiles.rbs +44 -0
- data/sig/sentdm/resources/users.rbs +1 -1
- data/sig/sentdm/resources/webhooks.rbs +6 -6
- metadata +362 -35
- data/lib/sentdm/models/me_retrieve_response.rb +0 -409
- data/lib/sentdm/models/message_retrieve_activities_response.rb +0 -175
- data/lib/sentdm/models/message_retrieve_status_response.rb +0 -477
- data/lib/sentdm/models/number_lookup_response.rb +0 -104
- data/lib/sentdm/models/profile_complete_response.rb +0 -74
- data/lib/sentdm/models/profile_list_response.rb +0 -65
- data/lib/sentdm/models/user_list_response.rb +0 -65
- data/lib/sentdm/models/webhook_list_event_types_response.rb +0 -65
- data/lib/sentdm/models/webhook_list_events_response.rb +0 -445
- data/rbi/sentdm/models/me_retrieve_response.rbi +0 -705
- data/rbi/sentdm/models/message_retrieve_activities_response.rbi +0 -319
- data/rbi/sentdm/models/message_retrieve_status_response.rbi +0 -765
- data/rbi/sentdm/models/number_lookup_response.rbi +0 -166
- data/rbi/sentdm/models/profile_list_response.rbi +0 -128
- data/rbi/sentdm/models/user_list_response.rbi +0 -128
- data/rbi/sentdm/models/webhook_list_event_types_response.rbi +0 -142
- data/rbi/sentdm/models/webhook_list_events_response.rbi +0 -647
- data/sig/sentdm/models/me_retrieve_response.rbs +0 -306
- data/sig/sentdm/models/message_retrieve_activities_response.rbs +0 -137
- data/sig/sentdm/models/message_retrieve_status_response.rbs +0 -341
- data/sig/sentdm/models/number_lookup_response.rbs +0 -100
- data/sig/sentdm/models/profile_complete_response.rbs +0 -55
- data/sig/sentdm/models/profile_list_response.rbs +0 -67
- data/sig/sentdm/models/user_list_response.rbs +0 -67
- data/sig/sentdm/models/webhook_list_event_types_response.rbs +0 -67
- data/sig/sentdm/models/webhook_list_events_response.rbs +0 -243
- data/sig/sentdm/models/webhook_rotate_secret_response.rbs +0 -51
- data/sig/sentdm/models/webhook_test_response.rbs +0 -55
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
class SMSMarket < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(Sentdm::Channels::SMSMarket, Sentdm::Internal::AnyHash)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# What a market has been given: the identity it registers under, its programme,
|
|
13
|
+
# and any documents attached.
|
|
14
|
+
#
|
|
15
|
+
# What it does not carry is what the market asks for. That is the subject of GET
|
|
16
|
+
# /v3/compliance/requirements, and it is the same answer for every caller — a
|
|
17
|
+
# description of what a compliance regime wants, not a record of one customer's
|
|
18
|
+
# progress through it. It was reported here as well for a while, which put the
|
|
19
|
+
# same array in six response shapes and left a caller deciding which of two
|
|
20
|
+
# sources to believe.
|
|
21
|
+
#
|
|
22
|
+
# Present on a list read for markets that register (carrying brand and campaign),
|
|
23
|
+
# but with documents absent — documents are not fetched for a list, because a
|
|
24
|
+
# catalog lookup and a document read per market would multiply across a page.
|
|
25
|
+
# Absent documents is distinct from an empty list: absent says they were not
|
|
26
|
+
# fetched; empty says the market has been given none. The parent object is null
|
|
27
|
+
# only when the market registers with nobody and compliance was not computed —
|
|
28
|
+
# nothing to show at all.
|
|
29
|
+
sig { returns(T.nilable(Sentdm::Channels::SuppliedCompliance)) }
|
|
30
|
+
attr_reader :compliance
|
|
31
|
+
|
|
32
|
+
sig do
|
|
33
|
+
params(
|
|
34
|
+
compliance: T.nilable(Sentdm::Channels::SuppliedCompliance::OrHash)
|
|
35
|
+
).void
|
|
36
|
+
end
|
|
37
|
+
attr_writer :compliance
|
|
38
|
+
|
|
39
|
+
sig { returns(T.nilable(String)) }
|
|
40
|
+
attr_accessor :country
|
|
41
|
+
|
|
42
|
+
sig { returns(T.nilable(String)) }
|
|
43
|
+
attr_accessor :number_type
|
|
44
|
+
|
|
45
|
+
# Every number this market holds or is still owed, each with its area code and its
|
|
46
|
+
# own status (ACTIVE once it can send, PROVISIONING while it is still to be
|
|
47
|
+
# assigned, INACTIVE once it could send and no longer can). One entry for a market
|
|
48
|
+
# holding one number. US 10DLC numbers are assigned when the campaign is approved,
|
|
49
|
+
# so they read as owed until then. Read-only.
|
|
50
|
+
sig { returns(T.nilable(T::Array[Sentdm::Channels::SMSNumber])) }
|
|
51
|
+
attr_reader :numbers
|
|
52
|
+
|
|
53
|
+
sig do
|
|
54
|
+
params(numbers: T::Array[Sentdm::Channels::SMSNumber::OrHash]).void
|
|
55
|
+
end
|
|
56
|
+
attr_writer :numbers
|
|
57
|
+
|
|
58
|
+
# A sentence for reason_code: this market's own explanation, naming what is
|
|
59
|
+
# outstanding where that is you. Omitted while ACTIVE.
|
|
60
|
+
sig { returns(T.nilable(String)) }
|
|
61
|
+
attr_accessor :reason
|
|
62
|
+
|
|
63
|
+
# Why the market is not ACTIVE, as a stable code: an ErrorCodes CHANNEL_xxx value
|
|
64
|
+
# such as CHANNEL_001 (something you owe) or CHANNEL_009 (under review). Switch on
|
|
65
|
+
# this rather than on reason. Omitted while ACTIVE. Read-only; when nothing more
|
|
66
|
+
# specific is known it is the generic reason for the status.
|
|
67
|
+
sig { returns(T.nilable(String)) }
|
|
68
|
+
attr_accessor :reason_code
|
|
69
|
+
|
|
70
|
+
# The sender itself. Null until a carrier-assigned number is procured. For a
|
|
71
|
+
# market holding several numbers, the first active one (the first assigned while
|
|
72
|
+
# none is active) — every number is in numbers.
|
|
73
|
+
sig { returns(T.nilable(String)) }
|
|
74
|
+
attr_accessor :sender_value
|
|
75
|
+
|
|
76
|
+
# Where this market's sender stands, in terms of who is holding it up —
|
|
77
|
+
# PROVISIONING, ACTION_NEEDED, PENDING_REVIEW or ACTIVE. Read-only.
|
|
78
|
+
#
|
|
79
|
+
# Resolved rather than reported raw: a live sender reads ACTIVE whatever it still
|
|
80
|
+
# owes, a market with outstanding requirements or an open resubmission request
|
|
81
|
+
# reads ACTION_NEEDED, and a market that registers with a regime reads
|
|
82
|
+
# PENDING_REVIEW once its brand exists — filing to The Campaign Registry is ours
|
|
83
|
+
# to do and need not have happened yet, so a dedicated brand created through this
|
|
84
|
+
# API reads PENDING_REVIEW from the moment it is stored.
|
|
85
|
+
#
|
|
86
|
+
# Describes whether the market can send, not each number: a market holding several
|
|
87
|
+
# numbers reads ACTIVE as soon as one of them is, whatever the others are doing.
|
|
88
|
+
# Each number's own status is in numbers.
|
|
89
|
+
sig do
|
|
90
|
+
returns(T.nilable(Sentdm::Channels::SMSMarket::Status::TaggedSymbol))
|
|
91
|
+
end
|
|
92
|
+
attr_accessor :status
|
|
93
|
+
|
|
94
|
+
# One SMS market the profile sends in — its sender, where that sender stands, and
|
|
95
|
+
# what the market wants.
|
|
96
|
+
#
|
|
97
|
+
# A profile may send in several: it is a tenant, not a market. Each carries its
|
|
98
|
+
# own status, because a profile can be live in one country and mid-registration in
|
|
99
|
+
# another — and each carries what it still owes, rather than that being reported
|
|
100
|
+
# in a separate array a caller has to join on.
|
|
101
|
+
sig do
|
|
102
|
+
params(
|
|
103
|
+
compliance: T.nilable(Sentdm::Channels::SuppliedCompliance::OrHash),
|
|
104
|
+
country: T.nilable(String),
|
|
105
|
+
number_type: T.nilable(String),
|
|
106
|
+
numbers: T::Array[Sentdm::Channels::SMSNumber::OrHash],
|
|
107
|
+
reason: T.nilable(String),
|
|
108
|
+
reason_code: T.nilable(String),
|
|
109
|
+
sender_value: T.nilable(String),
|
|
110
|
+
status: T.nilable(Sentdm::Channels::SMSMarket::Status::OrSymbol)
|
|
111
|
+
).returns(T.attached_class)
|
|
112
|
+
end
|
|
113
|
+
def self.new(
|
|
114
|
+
# What a market has been given: the identity it registers under, its programme,
|
|
115
|
+
# and any documents attached.
|
|
116
|
+
#
|
|
117
|
+
# What it does not carry is what the market asks for. That is the subject of GET
|
|
118
|
+
# /v3/compliance/requirements, and it is the same answer for every caller — a
|
|
119
|
+
# description of what a compliance regime wants, not a record of one customer's
|
|
120
|
+
# progress through it. It was reported here as well for a while, which put the
|
|
121
|
+
# same array in six response shapes and left a caller deciding which of two
|
|
122
|
+
# sources to believe.
|
|
123
|
+
#
|
|
124
|
+
# Present on a list read for markets that register (carrying brand and campaign),
|
|
125
|
+
# but with documents absent — documents are not fetched for a list, because a
|
|
126
|
+
# catalog lookup and a document read per market would multiply across a page.
|
|
127
|
+
# Absent documents is distinct from an empty list: absent says they were not
|
|
128
|
+
# fetched; empty says the market has been given none. The parent object is null
|
|
129
|
+
# only when the market registers with nobody and compliance was not computed —
|
|
130
|
+
# nothing to show at all.
|
|
131
|
+
compliance: nil,
|
|
132
|
+
country: nil,
|
|
133
|
+
number_type: nil,
|
|
134
|
+
# Every number this market holds or is still owed, each with its area code and its
|
|
135
|
+
# own status (ACTIVE once it can send, PROVISIONING while it is still to be
|
|
136
|
+
# assigned, INACTIVE once it could send and no longer can). One entry for a market
|
|
137
|
+
# holding one number. US 10DLC numbers are assigned when the campaign is approved,
|
|
138
|
+
# so they read as owed until then. Read-only.
|
|
139
|
+
numbers: nil,
|
|
140
|
+
# A sentence for reason_code: this market's own explanation, naming what is
|
|
141
|
+
# outstanding where that is you. Omitted while ACTIVE.
|
|
142
|
+
reason: nil,
|
|
143
|
+
# Why the market is not ACTIVE, as a stable code: an ErrorCodes CHANNEL_xxx value
|
|
144
|
+
# such as CHANNEL_001 (something you owe) or CHANNEL_009 (under review). Switch on
|
|
145
|
+
# this rather than on reason. Omitted while ACTIVE. Read-only; when nothing more
|
|
146
|
+
# specific is known it is the generic reason for the status.
|
|
147
|
+
reason_code: nil,
|
|
148
|
+
# The sender itself. Null until a carrier-assigned number is procured. For a
|
|
149
|
+
# market holding several numbers, the first active one (the first assigned while
|
|
150
|
+
# none is active) — every number is in numbers.
|
|
151
|
+
sender_value: nil,
|
|
152
|
+
# Where this market's sender stands, in terms of who is holding it up —
|
|
153
|
+
# PROVISIONING, ACTION_NEEDED, PENDING_REVIEW or ACTIVE. Read-only.
|
|
154
|
+
#
|
|
155
|
+
# Resolved rather than reported raw: a live sender reads ACTIVE whatever it still
|
|
156
|
+
# owes, a market with outstanding requirements or an open resubmission request
|
|
157
|
+
# reads ACTION_NEEDED, and a market that registers with a regime reads
|
|
158
|
+
# PENDING_REVIEW once its brand exists — filing to The Campaign Registry is ours
|
|
159
|
+
# to do and need not have happened yet, so a dedicated brand created through this
|
|
160
|
+
# API reads PENDING_REVIEW from the moment it is stored.
|
|
161
|
+
#
|
|
162
|
+
# Describes whether the market can send, not each number: a market holding several
|
|
163
|
+
# numbers reads ACTIVE as soon as one of them is, whatever the others are doing.
|
|
164
|
+
# Each number's own status is in numbers.
|
|
165
|
+
status: nil
|
|
166
|
+
)
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
sig do
|
|
170
|
+
override.returns(
|
|
171
|
+
{
|
|
172
|
+
compliance: T.nilable(Sentdm::Channels::SuppliedCompliance),
|
|
173
|
+
country: T.nilable(String),
|
|
174
|
+
number_type: T.nilable(String),
|
|
175
|
+
numbers: T::Array[Sentdm::Channels::SMSNumber],
|
|
176
|
+
reason: T.nilable(String),
|
|
177
|
+
reason_code: T.nilable(String),
|
|
178
|
+
sender_value: T.nilable(String),
|
|
179
|
+
status:
|
|
180
|
+
T.nilable(Sentdm::Channels::SMSMarket::Status::TaggedSymbol)
|
|
181
|
+
}
|
|
182
|
+
)
|
|
183
|
+
end
|
|
184
|
+
def to_hash
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
# Where this market's sender stands, in terms of who is holding it up —
|
|
188
|
+
# PROVISIONING, ACTION_NEEDED, PENDING_REVIEW or ACTIVE. Read-only.
|
|
189
|
+
#
|
|
190
|
+
# Resolved rather than reported raw: a live sender reads ACTIVE whatever it still
|
|
191
|
+
# owes, a market with outstanding requirements or an open resubmission request
|
|
192
|
+
# reads ACTION_NEEDED, and a market that registers with a regime reads
|
|
193
|
+
# PENDING_REVIEW once its brand exists — filing to The Campaign Registry is ours
|
|
194
|
+
# to do and need not have happened yet, so a dedicated brand created through this
|
|
195
|
+
# API reads PENDING_REVIEW from the moment it is stored.
|
|
196
|
+
#
|
|
197
|
+
# Describes whether the market can send, not each number: a market holding several
|
|
198
|
+
# numbers reads ACTIVE as soon as one of them is, whatever the others are doing.
|
|
199
|
+
# Each number's own status is in numbers.
|
|
200
|
+
module Status
|
|
201
|
+
extend Sentdm::Internal::Type::Enum
|
|
202
|
+
|
|
203
|
+
TaggedSymbol =
|
|
204
|
+
T.type_alias { T.all(Symbol, Sentdm::Channels::SMSMarket::Status) }
|
|
205
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
206
|
+
|
|
207
|
+
# We are working on it and there is nothing for you to do — a number is being procured, or a registration is being assembled. Minutes to hours.
|
|
208
|
+
PROVISIONING =
|
|
209
|
+
T.let(
|
|
210
|
+
:PROVISIONING,
|
|
211
|
+
Sentdm::Channels::SMSMarket::Status::TaggedSymbol
|
|
212
|
+
)
|
|
213
|
+
|
|
214
|
+
# **Waiting on you.** Something the market asks for has not been supplied, a regulator rejected what was, or we have asked you to correct and resubmit your identity data. Nothing progresses until you act. For an SMS market, `GET /v3/channels/sms/{country}/{type}` names what it wants and `PATCH` on the same path supplies it — compliance values, documents and numbers alike.
|
|
215
|
+
ACTION_NEEDED =
|
|
216
|
+
T.let(
|
|
217
|
+
:ACTION_NEEDED,
|
|
218
|
+
Sentdm::Channels::SMSMarket::Status::TaggedSymbol
|
|
219
|
+
)
|
|
220
|
+
|
|
221
|
+
# With a regulator or carrier — filed, or assembled and queued for us to file — and their answer is what moves it, to `ACTIVE` or back to `ACTION_NEEDED`. Nothing on your side changes it. Days for SMS, weeks for RCS.
|
|
222
|
+
PENDING_REVIEW =
|
|
223
|
+
T.let(
|
|
224
|
+
:PENDING_REVIEW,
|
|
225
|
+
Sentdm::Channels::SMSMarket::Status::TaggedSymbol
|
|
226
|
+
)
|
|
227
|
+
|
|
228
|
+
# Can carry traffic now. A channel a sender profile runs on its organization's reads `ACTIVE` too — it sends, which is what the field is about.
|
|
229
|
+
ACTIVE =
|
|
230
|
+
T.let(:ACTIVE, Sentdm::Channels::SMSMarket::Status::TaggedSymbol)
|
|
231
|
+
|
|
232
|
+
# **It had a working sender and no longer does** — the number was released, or the campaign it carried lapsed. Distinct from `PROVISIONING`, which means it has never sent yet: the same absence of a sender, opposite news. Sends will fail until it returns to `ACTIVE`.
|
|
233
|
+
INACTIVE =
|
|
234
|
+
T.let(:INACTIVE, Sentdm::Channels::SMSMarket::Status::TaggedSymbol)
|
|
235
|
+
|
|
236
|
+
sig do
|
|
237
|
+
override.returns(
|
|
238
|
+
T::Array[Sentdm::Channels::SMSMarket::Status::TaggedSymbol]
|
|
239
|
+
)
|
|
240
|
+
end
|
|
241
|
+
def self.values
|
|
242
|
+
end
|
|
243
|
+
end
|
|
244
|
+
end
|
|
245
|
+
end
|
|
246
|
+
end
|
|
247
|
+
end
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
class SMSNumber < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(Sentdm::Channels::SMSNumber, Sentdm::Internal::AnyHash)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# The number's area code, e.g. 212. While the number is still to be assigned, the
|
|
13
|
+
# area code it was asked for, or null when it was asked for in any area code.
|
|
14
|
+
sig { returns(T.nilable(String)) }
|
|
15
|
+
attr_accessor :area_code
|
|
16
|
+
|
|
17
|
+
# The number, or null while it is still to be assigned.
|
|
18
|
+
sig { returns(T.nilable(String)) }
|
|
19
|
+
attr_accessor :sender_value
|
|
20
|
+
|
|
21
|
+
# ACTIVE once the number can send; PROVISIONING while it is still to be assigned;
|
|
22
|
+
# INACTIVE once it could send and no longer can.
|
|
23
|
+
sig { returns(T.nilable(String)) }
|
|
24
|
+
attr_accessor :status
|
|
25
|
+
|
|
26
|
+
# One number of an SMS market.
|
|
27
|
+
sig do
|
|
28
|
+
params(
|
|
29
|
+
area_code: T.nilable(String),
|
|
30
|
+
sender_value: T.nilable(String),
|
|
31
|
+
status: T.nilable(String)
|
|
32
|
+
).returns(T.attached_class)
|
|
33
|
+
end
|
|
34
|
+
def self.new(
|
|
35
|
+
# The number's area code, e.g. 212. While the number is still to be assigned, the
|
|
36
|
+
# area code it was asked for, or null when it was asked for in any area code.
|
|
37
|
+
area_code: nil,
|
|
38
|
+
# The number, or null while it is still to be assigned.
|
|
39
|
+
sender_value: nil,
|
|
40
|
+
# ACTIVE once the number can send; PROVISIONING while it is still to be assigned;
|
|
41
|
+
# INACTIVE once it could send and no longer can.
|
|
42
|
+
status: nil
|
|
43
|
+
)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
sig do
|
|
47
|
+
override.returns(
|
|
48
|
+
{
|
|
49
|
+
area_code: T.nilable(String),
|
|
50
|
+
sender_value: T.nilable(String),
|
|
51
|
+
status: T.nilable(String)
|
|
52
|
+
}
|
|
53
|
+
)
|
|
54
|
+
end
|
|
55
|
+
def to_hash
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
class SMSNumberRequest < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(Sentdm::Channels::SMSNumberRequest, Sentdm::Internal::AnyHash)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# The area code, e.g. 212, validated against the request's country. Omit it for
|
|
13
|
+
# numbers in any area code.
|
|
14
|
+
sig { returns(T.nilable(String)) }
|
|
15
|
+
attr_accessor :area_code
|
|
16
|
+
|
|
17
|
+
# How many numbers. At least 1; omitted means 1.
|
|
18
|
+
sig { returns(T.nilable(Integer)) }
|
|
19
|
+
attr_accessor :quantity
|
|
20
|
+
|
|
21
|
+
# One entry of numbers: how many numbers to assign in one area code, or in any
|
|
22
|
+
# area code when AreaCode is omitted.
|
|
23
|
+
sig do
|
|
24
|
+
params(
|
|
25
|
+
area_code: T.nilable(String),
|
|
26
|
+
quantity: T.nilable(Integer)
|
|
27
|
+
).returns(T.attached_class)
|
|
28
|
+
end
|
|
29
|
+
def self.new(
|
|
30
|
+
# The area code, e.g. 212, validated against the request's country. Omit it for
|
|
31
|
+
# numbers in any area code.
|
|
32
|
+
area_code: nil,
|
|
33
|
+
# How many numbers. At least 1; omitted means 1.
|
|
34
|
+
quantity: nil
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
sig do
|
|
39
|
+
override.returns(
|
|
40
|
+
{ area_code: T.nilable(String), quantity: T.nilable(Integer) }
|
|
41
|
+
)
|
|
42
|
+
end
|
|
43
|
+
def to_hash
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
class SMSRetrieveParams < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Sentdm::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(
|
|
13
|
+
Sentdm::Channels::SMSRetrieveParams,
|
|
14
|
+
Sentdm::Internal::AnyHash
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :country
|
|
20
|
+
|
|
21
|
+
sig { returns(String) }
|
|
22
|
+
attr_accessor :type
|
|
23
|
+
|
|
24
|
+
sig { returns(T.nilable(String)) }
|
|
25
|
+
attr_reader :x_profile_id
|
|
26
|
+
|
|
27
|
+
sig { params(x_profile_id: String).void }
|
|
28
|
+
attr_writer :x_profile_id
|
|
29
|
+
|
|
30
|
+
sig do
|
|
31
|
+
params(
|
|
32
|
+
country: String,
|
|
33
|
+
type: String,
|
|
34
|
+
x_profile_id: String,
|
|
35
|
+
request_options: Sentdm::RequestOptions::OrHash
|
|
36
|
+
).returns(T.attached_class)
|
|
37
|
+
end
|
|
38
|
+
def self.new(country:, type:, x_profile_id: nil, request_options: {})
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
sig do
|
|
42
|
+
override.returns(
|
|
43
|
+
{
|
|
44
|
+
country: String,
|
|
45
|
+
type: String,
|
|
46
|
+
x_profile_id: String,
|
|
47
|
+
request_options: Sentdm::RequestOptions
|
|
48
|
+
}
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
def to_hash
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
class SMSUpdateParams < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Sentdm::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(Sentdm::Channels::SMSUpdateParams, Sentdm::Internal::AnyHash)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :country
|
|
17
|
+
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :type
|
|
20
|
+
|
|
21
|
+
# The compliance values a market registers with. `brand` and `campaign` apply to
|
|
22
|
+
# US `TEN_DLC`; other markets fill this map with the document keys their own
|
|
23
|
+
# requirements name.
|
|
24
|
+
sig { returns(T.nilable(Sentdm::Channels::MarketCompliance)) }
|
|
25
|
+
attr_reader :compliance
|
|
26
|
+
|
|
27
|
+
sig do
|
|
28
|
+
params(compliance: Sentdm::Channels::MarketCompliance::OrHash).void
|
|
29
|
+
end
|
|
30
|
+
attr_writer :compliance
|
|
31
|
+
|
|
32
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
33
|
+
attr_reader :sandbox
|
|
34
|
+
|
|
35
|
+
sig { params(sandbox: T::Boolean).void }
|
|
36
|
+
attr_writer :sandbox
|
|
37
|
+
|
|
38
|
+
sig { returns(T.nilable(String)) }
|
|
39
|
+
attr_reader :idempotency_key
|
|
40
|
+
|
|
41
|
+
sig { params(idempotency_key: String).void }
|
|
42
|
+
attr_writer :idempotency_key
|
|
43
|
+
|
|
44
|
+
sig { returns(T.nilable(String)) }
|
|
45
|
+
attr_reader :x_profile_id
|
|
46
|
+
|
|
47
|
+
sig { params(x_profile_id: String).void }
|
|
48
|
+
attr_writer :x_profile_id
|
|
49
|
+
|
|
50
|
+
sig do
|
|
51
|
+
params(
|
|
52
|
+
country: String,
|
|
53
|
+
type: String,
|
|
54
|
+
compliance: Sentdm::Channels::MarketCompliance::OrHash,
|
|
55
|
+
sandbox: T::Boolean,
|
|
56
|
+
idempotency_key: String,
|
|
57
|
+
x_profile_id: String,
|
|
58
|
+
request_options: Sentdm::RequestOptions::OrHash
|
|
59
|
+
).returns(T.attached_class)
|
|
60
|
+
end
|
|
61
|
+
def self.new(
|
|
62
|
+
country:,
|
|
63
|
+
type:,
|
|
64
|
+
# The compliance values a market registers with. `brand` and `campaign` apply to
|
|
65
|
+
# US `TEN_DLC`; other markets fill this map with the document keys their own
|
|
66
|
+
# requirements name.
|
|
67
|
+
compliance: nil,
|
|
68
|
+
sandbox: nil,
|
|
69
|
+
idempotency_key: nil,
|
|
70
|
+
x_profile_id: nil,
|
|
71
|
+
request_options: {}
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
sig do
|
|
76
|
+
override.returns(
|
|
77
|
+
{
|
|
78
|
+
country: String,
|
|
79
|
+
type: String,
|
|
80
|
+
compliance: Sentdm::Channels::MarketCompliance,
|
|
81
|
+
sandbox: T::Boolean,
|
|
82
|
+
idempotency_key: String,
|
|
83
|
+
x_profile_id: String,
|
|
84
|
+
request_options: Sentdm::RequestOptions
|
|
85
|
+
}
|
|
86
|
+
)
|
|
87
|
+
end
|
|
88
|
+
def to_hash
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
class SuppliedCompliance < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
Sentdm::Channels::SuppliedCompliance,
|
|
11
|
+
Sentdm::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# The identity this market registers under, with inherit saying whose it is.
|
|
16
|
+
#
|
|
17
|
+
# Reported here rather than on the profile because it belongs to the registration
|
|
18
|
+
# this market files, and only one market files one. It was a top-level block for a
|
|
19
|
+
# while, which put a per-registration value beside a list of markets and left a
|
|
20
|
+
# caller to work out which market it belonged to.
|
|
21
|
+
#
|
|
22
|
+
# Absent for a market that registers with nobody — such a market asks for no
|
|
23
|
+
# identity, so there is none to report. Absent and null mean different things:
|
|
24
|
+
# absent says this market does not ask, null would say it asks and nothing was
|
|
25
|
+
# supplied.
|
|
26
|
+
#
|
|
27
|
+
# Untyped, like the request side, because its members are declared by the market's
|
|
28
|
+
# own schema rather than by a C# class. A typed pair here would be a second
|
|
29
|
+
# definition of what a market wants, free to drift from the one that validates.
|
|
30
|
+
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
|
31
|
+
attr_accessor :brand
|
|
32
|
+
|
|
33
|
+
# The programme this market registers, with inherit saying whose it is.
|
|
34
|
+
#
|
|
35
|
+
# One, not a list. TcrCampaigns permits several and an account built on the admin
|
|
36
|
+
# side may hold them, but this surface offers one — which is what lets the
|
|
37
|
+
# market's PATCH be an upsert rather than a collection with an addressable create
|
|
38
|
+
# behind it. An account holding several is reported as its first and refused on
|
|
39
|
+
# write, rather than half-edited.
|
|
40
|
+
#
|
|
41
|
+
# Carries no id. Nothing addresses a campaign, and an undeclared key would be
|
|
42
|
+
# refused if the caller sent this object back — which it is meant to be able to
|
|
43
|
+
# do.
|
|
44
|
+
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
|
45
|
+
attr_accessor :campaign
|
|
46
|
+
|
|
47
|
+
# What has been supplied for this market.
|
|
48
|
+
#
|
|
49
|
+
# Files, not values — the declared halves above carry the values. A document
|
|
50
|
+
# cannot be a JSON value, so it is sent as multipart on the channel call and
|
|
51
|
+
# reported here as a reference.
|
|
52
|
+
#
|
|
53
|
+
# Absent on a list read, which fetches identity but does not compute compliance
|
|
54
|
+
# documents per market. Absent and empty mean different things: absent says the
|
|
55
|
+
# documents were not fetched; empty says the market has been given none.
|
|
56
|
+
sig { returns(T.nilable(T::Array[Sentdm::Channels::SuppliedDocument])) }
|
|
57
|
+
attr_accessor :documents
|
|
58
|
+
|
|
59
|
+
# What a market has been given: the identity it registers under, its programme,
|
|
60
|
+
# and any documents attached.
|
|
61
|
+
#
|
|
62
|
+
# What it does not carry is what the market asks for. That is the subject of GET
|
|
63
|
+
# /v3/compliance/requirements, and it is the same answer for every caller — a
|
|
64
|
+
# description of what a compliance regime wants, not a record of one customer's
|
|
65
|
+
# progress through it. It was reported here as well for a while, which put the
|
|
66
|
+
# same array in six response shapes and left a caller deciding which of two
|
|
67
|
+
# sources to believe.
|
|
68
|
+
#
|
|
69
|
+
# Present on a list read for markets that register (carrying brand and campaign),
|
|
70
|
+
# but with documents absent — documents are not fetched for a list, because a
|
|
71
|
+
# catalog lookup and a document read per market would multiply across a page.
|
|
72
|
+
# Absent documents is distinct from an empty list: absent says they were not
|
|
73
|
+
# fetched; empty says the market has been given none. The parent object is null
|
|
74
|
+
# only when the market registers with nobody and compliance was not computed —
|
|
75
|
+
# nothing to show at all.
|
|
76
|
+
sig do
|
|
77
|
+
params(
|
|
78
|
+
brand: T.nilable(T::Hash[Symbol, T.anything]),
|
|
79
|
+
campaign: T.nilable(T::Hash[Symbol, T.anything]),
|
|
80
|
+
documents:
|
|
81
|
+
T.nilable(T::Array[Sentdm::Channels::SuppliedDocument::OrHash])
|
|
82
|
+
).returns(T.attached_class)
|
|
83
|
+
end
|
|
84
|
+
def self.new(
|
|
85
|
+
# The identity this market registers under, with inherit saying whose it is.
|
|
86
|
+
#
|
|
87
|
+
# Reported here rather than on the profile because it belongs to the registration
|
|
88
|
+
# this market files, and only one market files one. It was a top-level block for a
|
|
89
|
+
# while, which put a per-registration value beside a list of markets and left a
|
|
90
|
+
# caller to work out which market it belonged to.
|
|
91
|
+
#
|
|
92
|
+
# Absent for a market that registers with nobody — such a market asks for no
|
|
93
|
+
# identity, so there is none to report. Absent and null mean different things:
|
|
94
|
+
# absent says this market does not ask, null would say it asks and nothing was
|
|
95
|
+
# supplied.
|
|
96
|
+
#
|
|
97
|
+
# Untyped, like the request side, because its members are declared by the market's
|
|
98
|
+
# own schema rather than by a C# class. A typed pair here would be a second
|
|
99
|
+
# definition of what a market wants, free to drift from the one that validates.
|
|
100
|
+
brand: nil,
|
|
101
|
+
# The programme this market registers, with inherit saying whose it is.
|
|
102
|
+
#
|
|
103
|
+
# One, not a list. TcrCampaigns permits several and an account built on the admin
|
|
104
|
+
# side may hold them, but this surface offers one — which is what lets the
|
|
105
|
+
# market's PATCH be an upsert rather than a collection with an addressable create
|
|
106
|
+
# behind it. An account holding several is reported as its first and refused on
|
|
107
|
+
# write, rather than half-edited.
|
|
108
|
+
#
|
|
109
|
+
# Carries no id. Nothing addresses a campaign, and an undeclared key would be
|
|
110
|
+
# refused if the caller sent this object back — which it is meant to be able to
|
|
111
|
+
# do.
|
|
112
|
+
campaign: nil,
|
|
113
|
+
# What has been supplied for this market.
|
|
114
|
+
#
|
|
115
|
+
# Files, not values — the declared halves above carry the values. A document
|
|
116
|
+
# cannot be a JSON value, so it is sent as multipart on the channel call and
|
|
117
|
+
# reported here as a reference.
|
|
118
|
+
#
|
|
119
|
+
# Absent on a list read, which fetches identity but does not compute compliance
|
|
120
|
+
# documents per market. Absent and empty mean different things: absent says the
|
|
121
|
+
# documents were not fetched; empty says the market has been given none.
|
|
122
|
+
documents: nil
|
|
123
|
+
)
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
sig do
|
|
127
|
+
override.returns(
|
|
128
|
+
{
|
|
129
|
+
brand: T.nilable(T::Hash[Symbol, T.anything]),
|
|
130
|
+
campaign: T.nilable(T::Hash[Symbol, T.anything]),
|
|
131
|
+
documents: T.nilable(T::Array[Sentdm::Channels::SuppliedDocument])
|
|
132
|
+
}
|
|
133
|
+
)
|
|
134
|
+
end
|
|
135
|
+
def to_hash
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
end
|