sentdm 0.45.0 → 0.47.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 +22 -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 +148 -0
- data/lib/sentdm/models/channels/sms_number.rb +52 -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_campaign.rb +10 -0
- data/lib/sentdm/models/channels/supplied_compliance.rb +115 -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 +14 -16
- 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 +7 -57
- 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 +420 -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/campaigns.rb +4 -1
- data/lib/sentdm/resources/profiles.rb +4 -4
- data/lib/sentdm/resources/sender_profiles.rb +465 -0
- data/lib/sentdm/resources/users.rb +2 -2
- data/lib/sentdm/resources/voice/calls/participants.rb +5 -5
- data/lib/sentdm/resources/webhooks.rb +10 -10
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +121 -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 +235 -0
- data/rbi/sentdm/models/channels/sms_number.rbi +74 -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_campaign.rbi +13 -0
- data/rbi/sentdm/models/channels/supplied_compliance.rbi +180 -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 +18 -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 +11 -92
- 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 +440 -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/campaigns.rbi +4 -1
- data/rbi/sentdm/resources/profiles.rbi +2 -2
- data/rbi/sentdm/resources/sender_profiles.rbi +463 -0
- data/rbi/sentdm/resources/users.rbi +1 -1
- data/rbi/sentdm/resources/voice/calls/participants.rbi +5 -5
- 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 +80 -0
- data/sig/sentdm/models/channels/sms_number.rbs +37 -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_campaign.rbs +9 -0
- data/sig/sentdm/models/channels/supplied_compliance.rbs +37 -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 +11 -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 +365 -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,52 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
class SMSNumber < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute area_code
|
|
8
|
+
# The number's area code, e.g. 212. While the number is still to be assigned, the
|
|
9
|
+
# area code it was asked for, or null when it was asked for in any area code.
|
|
10
|
+
#
|
|
11
|
+
# @return [String, nil]
|
|
12
|
+
optional :area_code, String, nil?: true
|
|
13
|
+
|
|
14
|
+
# @!attribute campaign_id
|
|
15
|
+
# The campaign the number is on, or is owed for: the id of its entry in
|
|
16
|
+
# compliance.campaigns. Omitted for a market that registers no campaigns, and
|
|
17
|
+
# where the campaign is not known — a number recorded without one, or one owed on
|
|
18
|
+
# a campaign inherited from the organization.
|
|
19
|
+
#
|
|
20
|
+
# @return [String, nil]
|
|
21
|
+
optional :campaign_id, String, nil?: true
|
|
22
|
+
|
|
23
|
+
# @!attribute sender_value
|
|
24
|
+
# The number, or null while it is still to be assigned.
|
|
25
|
+
#
|
|
26
|
+
# @return [String, nil]
|
|
27
|
+
optional :sender_value, String, nil?: true
|
|
28
|
+
|
|
29
|
+
# @!attribute status
|
|
30
|
+
# ACTIVE once the number can send; PROVISIONING while it is still to be assigned;
|
|
31
|
+
# INACTIVE once it could send and no longer can.
|
|
32
|
+
#
|
|
33
|
+
# @return [String, nil]
|
|
34
|
+
optional :status, String, nil?: true
|
|
35
|
+
|
|
36
|
+
# @!method initialize(area_code: nil, campaign_id: nil, sender_value: nil, status: nil)
|
|
37
|
+
# Some parameter documentations has been truncated, see
|
|
38
|
+
# {Sentdm::Models::Channels::SMSNumber} for more details.
|
|
39
|
+
#
|
|
40
|
+
# One number of an SMS market.
|
|
41
|
+
#
|
|
42
|
+
# @param area_code [String, nil] The number's area code, e.g. 212. While the number is still to be assigned, the
|
|
43
|
+
#
|
|
44
|
+
# @param campaign_id [String, nil] The campaign the number is on, or is owed for: the id of its entry in compliance
|
|
45
|
+
#
|
|
46
|
+
# @param sender_value [String, nil] The number, or null while it is still to be assigned.
|
|
47
|
+
#
|
|
48
|
+
# @param status [String, nil] ACTIVE once the number can send; PROVISIONING while it is still to be assigned;
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
class SMSNumberRequest < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute area_code
|
|
8
|
+
# The area code, e.g. 212, validated against the request's country. Omit it for
|
|
9
|
+
# numbers in any area code.
|
|
10
|
+
#
|
|
11
|
+
# @return [String, nil]
|
|
12
|
+
optional :area_code, String, nil?: true
|
|
13
|
+
|
|
14
|
+
# @!attribute quantity
|
|
15
|
+
# How many numbers. At least 1; omitted means 1.
|
|
16
|
+
#
|
|
17
|
+
# @return [Integer, nil]
|
|
18
|
+
optional :quantity, Integer, nil?: true
|
|
19
|
+
|
|
20
|
+
# @!method initialize(area_code: nil, quantity: nil)
|
|
21
|
+
# Some parameter documentations has been truncated, see
|
|
22
|
+
# {Sentdm::Models::Channels::SMSNumberRequest} for more details.
|
|
23
|
+
#
|
|
24
|
+
# One entry of numbers: how many numbers to assign in one area code, or in any
|
|
25
|
+
# area code when AreaCode is omitted.
|
|
26
|
+
#
|
|
27
|
+
# @param area_code [String, nil] The area code, e.g. 212, validated against the request's country. Omit it for nu
|
|
28
|
+
#
|
|
29
|
+
# @param quantity [Integer, nil] How many numbers. At least 1; omitted means 1.
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
# @see Sentdm::Resources::Channels::SMS#retrieve
|
|
7
|
+
class SMSRetrieveParams < Sentdm::Internal::Type::BaseModel
|
|
8
|
+
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
9
|
+
include Sentdm::Internal::Type::RequestParameters
|
|
10
|
+
|
|
11
|
+
# @!attribute country
|
|
12
|
+
#
|
|
13
|
+
# @return [String]
|
|
14
|
+
required :country, String
|
|
15
|
+
|
|
16
|
+
# @!attribute type
|
|
17
|
+
#
|
|
18
|
+
# @return [String]
|
|
19
|
+
required :type, String
|
|
20
|
+
|
|
21
|
+
# @!attribute x_profile_id
|
|
22
|
+
#
|
|
23
|
+
# @return [String, nil]
|
|
24
|
+
optional :x_profile_id, String
|
|
25
|
+
|
|
26
|
+
# @!method initialize(country:, type:, x_profile_id: nil, request_options: {})
|
|
27
|
+
# @param country [String]
|
|
28
|
+
# @param type [String]
|
|
29
|
+
# @param x_profile_id [String]
|
|
30
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
# @see Sentdm::Resources::Channels::SMS#update
|
|
7
|
+
class SMSUpdateParams < Sentdm::Internal::Type::BaseModel
|
|
8
|
+
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
9
|
+
include Sentdm::Internal::Type::RequestParameters
|
|
10
|
+
|
|
11
|
+
# @!attribute country
|
|
12
|
+
#
|
|
13
|
+
# @return [String]
|
|
14
|
+
required :country, String
|
|
15
|
+
|
|
16
|
+
# @!attribute type
|
|
17
|
+
#
|
|
18
|
+
# @return [String]
|
|
19
|
+
required :type, String
|
|
20
|
+
|
|
21
|
+
# @!attribute compliance
|
|
22
|
+
# The compliance values a market registers with. `brand` and `campaign` apply to
|
|
23
|
+
# US `TEN_DLC`; other markets fill this map with the document keys their own
|
|
24
|
+
# requirements name.
|
|
25
|
+
#
|
|
26
|
+
# @return [Sentdm::Models::Channels::MarketCompliance, nil]
|
|
27
|
+
optional :compliance, -> { Sentdm::Channels::MarketCompliance }
|
|
28
|
+
|
|
29
|
+
# @!attribute sandbox
|
|
30
|
+
#
|
|
31
|
+
# @return [Boolean, nil]
|
|
32
|
+
optional :sandbox, Sentdm::Internal::Type::Boolean
|
|
33
|
+
|
|
34
|
+
# @!attribute idempotency_key
|
|
35
|
+
#
|
|
36
|
+
# @return [String, nil]
|
|
37
|
+
optional :idempotency_key, String
|
|
38
|
+
|
|
39
|
+
# @!attribute x_profile_id
|
|
40
|
+
#
|
|
41
|
+
# @return [String, nil]
|
|
42
|
+
optional :x_profile_id, String
|
|
43
|
+
|
|
44
|
+
# @!method initialize(country:, type:, compliance: nil, sandbox: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
|
|
45
|
+
# Some parameter documentations has been truncated, see
|
|
46
|
+
# {Sentdm::Models::Channels::SMSUpdateParams} for more details.
|
|
47
|
+
#
|
|
48
|
+
# @param country [String]
|
|
49
|
+
#
|
|
50
|
+
# @param type [String]
|
|
51
|
+
#
|
|
52
|
+
# @param compliance [Sentdm::Models::Channels::MarketCompliance] The compliance values a market registers with. `brand` and `campaign` apply to U
|
|
53
|
+
#
|
|
54
|
+
# @param sandbox [Boolean]
|
|
55
|
+
#
|
|
56
|
+
# @param idempotency_key [String]
|
|
57
|
+
#
|
|
58
|
+
# @param x_profile_id [String]
|
|
59
|
+
#
|
|
60
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
class SuppliedCompliance < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute brand
|
|
8
|
+
# The identity this market registers under, with inherit saying whose it is.
|
|
9
|
+
#
|
|
10
|
+
# Reported here rather than on the profile because it belongs to the registration
|
|
11
|
+
# this market files, and only one market files one. It was a top-level block for a
|
|
12
|
+
# while, which put a per-registration value beside a list of markets and left a
|
|
13
|
+
# caller to work out which market it belonged to.
|
|
14
|
+
#
|
|
15
|
+
# Absent for a market that registers with nobody — such a market asks for no
|
|
16
|
+
# identity, so there is none to report. Absent and null mean different things:
|
|
17
|
+
# absent says this market does not ask, null would say it asks and nothing was
|
|
18
|
+
# supplied.
|
|
19
|
+
#
|
|
20
|
+
# Untyped, like the request side, because its members are declared by the market's
|
|
21
|
+
# own schema rather than by a C# class. A typed pair here would be a second
|
|
22
|
+
# definition of what a market wants, free to drift from the one that validates.
|
|
23
|
+
#
|
|
24
|
+
# @return [Hash{Symbol=>Object}, nil]
|
|
25
|
+
optional :brand, Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::Unknown], nil?: true
|
|
26
|
+
|
|
27
|
+
# @!attribute campaign
|
|
28
|
+
# The programme this market registers, with inherit saying whose it is.
|
|
29
|
+
#
|
|
30
|
+
# One, not a list. TcrCampaigns permits several and an account built on the admin
|
|
31
|
+
# side may hold them, but this surface offers one — which is what lets the
|
|
32
|
+
# market's PATCH be an upsert rather than a collection with an addressable create
|
|
33
|
+
# behind it. An account holding several is reported as its first and refused on
|
|
34
|
+
# write, rather than half-edited.
|
|
35
|
+
#
|
|
36
|
+
# Carries no id. Nothing addresses a campaign, and an undeclared key would be
|
|
37
|
+
# refused if the caller sent this object back — which it is meant to be able to
|
|
38
|
+
# do.
|
|
39
|
+
#
|
|
40
|
+
# @return [Hash{Symbol=>Object}, nil]
|
|
41
|
+
optional :campaign, Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::Unknown], nil?: true
|
|
42
|
+
|
|
43
|
+
# @!attribute campaigns
|
|
44
|
+
# Every campaign this market registers, each with inherit saying whose it is —
|
|
45
|
+
# oldest first.
|
|
46
|
+
#
|
|
47
|
+
# A list, because a market can now be on more than one. POST
|
|
48
|
+
# /v3/channels/sms/compliances/US/TEN_DLC/campaigns adds a campaign of the
|
|
49
|
+
# customer's own beside the one it has, and a profile running on its
|
|
50
|
+
# organization's campaign keeps that one when it adds its own. Campaign can only
|
|
51
|
+
# show one of them, so it stays as it was, for callers that read it, and this is
|
|
52
|
+
# where the rest are.
|
|
53
|
+
#
|
|
54
|
+
# The organization's campaign reads "inherit": true and the customer's own read
|
|
55
|
+
# "inherit": false. Each entry is the shape of Campaign plus id, the campaign's
|
|
56
|
+
# own id, so several can be told apart. Campaign carries no id, because it is sent
|
|
57
|
+
# back to PATCH, which refuses a key it does not declare; this list is read-only.
|
|
58
|
+
#
|
|
59
|
+
# Absent for a market that registers with nobody; empty for one that registers and
|
|
60
|
+
# has no campaign yet.
|
|
61
|
+
#
|
|
62
|
+
# @return [Array<Hash{Symbol=>Object}>, nil]
|
|
63
|
+
optional :campaigns,
|
|
64
|
+
Sentdm::Internal::Type::ArrayOf[Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::Unknown]],
|
|
65
|
+
nil?: true
|
|
66
|
+
|
|
67
|
+
# @!attribute documents
|
|
68
|
+
# What has been supplied for this market.
|
|
69
|
+
#
|
|
70
|
+
# Files, not values — the declared halves above carry the values. A document
|
|
71
|
+
# cannot be a JSON value, so it is sent as multipart on the channel call and
|
|
72
|
+
# reported here as a reference.
|
|
73
|
+
#
|
|
74
|
+
# Absent on a list read, which fetches identity but does not compute compliance
|
|
75
|
+
# documents per market. Absent and empty mean different things: absent says the
|
|
76
|
+
# documents were not fetched; empty says the market has been given none.
|
|
77
|
+
#
|
|
78
|
+
# @return [Array<Sentdm::Models::Channels::SuppliedDocument>, nil]
|
|
79
|
+
optional :documents,
|
|
80
|
+
-> { Sentdm::Internal::Type::ArrayOf[Sentdm::Channels::SuppliedDocument] },
|
|
81
|
+
nil?: true
|
|
82
|
+
|
|
83
|
+
# @!method initialize(brand: nil, campaign: nil, campaigns: nil, documents: nil)
|
|
84
|
+
# Some parameter documentations has been truncated, see
|
|
85
|
+
# {Sentdm::Models::Channels::SuppliedCompliance} for more details.
|
|
86
|
+
#
|
|
87
|
+
# What a market has been given: the identity it registers under, its programme,
|
|
88
|
+
# and any documents attached.
|
|
89
|
+
#
|
|
90
|
+
# What it does not carry is what the market asks for. That is the subject of GET
|
|
91
|
+
# /v3/compliance/requirements, and it is the same answer for every caller — a
|
|
92
|
+
# description of what a compliance regime wants, not a record of one customer's
|
|
93
|
+
# progress through it. It was reported here as well for a while, which put the
|
|
94
|
+
# same array in six response shapes and left a caller deciding which of two
|
|
95
|
+
# sources to believe.
|
|
96
|
+
#
|
|
97
|
+
# Present on a list read for markets that register (carrying brand and campaign),
|
|
98
|
+
# but with documents absent — documents are not fetched for a list, because a
|
|
99
|
+
# catalog lookup and a document read per market would multiply across a page.
|
|
100
|
+
# Absent documents is distinct from an empty list: absent says they were not
|
|
101
|
+
# fetched; empty says the market has been given none. The parent object is null
|
|
102
|
+
# only when the market registers with nobody and compliance was not computed —
|
|
103
|
+
# nothing to show at all.
|
|
104
|
+
#
|
|
105
|
+
# @param brand [Hash{Symbol=>Object}, nil] The identity this market registers under, with inherit saying whose it is.
|
|
106
|
+
#
|
|
107
|
+
# @param campaign [Hash{Symbol=>Object}, nil] The programme this market registers, with inherit saying whose it is.
|
|
108
|
+
#
|
|
109
|
+
# @param campaigns [Array<Hash{Symbol=>Object}>, nil] Every campaign this market registers, each with inherit saying whose it is — old
|
|
110
|
+
#
|
|
111
|
+
# @param documents [Array<Sentdm::Models::Channels::SuppliedDocument>, nil] What has been supplied for this market.
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
class SuppliedDocument < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute document_id
|
|
8
|
+
# Identifier of the upload, for fetching it back through the documents endpoints.
|
|
9
|
+
#
|
|
10
|
+
# @return [String, nil]
|
|
11
|
+
optional :document_id, String, nil?: true
|
|
12
|
+
|
|
13
|
+
# @!attribute file_name
|
|
14
|
+
#
|
|
15
|
+
# @return [String, nil]
|
|
16
|
+
optional :file_name, String, nil?: true
|
|
17
|
+
|
|
18
|
+
# @!attribute key
|
|
19
|
+
# The catalog's name for this document, matching the requirement it satisfies.
|
|
20
|
+
#
|
|
21
|
+
# @return [String, nil]
|
|
22
|
+
optional :key, String
|
|
23
|
+
|
|
24
|
+
# @!method initialize(document_id: nil, file_name: nil, key: nil)
|
|
25
|
+
# A document a market asked for and has been given.
|
|
26
|
+
#
|
|
27
|
+
# @param document_id [String, nil] Identifier of the upload, for fetching it back through the documents endpoints.
|
|
28
|
+
#
|
|
29
|
+
# @param file_name [String, nil]
|
|
30
|
+
#
|
|
31
|
+
# @param key [String] The catalog's name for this document, matching the requirement it satisfies.
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
class WhatsappChannel < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute owner_business_id
|
|
8
|
+
# Derived from the organization's shared-account listing, like SolutionId.
|
|
9
|
+
#
|
|
10
|
+
# @return [String, nil]
|
|
11
|
+
optional :owner_business_id, String, nil?: true
|
|
12
|
+
|
|
13
|
+
# @!attribute phone_number_id
|
|
14
|
+
# The Meta phone-number id the profile sends from, or null when the account is
|
|
15
|
+
# connected but no number has been named yet — which is what a provisioning status
|
|
16
|
+
# means here.
|
|
17
|
+
#
|
|
18
|
+
# @return [String, nil]
|
|
19
|
+
optional :phone_number_id, String, nil?: true
|
|
20
|
+
|
|
21
|
+
# @!attribute reason
|
|
22
|
+
# A sentence for reason_code, saying what to do where it is yours. Omitted while
|
|
23
|
+
# ACTIVE.
|
|
24
|
+
#
|
|
25
|
+
# @return [String, nil]
|
|
26
|
+
optional :reason, String, nil?: true
|
|
27
|
+
|
|
28
|
+
# @!attribute reason_code
|
|
29
|
+
# Why the account is not ACTIVE, as a stable code: an ErrorCodes CHANNEL_xxx value
|
|
30
|
+
# such as CHANNEL_001 (something you owe) or CHANNEL_009 (under review). Switch on
|
|
31
|
+
# this rather than on reason. Omitted while ACTIVE. Read-only; when nothing more
|
|
32
|
+
# specific is known it is the generic reason for the status.
|
|
33
|
+
#
|
|
34
|
+
# @return [String, nil]
|
|
35
|
+
optional :reason_code, String, nil?: true
|
|
36
|
+
|
|
37
|
+
# @!attribute solution_id
|
|
38
|
+
# Derived, not echoed. The request no longer accepts this — it is read off the
|
|
39
|
+
# organization's shared-account listing at connect time and reported back so a
|
|
40
|
+
# caller can see which partnership the account actually arrived through.
|
|
41
|
+
#
|
|
42
|
+
# @return [String, nil]
|
|
43
|
+
optional :solution_id, String, nil?: true
|
|
44
|
+
|
|
45
|
+
# @!attribute status
|
|
46
|
+
# Read-only. Never carries a token — the row holds that and it is not returned.
|
|
47
|
+
# ACTION_NEEDED when no account is connected or the account has no phone number:
|
|
48
|
+
# both are yours to do.
|
|
49
|
+
#
|
|
50
|
+
# @return [Symbol, Sentdm::Models::Channels::WhatsappChannel::Status, nil]
|
|
51
|
+
optional :status, enum: -> { Sentdm::Channels::WhatsappChannel::Status }, nil?: true
|
|
52
|
+
|
|
53
|
+
# @!attribute waba_id
|
|
54
|
+
#
|
|
55
|
+
# @return [String, nil]
|
|
56
|
+
optional :waba_id, String, nil?: true
|
|
57
|
+
|
|
58
|
+
# @!method initialize(owner_business_id: nil, phone_number_id: nil, reason: nil, reason_code: nil, solution_id: nil, status: nil, waba_id: nil)
|
|
59
|
+
# Some parameter documentations has been truncated, see
|
|
60
|
+
# {Sentdm::Models::Channels::WhatsappChannel} for more details.
|
|
61
|
+
#
|
|
62
|
+
# The profile's WhatsApp account. Its status is Meta's verification state.
|
|
63
|
+
#
|
|
64
|
+
# @param owner_business_id [String, nil] Derived from the organization's shared-account listing, like SolutionId.
|
|
65
|
+
#
|
|
66
|
+
# @param phone_number_id [String, nil] The Meta phone-number id the profile sends from, or null when the account is con
|
|
67
|
+
#
|
|
68
|
+
# @param reason [String, nil] A sentence for reason_code, saying what to do where it is yours. Omitted while A
|
|
69
|
+
#
|
|
70
|
+
# @param reason_code [String, nil] Why the account is not ACTIVE, as a stable code: an ErrorCodes CHANNEL_xxx value
|
|
71
|
+
#
|
|
72
|
+
# @param solution_id [String, nil] Derived, not echoed. The request no longer accepts this — it is read off the org
|
|
73
|
+
#
|
|
74
|
+
# @param status [Symbol, Sentdm::Models::Channels::WhatsappChannel::Status, nil] Read-only. Never carries a token — the row holds that and it is not returned. AC
|
|
75
|
+
#
|
|
76
|
+
# @param waba_id [String, nil]
|
|
77
|
+
|
|
78
|
+
# Read-only. Never carries a token — the row holds that and it is not returned.
|
|
79
|
+
# ACTION_NEEDED when no account is connected or the account has no phone number:
|
|
80
|
+
# both are yours to do.
|
|
81
|
+
#
|
|
82
|
+
# @see Sentdm::Models::Channels::WhatsappChannel#status
|
|
83
|
+
module Status
|
|
84
|
+
extend Sentdm::Internal::Type::Enum
|
|
85
|
+
|
|
86
|
+
# 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.
|
|
87
|
+
PROVISIONING = :PROVISIONING
|
|
88
|
+
|
|
89
|
+
# **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.
|
|
90
|
+
ACTION_NEEDED = :ACTION_NEEDED
|
|
91
|
+
|
|
92
|
+
# 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.
|
|
93
|
+
PENDING_REVIEW = :PENDING_REVIEW
|
|
94
|
+
|
|
95
|
+
# 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.
|
|
96
|
+
ACTIVE = :ACTIVE
|
|
97
|
+
|
|
98
|
+
# **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`.
|
|
99
|
+
INACTIVE = :INACTIVE
|
|
100
|
+
|
|
101
|
+
# @!method self.values
|
|
102
|
+
# @return [Array<Symbol>]
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
WhatsappChannel = Channels::WhatsappChannel
|
|
108
|
+
end
|
|
109
|
+
end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
# @see Sentdm::Resources::Channels::Whatsapp#create
|
|
7
|
+
class WhatsappCreateParams < Sentdm::Internal::Type::BaseModel
|
|
8
|
+
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
9
|
+
include Sentdm::Internal::Type::RequestParameters
|
|
10
|
+
|
|
11
|
+
# @!attribute phone_number_id
|
|
12
|
+
# The Meta phone-number id of the number on WabaId, which assigns it to this
|
|
13
|
+
# profile as the number it sends from. It is not checked against the account here,
|
|
14
|
+
# so name the account's number; it is refused if another profile already uses it.
|
|
15
|
+
#
|
|
16
|
+
# Optional: omit it to connect the account and settle the number later. Nothing
|
|
17
|
+
# picks one on your behalf.
|
|
18
|
+
#
|
|
19
|
+
# @return [String, nil]
|
|
20
|
+
optional :phone_number_id, String, nil?: true
|
|
21
|
+
|
|
22
|
+
# @!attribute sandbox
|
|
23
|
+
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
24
|
+
# for testing integrations without actual execution
|
|
25
|
+
#
|
|
26
|
+
# @return [Boolean, nil]
|
|
27
|
+
optional :sandbox, Sentdm::Internal::Type::Boolean
|
|
28
|
+
|
|
29
|
+
# @!attribute waba_id
|
|
30
|
+
# WhatsApp Business Account id — one of the accounts shared into your
|
|
31
|
+
# organization. Required: the organization holds one per client, and nothing but
|
|
32
|
+
# the caller says which is meant here.
|
|
33
|
+
#
|
|
34
|
+
# @return [String, nil]
|
|
35
|
+
optional :waba_id, String
|
|
36
|
+
|
|
37
|
+
# @!attribute idempotency_key
|
|
38
|
+
#
|
|
39
|
+
# @return [String, nil]
|
|
40
|
+
optional :idempotency_key, String
|
|
41
|
+
|
|
42
|
+
# @!attribute x_profile_id
|
|
43
|
+
#
|
|
44
|
+
# @return [String, nil]
|
|
45
|
+
optional :x_profile_id, String
|
|
46
|
+
|
|
47
|
+
# @!method initialize(phone_number_id: nil, sandbox: nil, waba_id: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
|
|
48
|
+
# Some parameter documentations has been truncated, see
|
|
49
|
+
# {Sentdm::Models::Channels::WhatsappCreateParams} for more details.
|
|
50
|
+
#
|
|
51
|
+
# @param phone_number_id [String, nil] The Meta phone-number id of the number on WabaId, which assigns it to this profi
|
|
52
|
+
#
|
|
53
|
+
# @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
|
|
54
|
+
#
|
|
55
|
+
# @param waba_id [String] WhatsApp Business Account id — one of the accounts shared into your organization
|
|
56
|
+
#
|
|
57
|
+
# @param idempotency_key [String]
|
|
58
|
+
#
|
|
59
|
+
# @param x_profile_id [String]
|
|
60
|
+
#
|
|
61
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class ChannelsState < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute customer_id
|
|
7
|
+
# Which customer these channels belong to — the key's own, or the profile named in
|
|
8
|
+
# x-profile-id.
|
|
9
|
+
#
|
|
10
|
+
# Same reason the brand carries one: as the response to /v3/channels there is no
|
|
11
|
+
# other id in the document, and under x-profile-id this is the profile the call
|
|
12
|
+
# resolved to rather than the caller. Absent when nested inside a sender profile,
|
|
13
|
+
# whose own id already says whose they are.
|
|
14
|
+
#
|
|
15
|
+
# @return [String, nil]
|
|
16
|
+
optional :customer_id, String, nil?: true
|
|
17
|
+
|
|
18
|
+
# @!attribute mms
|
|
19
|
+
# The markets this profile can send MMS in, one entry per country, or empty when
|
|
20
|
+
# none.
|
|
21
|
+
#
|
|
22
|
+
# Appears alongside sms rather than replacing an entry in it: the two are separate
|
|
23
|
+
# senders on the same number and a caller needs to see both — a market can be live
|
|
24
|
+
# for SMS while its MMS row is still provisioning, or MMS-incapable entirely
|
|
25
|
+
# because the market's sender-type SKU does not carry it.
|
|
26
|
+
#
|
|
27
|
+
# @return [Array<Sentdm::Models::MmsMarket>, nil]
|
|
28
|
+
optional :mms, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::MmsMarket] }
|
|
29
|
+
|
|
30
|
+
# @!attribute rcs
|
|
31
|
+
# An RCS agent as its owner sees it: the order form back, plus where the
|
|
32
|
+
# submission stands.
|
|
33
|
+
#
|
|
34
|
+
# Not RcsSenderResponse. That one is the admin projection and carries the pipeline
|
|
35
|
+
# we track about a customer's request — internalStatus, statusReason, isLaunched —
|
|
36
|
+
# and the S3 keys behind the assets. None of that is the customer's to read: an
|
|
37
|
+
# internal status is a note to ourselves, and an S3 key is a storage detail that
|
|
38
|
+
# would become a contract the moment it was published.
|
|
39
|
+
#
|
|
40
|
+
# What is here is what the caller sent, in the names it sent them under, plus the
|
|
41
|
+
# three things only we can answer: the record's id, its status, and the number it
|
|
42
|
+
# sends from. So a read after a write shows the form as stored rather than as
|
|
43
|
+
# echoed.
|
|
44
|
+
#
|
|
45
|
+
# @return [Sentdm::Models::Channels::RcsAgent, nil]
|
|
46
|
+
optional :rcs, -> { Sentdm::Channels::RcsAgent }, nil?: true
|
|
47
|
+
|
|
48
|
+
# @!attribute sms
|
|
49
|
+
#
|
|
50
|
+
# @return [Array<Sentdm::Models::Channels::SMSMarket>, nil]
|
|
51
|
+
optional :sms, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Channels::SMSMarket] }
|
|
52
|
+
|
|
53
|
+
# @!attribute voice
|
|
54
|
+
# The numbers this profile carries phone calls on, one entry per number, or empty
|
|
55
|
+
# when none. Voice is per number like an SMS market is per country: each number is
|
|
56
|
+
# its own channel row, turned on and off on its own, and one of them is the line
|
|
57
|
+
# app-originated calls fall back to.
|
|
58
|
+
#
|
|
59
|
+
# @return [Array<Sentdm::Models::Channels::VoiceNumber>, nil]
|
|
60
|
+
optional :voice, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Channels::VoiceNumber] }
|
|
61
|
+
|
|
62
|
+
# @!attribute whatsapp
|
|
63
|
+
# The profile's WhatsApp account. Its status is Meta's verification state.
|
|
64
|
+
#
|
|
65
|
+
# @return [Sentdm::Models::Channels::WhatsappChannel, nil]
|
|
66
|
+
optional :whatsapp, -> { Sentdm::Channels::WhatsappChannel }, nil?: true
|
|
67
|
+
|
|
68
|
+
# @!method initialize(customer_id: nil, mms: nil, rcs: nil, sms: nil, voice: nil, whatsapp: nil)
|
|
69
|
+
# Some parameter documentations has been truncated, see
|
|
70
|
+
# {Sentdm::Models::ChannelsState} for more details.
|
|
71
|
+
#
|
|
72
|
+
# The channels a profile sends on. SMS is a list because a profile can send in
|
|
73
|
+
# several markets; WhatsApp and RCS are single, because a profile has one business
|
|
74
|
+
# account and one agent.
|
|
75
|
+
#
|
|
76
|
+
# @param customer_id [String, nil] Which customer these channels belong to — the key's own, or the profile named in
|
|
77
|
+
#
|
|
78
|
+
# @param mms [Array<Sentdm::Models::MmsMarket>] The markets this profile can send MMS in, one entry per country, or empty when n
|
|
79
|
+
#
|
|
80
|
+
# @param rcs [Sentdm::Models::Channels::RcsAgent, nil] An RCS agent as its owner sees it: the order form back, plus where the submissio
|
|
81
|
+
#
|
|
82
|
+
# @param sms [Array<Sentdm::Models::Channels::SMSMarket>]
|
|
83
|
+
#
|
|
84
|
+
# @param voice [Array<Sentdm::Models::Channels::VoiceNumber>] The numbers this profile carries phone calls on, one entry per number, or empty
|
|
85
|
+
#
|
|
86
|
+
# @param whatsapp [Sentdm::Models::Channels::WhatsappChannel, nil] The profile's WhatsApp account. Its status is Meta's verification state.
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class ComplianceAttachmentTemplate < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute field_name
|
|
7
|
+
# The multipart field name to attach the file under.
|
|
8
|
+
#
|
|
9
|
+
# @return [String, nil]
|
|
10
|
+
optional :field_name, String
|
|
11
|
+
|
|
12
|
+
# @!attribute label
|
|
13
|
+
#
|
|
14
|
+
# @return [String, nil]
|
|
15
|
+
optional :label, String, nil?: true
|
|
16
|
+
|
|
17
|
+
# @!attribute required
|
|
18
|
+
#
|
|
19
|
+
# @return [Boolean, nil]
|
|
20
|
+
optional :required, Sentdm::Internal::Type::Boolean
|
|
21
|
+
|
|
22
|
+
# @!method initialize(field_name: nil, label: nil, required: nil)
|
|
23
|
+
# A file this market wants, and the multipart field to send it as.
|
|
24
|
+
#
|
|
25
|
+
# Separate from compliance because a file is not JSON: the channel call accepts
|
|
26
|
+
# multipart, and each file is named after the key it satisfies. Listing documents
|
|
27
|
+
# among the JSON entries would describe a request nobody could send.
|
|
28
|
+
#
|
|
29
|
+
# @param field_name [String] The multipart field name to attach the file under.
|
|
30
|
+
#
|
|
31
|
+
# @param label [String, nil]
|
|
32
|
+
#
|
|
33
|
+
# @param required [Boolean]
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|