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,167 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class BrandWithKYC < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias { T.any(Sentdm::BrandWithKYC, Sentdm::Internal::AnyHash) }
|
|
8
|
+
|
|
9
|
+
# Unique identifier for the brand
|
|
10
|
+
sig { returns(T.nilable(String)) }
|
|
11
|
+
attr_reader :id
|
|
12
|
+
|
|
13
|
+
sig { params(id: String).void }
|
|
14
|
+
attr_writer :id
|
|
15
|
+
|
|
16
|
+
# Business details and address information
|
|
17
|
+
sig { returns(T.nilable(Sentdm::BrandBusiness)) }
|
|
18
|
+
attr_reader :business
|
|
19
|
+
|
|
20
|
+
sig { params(business: T.nilable(Sentdm::BrandBusiness::OrHash)).void }
|
|
21
|
+
attr_writer :business
|
|
22
|
+
|
|
23
|
+
# Compliance and TCR-related information
|
|
24
|
+
sig { returns(T.nilable(Sentdm::BrandCompliance)) }
|
|
25
|
+
attr_reader :compliance
|
|
26
|
+
|
|
27
|
+
sig do
|
|
28
|
+
params(compliance: T.nilable(Sentdm::BrandCompliance::OrHash)).void
|
|
29
|
+
end
|
|
30
|
+
attr_writer :compliance
|
|
31
|
+
|
|
32
|
+
# Contact information for the brand
|
|
33
|
+
sig { returns(T.nilable(Sentdm::BrandContact)) }
|
|
34
|
+
attr_reader :contact
|
|
35
|
+
|
|
36
|
+
sig { params(contact: T.nilable(Sentdm::BrandContact::OrHash)).void }
|
|
37
|
+
attr_writer :contact
|
|
38
|
+
|
|
39
|
+
# When the brand was created
|
|
40
|
+
sig { returns(T.nilable(Time)) }
|
|
41
|
+
attr_reader :created_at
|
|
42
|
+
|
|
43
|
+
sig { params(created_at: Time).void }
|
|
44
|
+
attr_writer :created_at
|
|
45
|
+
|
|
46
|
+
# Deprecated and scheduled for removal. Identifies the Campaign Service Provider
|
|
47
|
+
# that registered the brand, which is Sent, so the value is the same for every
|
|
48
|
+
# brand and every account. Nothing on your side can act on it and there is no
|
|
49
|
+
# replacement. Stop reading it.
|
|
50
|
+
sig { returns(T.nilable(String)) }
|
|
51
|
+
attr_accessor :csp_id
|
|
52
|
+
|
|
53
|
+
sig { returns(T.nilable(Sentdm::TcrBrandIdentityStatus::TaggedSymbol)) }
|
|
54
|
+
attr_accessor :identity_status
|
|
55
|
+
|
|
56
|
+
# Whether this brand is inherited from the parent organization
|
|
57
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
58
|
+
attr_reader :is_inherited
|
|
59
|
+
|
|
60
|
+
sig { params(is_inherited: T::Boolean).void }
|
|
61
|
+
attr_writer :is_inherited
|
|
62
|
+
|
|
63
|
+
sig { returns(T.nilable(Sentdm::TcrBrandStatus::TaggedSymbol)) }
|
|
64
|
+
attr_accessor :status
|
|
65
|
+
|
|
66
|
+
# When the brand was submitted to TCR
|
|
67
|
+
sig { returns(T.nilable(Time)) }
|
|
68
|
+
attr_accessor :submitted_at
|
|
69
|
+
|
|
70
|
+
# Whether this brand has been submitted to TCR
|
|
71
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
72
|
+
attr_reader :submitted_to_tcr
|
|
73
|
+
|
|
74
|
+
sig { params(submitted_to_tcr: T::Boolean).void }
|
|
75
|
+
attr_writer :submitted_to_tcr
|
|
76
|
+
|
|
77
|
+
# TCR brand ID (populated after TCR submission)
|
|
78
|
+
sig { returns(T.nilable(String)) }
|
|
79
|
+
attr_accessor :tcr_brand_id
|
|
80
|
+
|
|
81
|
+
# Universal EIN from TCR
|
|
82
|
+
sig { returns(T.nilable(String)) }
|
|
83
|
+
attr_accessor :universal_ein
|
|
84
|
+
|
|
85
|
+
# When the brand was last updated
|
|
86
|
+
sig { returns(T.nilable(Time)) }
|
|
87
|
+
attr_accessor :updated_at
|
|
88
|
+
|
|
89
|
+
# Brand response with nested contact, business, and compliance sections — mirrors
|
|
90
|
+
# the request structure.
|
|
91
|
+
sig do
|
|
92
|
+
params(
|
|
93
|
+
id: String,
|
|
94
|
+
business: T.nilable(Sentdm::BrandBusiness::OrHash),
|
|
95
|
+
compliance: T.nilable(Sentdm::BrandCompliance::OrHash),
|
|
96
|
+
contact: T.nilable(Sentdm::BrandContact::OrHash),
|
|
97
|
+
created_at: Time,
|
|
98
|
+
csp_id: T.nilable(String),
|
|
99
|
+
identity_status: T.nilable(Sentdm::TcrBrandIdentityStatus::OrSymbol),
|
|
100
|
+
is_inherited: T::Boolean,
|
|
101
|
+
status: T.nilable(Sentdm::TcrBrandStatus::OrSymbol),
|
|
102
|
+
submitted_at: T.nilable(Time),
|
|
103
|
+
submitted_to_tcr: T::Boolean,
|
|
104
|
+
tcr_brand_id: T.nilable(String),
|
|
105
|
+
universal_ein: T.nilable(String),
|
|
106
|
+
updated_at: T.nilable(Time)
|
|
107
|
+
).returns(T.attached_class)
|
|
108
|
+
end
|
|
109
|
+
def self.new(
|
|
110
|
+
# Unique identifier for the brand
|
|
111
|
+
id: nil,
|
|
112
|
+
# Business details and address information
|
|
113
|
+
business: nil,
|
|
114
|
+
# Compliance and TCR-related information
|
|
115
|
+
compliance: nil,
|
|
116
|
+
# Contact information for the brand
|
|
117
|
+
contact: nil,
|
|
118
|
+
# When the brand was created
|
|
119
|
+
created_at: nil,
|
|
120
|
+
# Deprecated and scheduled for removal. Identifies the Campaign Service Provider
|
|
121
|
+
# that registered the brand, which is Sent, so the value is the same for every
|
|
122
|
+
# brand and every account. Nothing on your side can act on it and there is no
|
|
123
|
+
# replacement. Stop reading it.
|
|
124
|
+
csp_id: nil,
|
|
125
|
+
identity_status: nil,
|
|
126
|
+
# Whether this brand is inherited from the parent organization
|
|
127
|
+
is_inherited: nil,
|
|
128
|
+
status: nil,
|
|
129
|
+
# When the brand was submitted to TCR
|
|
130
|
+
submitted_at: nil,
|
|
131
|
+
# Whether this brand has been submitted to TCR
|
|
132
|
+
submitted_to_tcr: nil,
|
|
133
|
+
# TCR brand ID (populated after TCR submission)
|
|
134
|
+
tcr_brand_id: nil,
|
|
135
|
+
# Universal EIN from TCR
|
|
136
|
+
universal_ein: nil,
|
|
137
|
+
# When the brand was last updated
|
|
138
|
+
updated_at: nil
|
|
139
|
+
)
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
sig do
|
|
143
|
+
override.returns(
|
|
144
|
+
{
|
|
145
|
+
id: String,
|
|
146
|
+
business: T.nilable(Sentdm::BrandBusiness),
|
|
147
|
+
compliance: T.nilable(Sentdm::BrandCompliance),
|
|
148
|
+
contact: T.nilable(Sentdm::BrandContact),
|
|
149
|
+
created_at: Time,
|
|
150
|
+
csp_id: T.nilable(String),
|
|
151
|
+
identity_status:
|
|
152
|
+
T.nilable(Sentdm::TcrBrandIdentityStatus::TaggedSymbol),
|
|
153
|
+
is_inherited: T::Boolean,
|
|
154
|
+
status: T.nilable(Sentdm::TcrBrandStatus::TaggedSymbol),
|
|
155
|
+
submitted_at: T.nilable(Time),
|
|
156
|
+
submitted_to_tcr: T::Boolean,
|
|
157
|
+
tcr_brand_id: T.nilable(String),
|
|
158
|
+
universal_ein: T.nilable(String),
|
|
159
|
+
updated_at: T.nilable(Time)
|
|
160
|
+
}
|
|
161
|
+
)
|
|
162
|
+
end
|
|
163
|
+
def to_hash
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class CancelledMessage < Sentdm::Models::Message
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Sentdm::CancelledMessage, Sentdm::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# The send time that was called off, in UTC — the scheduled_at the message was
|
|
12
|
+
# being held for, whether you set it or the recipient's quiet hours moved it
|
|
13
|
+
# there. Omitted only for a held message that carried no recorded instant.
|
|
14
|
+
sig { returns(T.nilable(Time)) }
|
|
15
|
+
attr_accessor :scheduled_at
|
|
16
|
+
|
|
17
|
+
# Message response for v3 API — same shape as v2 with snake_case JSON conventions.
|
|
18
|
+
#
|
|
19
|
+
# The shape of a message that was sent immediately: it never has a scheduled_at
|
|
20
|
+
# key. A message that is or was held for a later instant is a
|
|
21
|
+
# ScheduledMessageResponse, and the endpoint decides which of the two to answer
|
|
22
|
+
# with. From always returns this type.
|
|
23
|
+
sig { params(scheduled_at: T.nilable(Time)).returns(T.attached_class) }
|
|
24
|
+
def self.new(
|
|
25
|
+
# The send time that was called off, in UTC — the scheduled_at the message was
|
|
26
|
+
# being held for, whether you set it or the recipient's quiet hours moved it
|
|
27
|
+
# there. Omitted only for a held message that carried no recorded instant.
|
|
28
|
+
scheduled_at: nil
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
sig { override.returns({ scheduled_at: T.nilable(Time) }) }
|
|
33
|
+
def to_hash
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -53,12 +53,12 @@ module Sentdm
|
|
|
53
53
|
# fetched; empty says the market has been given none. The parent object is null
|
|
54
54
|
# only when the market registers with nobody and compliance was not computed —
|
|
55
55
|
# nothing to show at all.
|
|
56
|
-
sig { returns(T.nilable(Sentdm::
|
|
56
|
+
sig { returns(T.nilable(Sentdm::Channels::SuppliedCompliance)) }
|
|
57
57
|
attr_reader :compliance
|
|
58
58
|
|
|
59
59
|
sig do
|
|
60
60
|
params(
|
|
61
|
-
compliance: T.nilable(Sentdm::
|
|
61
|
+
compliance: T.nilable(Sentdm::Channels::SuppliedCompliance::OrHash)
|
|
62
62
|
).void
|
|
63
63
|
end
|
|
64
64
|
attr_writer :compliance
|
|
@@ -144,8 +144,7 @@ module Sentdm
|
|
|
144
144
|
country: String,
|
|
145
145
|
account_id: String,
|
|
146
146
|
channel: String,
|
|
147
|
-
compliance:
|
|
148
|
-
T.nilable(Sentdm::ChannelEventPayload::Compliance::OrHash),
|
|
147
|
+
compliance: T.nilable(Sentdm::Channels::SuppliedCompliance::OrHash),
|
|
149
148
|
number_type: T.nilable(String),
|
|
150
149
|
reason: T.nilable(String),
|
|
151
150
|
reason_code: T.nilable(String),
|
|
@@ -236,7 +235,7 @@ module Sentdm
|
|
|
236
235
|
country: String,
|
|
237
236
|
account_id: String,
|
|
238
237
|
channel: String,
|
|
239
|
-
compliance: T.nilable(Sentdm::
|
|
238
|
+
compliance: T.nilable(Sentdm::Channels::SuppliedCompliance),
|
|
240
239
|
number_type: T.nilable(String),
|
|
241
240
|
reason: T.nilable(String),
|
|
242
241
|
reason_code: T.nilable(String),
|
|
@@ -248,205 +247,6 @@ module Sentdm
|
|
|
248
247
|
end
|
|
249
248
|
def to_hash
|
|
250
249
|
end
|
|
251
|
-
|
|
252
|
-
class Compliance < Sentdm::Internal::Type::BaseModel
|
|
253
|
-
OrHash =
|
|
254
|
-
T.type_alias do
|
|
255
|
-
T.any(
|
|
256
|
-
Sentdm::ChannelEventPayload::Compliance,
|
|
257
|
-
Sentdm::Internal::AnyHash
|
|
258
|
-
)
|
|
259
|
-
end
|
|
260
|
-
|
|
261
|
-
# The identity this market registers under, with inherit saying whose it is.
|
|
262
|
-
#
|
|
263
|
-
# Reported here rather than on the profile because it belongs to the registration
|
|
264
|
-
# this market files, and only one market files one. It was a top-level block for a
|
|
265
|
-
# while, which put a per-registration value beside a list of markets and left a
|
|
266
|
-
# caller to work out which market it belonged to.
|
|
267
|
-
#
|
|
268
|
-
# Absent for a market that registers with nobody — such a market asks for no
|
|
269
|
-
# identity, so there is none to report. Absent and null mean different things:
|
|
270
|
-
# absent says this market does not ask, null would say it asks and nothing was
|
|
271
|
-
# supplied.
|
|
272
|
-
#
|
|
273
|
-
# Untyped, like the request side, because its members are declared by the market's
|
|
274
|
-
# own schema rather than by a C# class. A typed pair here would be a second
|
|
275
|
-
# definition of what a market wants, free to drift from the one that validates.
|
|
276
|
-
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
|
277
|
-
attr_accessor :brand
|
|
278
|
-
|
|
279
|
-
# The programme this market registers, with inherit saying whose it is.
|
|
280
|
-
#
|
|
281
|
-
# One, not a list. TcrCampaigns permits several and an account built on the admin
|
|
282
|
-
# side may hold them, but this surface offers one — which is what lets the
|
|
283
|
-
# market's PATCH be an upsert rather than a collection with an addressable create
|
|
284
|
-
# behind it. An account holding several is reported as its first and refused on
|
|
285
|
-
# write, rather than half-edited.
|
|
286
|
-
#
|
|
287
|
-
# Carries no id. Nothing addresses a campaign, and an undeclared key would be
|
|
288
|
-
# refused if the caller sent this object back — which it is meant to be able to
|
|
289
|
-
# do.
|
|
290
|
-
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
|
291
|
-
attr_accessor :campaign
|
|
292
|
-
|
|
293
|
-
# What has been supplied for this market.
|
|
294
|
-
#
|
|
295
|
-
# Files, not values — the declared halves above carry the values. A document
|
|
296
|
-
# cannot be a JSON value, so it is sent as multipart on the channel call and
|
|
297
|
-
# reported here as a reference.
|
|
298
|
-
#
|
|
299
|
-
# Absent on a list read, which fetches identity but does not compute compliance
|
|
300
|
-
# documents per market. Absent and empty mean different things: absent says the
|
|
301
|
-
# documents were not fetched; empty says the market has been given none.
|
|
302
|
-
sig do
|
|
303
|
-
returns(
|
|
304
|
-
T.nilable(
|
|
305
|
-
T::Array[Sentdm::ChannelEventPayload::Compliance::Document]
|
|
306
|
-
)
|
|
307
|
-
)
|
|
308
|
-
end
|
|
309
|
-
attr_accessor :documents
|
|
310
|
-
|
|
311
|
-
# What a market has been given: the identity it registers under, its programme,
|
|
312
|
-
# and any documents attached.
|
|
313
|
-
#
|
|
314
|
-
# What it does not carry is what the market asks for. That is the subject of GET
|
|
315
|
-
# /v3/compliance/requirements, and it is the same answer for every caller — a
|
|
316
|
-
# description of what a compliance regime wants, not a record of one customer's
|
|
317
|
-
# progress through it. It was reported here as well for a while, which put the
|
|
318
|
-
# same array in six response shapes and left a caller deciding which of two
|
|
319
|
-
# sources to believe.
|
|
320
|
-
#
|
|
321
|
-
# Present on a list read for markets that register (carrying brand and campaign),
|
|
322
|
-
# but with documents absent — documents are not fetched for a list, because a
|
|
323
|
-
# catalog lookup and a document read per market would multiply across a page.
|
|
324
|
-
# Absent documents is distinct from an empty list: absent says they were not
|
|
325
|
-
# fetched; empty says the market has been given none. The parent object is null
|
|
326
|
-
# only when the market registers with nobody and compliance was not computed —
|
|
327
|
-
# nothing to show at all.
|
|
328
|
-
sig do
|
|
329
|
-
params(
|
|
330
|
-
brand: T.nilable(T::Hash[Symbol, T.anything]),
|
|
331
|
-
campaign: T.nilable(T::Hash[Symbol, T.anything]),
|
|
332
|
-
documents:
|
|
333
|
-
T.nilable(
|
|
334
|
-
T::Array[
|
|
335
|
-
Sentdm::ChannelEventPayload::Compliance::Document::OrHash
|
|
336
|
-
]
|
|
337
|
-
)
|
|
338
|
-
).returns(T.attached_class)
|
|
339
|
-
end
|
|
340
|
-
def self.new(
|
|
341
|
-
# The identity this market registers under, with inherit saying whose it is.
|
|
342
|
-
#
|
|
343
|
-
# Reported here rather than on the profile because it belongs to the registration
|
|
344
|
-
# this market files, and only one market files one. It was a top-level block for a
|
|
345
|
-
# while, which put a per-registration value beside a list of markets and left a
|
|
346
|
-
# caller to work out which market it belonged to.
|
|
347
|
-
#
|
|
348
|
-
# Absent for a market that registers with nobody — such a market asks for no
|
|
349
|
-
# identity, so there is none to report. Absent and null mean different things:
|
|
350
|
-
# absent says this market does not ask, null would say it asks and nothing was
|
|
351
|
-
# supplied.
|
|
352
|
-
#
|
|
353
|
-
# Untyped, like the request side, because its members are declared by the market's
|
|
354
|
-
# own schema rather than by a C# class. A typed pair here would be a second
|
|
355
|
-
# definition of what a market wants, free to drift from the one that validates.
|
|
356
|
-
brand: nil,
|
|
357
|
-
# The programme this market registers, with inherit saying whose it is.
|
|
358
|
-
#
|
|
359
|
-
# One, not a list. TcrCampaigns permits several and an account built on the admin
|
|
360
|
-
# side may hold them, but this surface offers one — which is what lets the
|
|
361
|
-
# market's PATCH be an upsert rather than a collection with an addressable create
|
|
362
|
-
# behind it. An account holding several is reported as its first and refused on
|
|
363
|
-
# write, rather than half-edited.
|
|
364
|
-
#
|
|
365
|
-
# Carries no id. Nothing addresses a campaign, and an undeclared key would be
|
|
366
|
-
# refused if the caller sent this object back — which it is meant to be able to
|
|
367
|
-
# do.
|
|
368
|
-
campaign: nil,
|
|
369
|
-
# What has been supplied for this market.
|
|
370
|
-
#
|
|
371
|
-
# Files, not values — the declared halves above carry the values. A document
|
|
372
|
-
# cannot be a JSON value, so it is sent as multipart on the channel call and
|
|
373
|
-
# reported here as a reference.
|
|
374
|
-
#
|
|
375
|
-
# Absent on a list read, which fetches identity but does not compute compliance
|
|
376
|
-
# documents per market. Absent and empty mean different things: absent says the
|
|
377
|
-
# documents were not fetched; empty says the market has been given none.
|
|
378
|
-
documents: nil
|
|
379
|
-
)
|
|
380
|
-
end
|
|
381
|
-
|
|
382
|
-
sig do
|
|
383
|
-
override.returns(
|
|
384
|
-
{
|
|
385
|
-
brand: T.nilable(T::Hash[Symbol, T.anything]),
|
|
386
|
-
campaign: T.nilable(T::Hash[Symbol, T.anything]),
|
|
387
|
-
documents:
|
|
388
|
-
T.nilable(
|
|
389
|
-
T::Array[Sentdm::ChannelEventPayload::Compliance::Document]
|
|
390
|
-
)
|
|
391
|
-
}
|
|
392
|
-
)
|
|
393
|
-
end
|
|
394
|
-
def to_hash
|
|
395
|
-
end
|
|
396
|
-
|
|
397
|
-
class Document < Sentdm::Internal::Type::BaseModel
|
|
398
|
-
OrHash =
|
|
399
|
-
T.type_alias do
|
|
400
|
-
T.any(
|
|
401
|
-
Sentdm::ChannelEventPayload::Compliance::Document,
|
|
402
|
-
Sentdm::Internal::AnyHash
|
|
403
|
-
)
|
|
404
|
-
end
|
|
405
|
-
|
|
406
|
-
# Identifier of the upload, for fetching it back through the documents endpoints.
|
|
407
|
-
sig { returns(T.nilable(String)) }
|
|
408
|
-
attr_accessor :document_id
|
|
409
|
-
|
|
410
|
-
sig { returns(T.nilable(String)) }
|
|
411
|
-
attr_accessor :file_name
|
|
412
|
-
|
|
413
|
-
# The catalog's name for this document, matching the requirement it satisfies.
|
|
414
|
-
sig { returns(T.nilable(String)) }
|
|
415
|
-
attr_reader :key
|
|
416
|
-
|
|
417
|
-
sig { params(key: String).void }
|
|
418
|
-
attr_writer :key
|
|
419
|
-
|
|
420
|
-
# A document a market asked for and has been given.
|
|
421
|
-
sig do
|
|
422
|
-
params(
|
|
423
|
-
document_id: T.nilable(String),
|
|
424
|
-
file_name: T.nilable(String),
|
|
425
|
-
key: String
|
|
426
|
-
).returns(T.attached_class)
|
|
427
|
-
end
|
|
428
|
-
def self.new(
|
|
429
|
-
# Identifier of the upload, for fetching it back through the documents endpoints.
|
|
430
|
-
document_id: nil,
|
|
431
|
-
file_name: nil,
|
|
432
|
-
# The catalog's name for this document, matching the requirement it satisfies.
|
|
433
|
-
key: nil
|
|
434
|
-
)
|
|
435
|
-
end
|
|
436
|
-
|
|
437
|
-
sig do
|
|
438
|
-
override.returns(
|
|
439
|
-
{
|
|
440
|
-
document_id: T.nilable(String),
|
|
441
|
-
file_name: T.nilable(String),
|
|
442
|
-
key: String
|
|
443
|
-
}
|
|
444
|
-
)
|
|
445
|
-
end
|
|
446
|
-
def to_hash
|
|
447
|
-
end
|
|
448
|
-
end
|
|
449
|
-
end
|
|
450
250
|
end
|
|
451
251
|
end
|
|
452
252
|
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class ChannelListParams < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include Sentdm::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Sentdm::ChannelListParams, Sentdm::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig { returns(T.nilable(String)) }
|
|
15
|
+
attr_reader :x_profile_id
|
|
16
|
+
|
|
17
|
+
sig { params(x_profile_id: String).void }
|
|
18
|
+
attr_writer :x_profile_id
|
|
19
|
+
|
|
20
|
+
sig do
|
|
21
|
+
params(
|
|
22
|
+
x_profile_id: String,
|
|
23
|
+
request_options: Sentdm::RequestOptions::OrHash
|
|
24
|
+
).returns(T.attached_class)
|
|
25
|
+
end
|
|
26
|
+
def self.new(x_profile_id: nil, request_options: {})
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
sig do
|
|
30
|
+
override.returns(
|
|
31
|
+
{ x_profile_id: String, request_options: Sentdm::RequestOptions }
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
def to_hash
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class ChannelScore < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias { T.any(Sentdm::ChannelScore, Sentdm::Internal::AnyHash) }
|
|
8
|
+
|
|
9
|
+
sig { returns(T.nilable(String)) }
|
|
10
|
+
attr_reader :channel
|
|
11
|
+
|
|
12
|
+
sig { params(channel: String).void }
|
|
13
|
+
attr_writer :channel
|
|
14
|
+
|
|
15
|
+
# Percentage (0-100) of messages on this channel that ended in FAILED.
|
|
16
|
+
sig { returns(T.nilable(Integer)) }
|
|
17
|
+
attr_reader :fail_score
|
|
18
|
+
|
|
19
|
+
sig { params(fail_score: Integer).void }
|
|
20
|
+
attr_writer :fail_score
|
|
21
|
+
|
|
22
|
+
# Percentage (0-100) of messages on this channel that reached a successful
|
|
23
|
+
# terminal state: SENT/DELIVERED/READ for outbound, RECEIVED for inbound.
|
|
24
|
+
sig { returns(T.nilable(Integer)) }
|
|
25
|
+
attr_reader :success_score
|
|
26
|
+
|
|
27
|
+
sig { params(success_score: Integer).void }
|
|
28
|
+
attr_writer :success_score
|
|
29
|
+
|
|
30
|
+
sig do
|
|
31
|
+
params(
|
|
32
|
+
channel: String,
|
|
33
|
+
fail_score: Integer,
|
|
34
|
+
success_score: Integer
|
|
35
|
+
).returns(T.attached_class)
|
|
36
|
+
end
|
|
37
|
+
def self.new(
|
|
38
|
+
channel: nil,
|
|
39
|
+
# Percentage (0-100) of messages on this channel that ended in FAILED.
|
|
40
|
+
fail_score: nil,
|
|
41
|
+
# Percentage (0-100) of messages on this channel that reached a successful
|
|
42
|
+
# terminal state: SENT/DELIVERED/READ for outbound, RECEIVED for inbound.
|
|
43
|
+
success_score: nil
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
sig do
|
|
48
|
+
override.returns(
|
|
49
|
+
{ channel: String, fail_score: Integer, success_score: Integer }
|
|
50
|
+
)
|
|
51
|
+
end
|
|
52
|
+
def to_hash
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
class APIResponseOfListOfSMSMarket < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
Sentdm::Channels::APIResponseOfListOfSMSMarket,
|
|
11
|
+
Sentdm::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# The response data (null if error)
|
|
16
|
+
sig { returns(T.nilable(T::Array[Sentdm::Channels::SMSMarket])) }
|
|
17
|
+
attr_accessor :data
|
|
18
|
+
|
|
19
|
+
# Error information
|
|
20
|
+
sig { returns(T.nilable(Sentdm::ErrorDetail)) }
|
|
21
|
+
attr_reader :error
|
|
22
|
+
|
|
23
|
+
sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
|
|
24
|
+
attr_writer :error
|
|
25
|
+
|
|
26
|
+
# Request and response metadata
|
|
27
|
+
sig { returns(T.nilable(Sentdm::APIMeta)) }
|
|
28
|
+
attr_reader :meta
|
|
29
|
+
|
|
30
|
+
sig { params(meta: Sentdm::APIMeta::OrHash).void }
|
|
31
|
+
attr_writer :meta
|
|
32
|
+
|
|
33
|
+
# Indicates whether the request was successful
|
|
34
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
35
|
+
attr_reader :success
|
|
36
|
+
|
|
37
|
+
sig { params(success: T::Boolean).void }
|
|
38
|
+
attr_writer :success
|
|
39
|
+
|
|
40
|
+
# Standard API response envelope for all v3 endpoints
|
|
41
|
+
sig do
|
|
42
|
+
params(
|
|
43
|
+
data: T.nilable(T::Array[Sentdm::Channels::SMSMarket::OrHash]),
|
|
44
|
+
error: T.nilable(Sentdm::ErrorDetail::OrHash),
|
|
45
|
+
meta: Sentdm::APIMeta::OrHash,
|
|
46
|
+
success: T::Boolean
|
|
47
|
+
).returns(T.attached_class)
|
|
48
|
+
end
|
|
49
|
+
def self.new(
|
|
50
|
+
# The response data (null if error)
|
|
51
|
+
data: nil,
|
|
52
|
+
# Error information
|
|
53
|
+
error: nil,
|
|
54
|
+
# Request and response metadata
|
|
55
|
+
meta: nil,
|
|
56
|
+
# Indicates whether the request was successful
|
|
57
|
+
success: nil
|
|
58
|
+
)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
sig do
|
|
62
|
+
override.returns(
|
|
63
|
+
{
|
|
64
|
+
data: T.nilable(T::Array[Sentdm::Channels::SMSMarket]),
|
|
65
|
+
error: T.nilable(Sentdm::ErrorDetail),
|
|
66
|
+
meta: Sentdm::APIMeta,
|
|
67
|
+
success: T::Boolean
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
end
|
|
71
|
+
def to_hash
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|