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
|
@@ -2,7 +2,124 @@
|
|
|
2
2
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Resources
|
|
5
|
+
# The senders you send from, one per channel.
|
|
6
|
+
#
|
|
7
|
+
# **SMS is a list of markets**, each keyed by `(country, number_type)` — a
|
|
8
|
+
# customer can hold `us/10dlc` and `gb/alphanumeric` at once, so a market is
|
|
9
|
+
# addressed by the pair rather than by country alone. **WhatsApp and RCS are
|
|
10
|
+
# single**: a customer has one business account and one agent. **Voice is per
|
|
11
|
+
# number**: each number you hold can carry phone calls on its own
|
|
12
|
+
# (`POST /v3/channels/voice`), each with the callback URL Sent asks what to do
|
|
13
|
+
# with its calls, one of them is the default line for calls placed from your app,
|
|
14
|
+
# and voice tokens are minted with `POST /v3/voice/tokens`. Read your voice
|
|
15
|
+
# numbers with `GET /v3/channels/voice` and change one with
|
|
16
|
+
# `PATCH /v3/channels/voice/{number}`.
|
|
17
|
+
#
|
|
18
|
+
# ## Compliance lives on the market
|
|
19
|
+
#
|
|
20
|
+
# Adding a market records everything that market registers with, in its
|
|
21
|
+
# `compliance` object. Only **US `TEN_DLC`** registers with a regime — The
|
|
22
|
+
# Campaign Registry — and it is the only market whose compliance carries `brand`
|
|
23
|
+
# and `campaign`. Everywhere else compliance is documents, and many markets ask
|
|
24
|
+
# for none at all.
|
|
25
|
+
#
|
|
26
|
+
# `GET` and `PATCH` on a market return and accept the same shape, so what comes
|
|
27
|
+
# back can be sent back: an omitted key is left alone, and a key reported in
|
|
28
|
+
# `requirements` is the path into the body that clears it.
|
|
29
|
+
#
|
|
30
|
+
# Call `GET /v3/compliance/requirements` first — it answers what a market demands
|
|
31
|
+
# before you hold it, with a body you can fill in and post.
|
|
5
32
|
class Channels
|
|
33
|
+
# The senders you send from, one per channel.
|
|
34
|
+
#
|
|
35
|
+
# **SMS is a list of markets**, each keyed by `(country, number_type)` — a
|
|
36
|
+
# customer can hold `us/10dlc` and `gb/alphanumeric` at once, so a market is
|
|
37
|
+
# addressed by the pair rather than by country alone. **WhatsApp and RCS are
|
|
38
|
+
# single**: a customer has one business account and one agent. **Voice is per
|
|
39
|
+
# number**: each number you hold can carry phone calls on its own
|
|
40
|
+
# (`POST /v3/channels/voice`), each with the callback URL Sent asks what to do
|
|
41
|
+
# with its calls, one of them is the default line for calls placed from your app,
|
|
42
|
+
# and voice tokens are minted with `POST /v3/voice/tokens`. Read your voice
|
|
43
|
+
# numbers with `GET /v3/channels/voice` and change one with
|
|
44
|
+
# `PATCH /v3/channels/voice/{number}`.
|
|
45
|
+
#
|
|
46
|
+
# ## Compliance lives on the market
|
|
47
|
+
#
|
|
48
|
+
# Adding a market records everything that market registers with, in its
|
|
49
|
+
# `compliance` object. Only **US `TEN_DLC`** registers with a regime — The
|
|
50
|
+
# Campaign Registry — and it is the only market whose compliance carries `brand`
|
|
51
|
+
# and `campaign`. Everywhere else compliance is documents, and many markets ask
|
|
52
|
+
# for none at all.
|
|
53
|
+
#
|
|
54
|
+
# `GET` and `PATCH` on a market return and accept the same shape, so what comes
|
|
55
|
+
# back can be sent back: an omitted key is left alone, and a key reported in
|
|
56
|
+
# `requirements` is the path into the body that clears it.
|
|
57
|
+
#
|
|
58
|
+
# Call `GET /v3/compliance/requirements` first — it answers what a market demands
|
|
59
|
+
# before you hold it, with a body you can fill in and post.
|
|
60
|
+
sig { returns(Sentdm::Resources::Channels::SMS) }
|
|
61
|
+
attr_reader :sms
|
|
62
|
+
|
|
63
|
+
# The senders you send from, one per channel.
|
|
64
|
+
#
|
|
65
|
+
# **SMS is a list of markets**, each keyed by `(country, number_type)` — a
|
|
66
|
+
# customer can hold `us/10dlc` and `gb/alphanumeric` at once, so a market is
|
|
67
|
+
# addressed by the pair rather than by country alone. **WhatsApp and RCS are
|
|
68
|
+
# single**: a customer has one business account and one agent. **Voice is per
|
|
69
|
+
# number**: each number you hold can carry phone calls on its own
|
|
70
|
+
# (`POST /v3/channels/voice`), each with the callback URL Sent asks what to do
|
|
71
|
+
# with its calls, one of them is the default line for calls placed from your app,
|
|
72
|
+
# and voice tokens are minted with `POST /v3/voice/tokens`. Read your voice
|
|
73
|
+
# numbers with `GET /v3/channels/voice` and change one with
|
|
74
|
+
# `PATCH /v3/channels/voice/{number}`.
|
|
75
|
+
#
|
|
76
|
+
# ## Compliance lives on the market
|
|
77
|
+
#
|
|
78
|
+
# Adding a market records everything that market registers with, in its
|
|
79
|
+
# `compliance` object. Only **US `TEN_DLC`** registers with a regime — The
|
|
80
|
+
# Campaign Registry — and it is the only market whose compliance carries `brand`
|
|
81
|
+
# and `campaign`. Everywhere else compliance is documents, and many markets ask
|
|
82
|
+
# for none at all.
|
|
83
|
+
#
|
|
84
|
+
# `GET` and `PATCH` on a market return and accept the same shape, so what comes
|
|
85
|
+
# back can be sent back: an omitted key is left alone, and a key reported in
|
|
86
|
+
# `requirements` is the path into the body that clears it.
|
|
87
|
+
#
|
|
88
|
+
# Call `GET /v3/compliance/requirements` first — it answers what a market demands
|
|
89
|
+
# before you hold it, with a body you can fill in and post.
|
|
90
|
+
sig { returns(Sentdm::Resources::Channels::Rcs) }
|
|
91
|
+
attr_reader :rcs
|
|
92
|
+
|
|
93
|
+
# The senders you send from, one per channel.
|
|
94
|
+
#
|
|
95
|
+
# **SMS is a list of markets**, each keyed by `(country, number_type)` — a
|
|
96
|
+
# customer can hold `us/10dlc` and `gb/alphanumeric` at once, so a market is
|
|
97
|
+
# addressed by the pair rather than by country alone. **WhatsApp and RCS are
|
|
98
|
+
# single**: a customer has one business account and one agent. **Voice is per
|
|
99
|
+
# number**: each number you hold can carry phone calls on its own
|
|
100
|
+
# (`POST /v3/channels/voice`), each with the callback URL Sent asks what to do
|
|
101
|
+
# with its calls, one of them is the default line for calls placed from your app,
|
|
102
|
+
# and voice tokens are minted with `POST /v3/voice/tokens`. Read your voice
|
|
103
|
+
# numbers with `GET /v3/channels/voice` and change one with
|
|
104
|
+
# `PATCH /v3/channels/voice/{number}`.
|
|
105
|
+
#
|
|
106
|
+
# ## Compliance lives on the market
|
|
107
|
+
#
|
|
108
|
+
# Adding a market records everything that market registers with, in its
|
|
109
|
+
# `compliance` object. Only **US `TEN_DLC`** registers with a regime — The
|
|
110
|
+
# Campaign Registry — and it is the only market whose compliance carries `brand`
|
|
111
|
+
# and `campaign`. Everywhere else compliance is documents, and many markets ask
|
|
112
|
+
# for none at all.
|
|
113
|
+
#
|
|
114
|
+
# `GET` and `PATCH` on a market return and accept the same shape, so what comes
|
|
115
|
+
# back can be sent back: an omitted key is left alone, and a key reported in
|
|
116
|
+
# `requirements` is the path into the body that clears it.
|
|
117
|
+
#
|
|
118
|
+
# Call `GET /v3/compliance/requirements` first — it answers what a market demands
|
|
119
|
+
# before you hold it, with a body you can fill in and post.
|
|
120
|
+
sig { returns(Sentdm::Resources::Channels::Whatsapp) }
|
|
121
|
+
attr_reader :whatsapp
|
|
122
|
+
|
|
6
123
|
# The senders you send from, one per channel.
|
|
7
124
|
#
|
|
8
125
|
# **SMS is a list of markets**, each keyed by `(country, number_type)` — a
|
|
@@ -33,6 +150,38 @@ module Sentdm
|
|
|
33
150
|
sig { returns(Sentdm::Resources::Channels::Voice) }
|
|
34
151
|
attr_reader :voice
|
|
35
152
|
|
|
153
|
+
# Every market you send SMS in, your WhatsApp account, your RCS agent and the
|
|
154
|
+
# numbers you carry phone calls on — with each one's status, and what each market
|
|
155
|
+
# has supplied.
|
|
156
|
+
#
|
|
157
|
+
# **Status lives on the channel, never on you or your brand.** An identity has no
|
|
158
|
+
# lifecycle; what has one is the registration of a sender in a market and the
|
|
159
|
+
# approval of a channel. So a customer live in one country and mid-registration in
|
|
160
|
+
# another reports exactly that, rather than one flattened answer.
|
|
161
|
+
#
|
|
162
|
+
# `sms[n].compliance` carries what each market holds: `brand` and `campaign` for
|
|
163
|
+
# markets that register with a compliance regime such as US TEN_DLC, and
|
|
164
|
+
# `documents` for markets that pre-register an alphanumeric or similar sender.
|
|
165
|
+
# Absent means the market registers with nobody and nothing has been supplied.
|
|
166
|
+
# `GET /v3/compliance/requirements` says what a market demands of any new
|
|
167
|
+
# customer; this says what you gave it.
|
|
168
|
+
#
|
|
169
|
+
# Send `x-profile-id` with an organization key to read one of your profiles'
|
|
170
|
+
# channels.
|
|
171
|
+
sig do
|
|
172
|
+
params(
|
|
173
|
+
x_profile_id: String,
|
|
174
|
+
request_options: Sentdm::RequestOptions::OrHash
|
|
175
|
+
).returns(Sentdm::APIResponseOfChannelsState)
|
|
176
|
+
end
|
|
177
|
+
def list(
|
|
178
|
+
# Profile UUID to scope the request to a child profile. Only organization API keys
|
|
179
|
+
# can use this header. The profile must belong to the calling organization.
|
|
180
|
+
x_profile_id: nil,
|
|
181
|
+
request_options: {}
|
|
182
|
+
)
|
|
183
|
+
end
|
|
184
|
+
|
|
36
185
|
# @api private
|
|
37
186
|
sig { params(client: Sentdm::Client).returns(T.attached_class) }
|
|
38
187
|
def self.new(client:)
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Resources
|
|
5
|
+
# What a market demands, before you have it.
|
|
6
|
+
#
|
|
7
|
+
# Requirements vary enormously and change without notice. US `TEN_DLC` registers a
|
|
8
|
+
# brand and a campaign with The Campaign Registry and asks a substantial set of
|
|
9
|
+
# questions; an alphanumeric sender pre-registers with documents in one country
|
|
10
|
+
# and needs nothing in another.
|
|
11
|
+
#
|
|
12
|
+
# This is the authoritative answer for whichever market you ask about, and it is
|
|
13
|
+
# generated from the same declaration that validates the calls themselves — so it
|
|
14
|
+
# cannot drift from what is actually enforced. The response includes the request
|
|
15
|
+
# body to send, with every key that market wants already present and blank.
|
|
16
|
+
#
|
|
17
|
+
# What you supplied, as opposed to what is asked of you, is reported on the market
|
|
18
|
+
# under **Channels**.
|
|
19
|
+
class Compliance
|
|
20
|
+
# **Call this first.** It returns what a channel, country and sender type demand
|
|
21
|
+
# before you can send there — and `setup[]`, the calls that satisfy those demands,
|
|
22
|
+
# in order, each with a body you can copy and send as it stands. You never have to
|
|
23
|
+
# track forty countries' rules yourself.
|
|
24
|
+
#
|
|
25
|
+
# ## Channel
|
|
26
|
+
#
|
|
27
|
+
# `channel` is `sms`, `whatsapp` or `rcs`, and **defaults to `sms`** — so a caller
|
|
28
|
+
# that omits it gets exactly what this endpoint has always returned.
|
|
29
|
+
#
|
|
30
|
+
# `sms` is the only one answered today; the other two are `501` until their
|
|
31
|
+
# requirements are declared. They are refused rather than answered with an empty
|
|
32
|
+
# requirement set, because empty would say the channel demands nothing, and both
|
|
33
|
+
# demand plenty — WhatsApp a business verification and a display name review, RCS
|
|
34
|
+
# a carrier approval. Saying "not yet" is the true answer and the same one
|
|
35
|
+
# `POST /v3/sender-profiles` gives for `channels.whatsapp`.
|
|
36
|
+
#
|
|
37
|
+
# `type` is an SMS sender type, and SMS is the only channel whose senders have
|
|
38
|
+
# one.
|
|
39
|
+
#
|
|
40
|
+
# Requirements vary enormously. US `TEN_DLC` registers a brand and a campaign with
|
|
41
|
+
# The Campaign Registry and asks for a substantial set of values. An alphanumeric
|
|
42
|
+
# sender in one country pre-registers with supporting documents; in another it
|
|
43
|
+
# needs nothing at all. This is the authoritative answer for whichever market you
|
|
44
|
+
# are asking about, and it is the same declaration used to validate the calls
|
|
45
|
+
# themselves — so it can never drift from what is actually enforced.
|
|
46
|
+
#
|
|
47
|
+
# ## `setup[]` — what to do
|
|
48
|
+
#
|
|
49
|
+
# **One step.** `POST /v3/channels/sms` adds the market and records everything it
|
|
50
|
+
# registers with — the identity in `compliance.brand`, the programme in
|
|
51
|
+
# `compliance.campaign`. There were three, in a load-bearing order, while the
|
|
52
|
+
# identity and the campaign were resources of their own; they are members of this
|
|
53
|
+
# call's body now, so there is nothing to sequence.
|
|
54
|
+
#
|
|
55
|
+
# Correct any of it afterwards with `PATCH /v3/channels/sms/{country}/{type}`,
|
|
56
|
+
# which takes the same `compliance` object one key at a time.
|
|
57
|
+
#
|
|
58
|
+
# Each step's `body` has every key that market wants already present, with the
|
|
59
|
+
# values left **blank**. Blank rather than filled with placeholders, because the
|
|
60
|
+
# body is meant to be sent: a null value counts as not supplied, so posting a step
|
|
61
|
+
# verbatim comes back naming every blank you left. `attachments[]` lists files to
|
|
62
|
+
# send as multipart on the channel call, each under the field name given — a file
|
|
63
|
+
# cannot be a JSON value, so documents are never listed in `compliance[]`.
|
|
64
|
+
#
|
|
65
|
+
# Every step is a call for whoever holds the key. To set a **sender profile** up
|
|
66
|
+
# instead, send the same requests with the `x-profile-id` header naming it; there
|
|
67
|
+
# is no separate path.
|
|
68
|
+
#
|
|
69
|
+
# ## `requirements[]` — what each value means
|
|
70
|
+
#
|
|
71
|
+
# Each entry names a key for the `compliance` array, its value type, and whether
|
|
72
|
+
# it is required. `required_when` marks values needed only in certain cases —
|
|
73
|
+
# evaluate it against your own payload, e.g. `brand.entity_type == PUBLIC_PROFIT`.
|
|
74
|
+
# `options` lists accepted values where the market constrains them, and `label` is
|
|
75
|
+
# suitable for rendering a form field.
|
|
76
|
+
#
|
|
77
|
+
# Values Sent supplies on your behalf are never listed: correlation ids,
|
|
78
|
+
# environment flags, carrier elections, and booleans derivable from what you
|
|
79
|
+
# already send.
|
|
80
|
+
#
|
|
81
|
+
# ## When nothing is required
|
|
82
|
+
#
|
|
83
|
+
# `required` is `false` and `requirements` is empty, and the single `setup` step
|
|
84
|
+
# carries no `compliance` array at all. A `sender_id_pattern` may still be present
|
|
85
|
+
# — many markets constrain the sender string without registering anything.
|
|
86
|
+
sig do
|
|
87
|
+
params(
|
|
88
|
+
channel: T.nilable(String),
|
|
89
|
+
country: T.nilable(String),
|
|
90
|
+
type: T.nilable(String),
|
|
91
|
+
x_profile_id: String,
|
|
92
|
+
request_options: Sentdm::RequestOptions::OrHash
|
|
93
|
+
).returns(Sentdm::APIResponseOfComplianceRequirements)
|
|
94
|
+
end
|
|
95
|
+
def retrieve_requirements(
|
|
96
|
+
# Query param: Channel the sender is for: sms, whatsapp or rcs. Defaults to sms,
|
|
97
|
+
# which is the only one answered today — the other two are 501 until their
|
|
98
|
+
# requirements are declared.
|
|
99
|
+
channel: nil,
|
|
100
|
+
# Query param: ISO 3166-1 alpha-2 country code, e.g. US, XK, IN
|
|
101
|
+
country: nil,
|
|
102
|
+
# Query param: Sender type: LOCAL, MOBILE, TEN_DLC, TOLL_FREE, SHORT_CODE,
|
|
103
|
+
# ALPHANUMERIC. 10DLC is accepted as a synonym of TEN_DLC, the same as on POST
|
|
104
|
+
# /v3/sender-profiles. Applies to channel=sms, the only channel whose senders have
|
|
105
|
+
# a type.
|
|
106
|
+
type: nil,
|
|
107
|
+
# Header param: Profile UUID to scope the request to a child profile. Only
|
|
108
|
+
# organization API keys can use this header. The profile must belong to the
|
|
109
|
+
# calling organization.
|
|
110
|
+
x_profile_id: nil,
|
|
111
|
+
request_options: {}
|
|
112
|
+
)
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# @api private
|
|
116
|
+
sig { params(client: Sentdm::Client).returns(T.attached_class) }
|
|
117
|
+
def self.new(client:)
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
end
|
|
@@ -19,11 +19,7 @@ module Sentdm
|
|
|
19
19
|
page_size: Integer,
|
|
20
20
|
x_profile_id: String,
|
|
21
21
|
request_options: Sentdm::RequestOptions::OrHash
|
|
22
|
-
).returns(
|
|
23
|
-
Sentdm::Internal::ConversationsPage[
|
|
24
|
-
Sentdm::ConversationMessagesList::Message
|
|
25
|
-
]
|
|
26
|
-
)
|
|
22
|
+
).returns(Sentdm::Internal::ConversationsPage[Sentdm::Message])
|
|
27
23
|
end
|
|
28
24
|
def list(
|
|
29
25
|
# Query param
|
|
@@ -47,11 +43,7 @@ module Sentdm
|
|
|
47
43
|
page_size: Integer,
|
|
48
44
|
x_profile_id: String,
|
|
49
45
|
request_options: Sentdm::RequestOptions::OrHash
|
|
50
|
-
).returns(
|
|
51
|
-
Sentdm::Internal::ConversationsPage[
|
|
52
|
-
Sentdm::ConversationMessagesList::Message
|
|
53
|
-
]
|
|
54
|
-
)
|
|
46
|
+
).returns(Sentdm::Internal::ConversationsPage[Sentdm::Message])
|
|
55
47
|
end
|
|
56
48
|
def list_messages(
|
|
57
49
|
# Path param: Conversation id from the route.
|
data/rbi/sentdm/resources/me.rbi
CHANGED
|
@@ -44,7 +44,7 @@ module Sentdm
|
|
|
44
44
|
params(
|
|
45
45
|
x_profile_id: String,
|
|
46
46
|
request_options: Sentdm::RequestOptions::OrHash
|
|
47
|
-
).returns(Sentdm::
|
|
47
|
+
).returns(Sentdm::APIResponseOfAccount)
|
|
48
48
|
end
|
|
49
49
|
def retrieve(
|
|
50
50
|
# Profile UUID to scope the request to a child profile. Only organization API keys
|
|
@@ -25,6 +25,66 @@ module Sentdm
|
|
|
25
25
|
# released yet. Cancelling is free, fires `message.cancelled`, and is final — a
|
|
26
26
|
# cancelled message cannot be resent.
|
|
27
27
|
class Messages
|
|
28
|
+
# Calls off a message you scheduled with `scheduled_at`, before it is released for
|
|
29
|
+
# sending. The message moves to `CANCELLED`, which is terminal, and it is never
|
|
30
|
+
# sent.
|
|
31
|
+
#
|
|
32
|
+
# **Only a SCHEDULED message can be cancelled.** A message that has already been
|
|
33
|
+
# released — queued, in flight, or finished — returns 409. The release sweeper
|
|
34
|
+
# runs continuously, so a cancellation sent within about a minute of the scheduled
|
|
35
|
+
# instant can lose that race and be refused; cancel with time to spare.
|
|
36
|
+
#
|
|
37
|
+
# **One message per call.** A send to many recipients, or on several channels,
|
|
38
|
+
# becomes one message per recipient × channel, each with its own id; cancel the
|
|
39
|
+
# ones you want stopped. There is no bulk cancellation.
|
|
40
|
+
#
|
|
41
|
+
# **Cancelling is free**, and nothing was charged for the hold in the first place
|
|
42
|
+
# — a scheduled message is only priced and billed at release.
|
|
43
|
+
#
|
|
44
|
+
# **A cancellation fires `message.cancelled`** on your webhook, exactly once,
|
|
45
|
+
# carrying the `scheduled_at` that was called off so a consumer can un-record the
|
|
46
|
+
# send it was expecting. Cancelling the same message again returns this same
|
|
47
|
+
# response and fires no second event. `Idempotency-Key` is honoured.
|
|
48
|
+
#
|
|
49
|
+
# A cancelled message cannot be resent — send a new one.
|
|
50
|
+
#
|
|
51
|
+
# The response is the message itself, in the same shape `GET /v3/messages/{id}`
|
|
52
|
+
# returns, so the `status` you read back is the one now stored on the row, and
|
|
53
|
+
# `scheduled_at` is the time it would have gone out. `GET /v3/messages/{id}` keeps
|
|
54
|
+
# reporting both afterwards.
|
|
55
|
+
#
|
|
56
|
+
# `events` is the message lifecycle as it stood immediately before the
|
|
57
|
+
# cancellation: the CANCELLED entry is written asynchronously and lands a moment
|
|
58
|
+
# later, so read `status` for the outcome. If you need the entry itself, re-fetch
|
|
59
|
+
# the message after a few seconds — `GET /v3/messages/{id}` is cached briefly, so
|
|
60
|
+
# an immediate re-fetch can still show the pre-cancellation state.
|
|
61
|
+
sig do
|
|
62
|
+
params(
|
|
63
|
+
id: String,
|
|
64
|
+
sandbox: T::Boolean,
|
|
65
|
+
idempotency_key: String,
|
|
66
|
+
x_profile_id: String,
|
|
67
|
+
request_options: Sentdm::RequestOptions::OrHash
|
|
68
|
+
).returns(Sentdm::APIResponseOfCancelledMessage)
|
|
69
|
+
end
|
|
70
|
+
def cancel(
|
|
71
|
+
# Path param: Message ID
|
|
72
|
+
id,
|
|
73
|
+
# Body param: Sandbox flag - when true, the operation is simulated without side
|
|
74
|
+
# effects Useful for testing integrations without actual execution
|
|
75
|
+
sandbox: nil,
|
|
76
|
+
# Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
77
|
+
# alphanumeric characters, hyphens, or underscores. Responses are cached for 24
|
|
78
|
+
# hours per key per customer.
|
|
79
|
+
idempotency_key: nil,
|
|
80
|
+
# Header param: Profile UUID to scope the request to a child profile. Only
|
|
81
|
+
# organization API keys can use this header. The profile must belong to the
|
|
82
|
+
# calling organization.
|
|
83
|
+
x_profile_id: nil,
|
|
84
|
+
request_options: {}
|
|
85
|
+
)
|
|
86
|
+
end
|
|
87
|
+
|
|
28
88
|
# Resends a message you already sent, on the same message id, without rebuilding
|
|
29
89
|
# the request. The typical use is recovering a BLOCKED message — for example one
|
|
30
90
|
# refused for insufficient balance — after the account has been topped up.
|
|
@@ -90,7 +150,7 @@ module Sentdm
|
|
|
90
150
|
id: String,
|
|
91
151
|
x_profile_id: String,
|
|
92
152
|
request_options: Sentdm::RequestOptions::OrHash
|
|
93
|
-
).returns(Sentdm::
|
|
153
|
+
).returns(Sentdm::APIResponseOfMessageActivities)
|
|
94
154
|
end
|
|
95
155
|
def retrieve_activities(
|
|
96
156
|
# Message ID from route parameter
|
|
@@ -114,7 +174,7 @@ module Sentdm
|
|
|
114
174
|
id: String,
|
|
115
175
|
x_profile_id: String,
|
|
116
176
|
request_options: Sentdm::RequestOptions::OrHash
|
|
117
|
-
).returns(Sentdm::
|
|
177
|
+
).returns(Sentdm::APIResponseOfMessage)
|
|
118
178
|
end
|
|
119
179
|
def retrieve_status(
|
|
120
180
|
# Message ID
|
|
@@ -166,16 +226,13 @@ module Sentdm
|
|
|
166
226
|
channel: T.nilable(T::Array[String]),
|
|
167
227
|
channels:
|
|
168
228
|
T.nilable(
|
|
169
|
-
T::Hash[
|
|
170
|
-
Symbol,
|
|
171
|
-
T::Array[Sentdm::MessageSendParams::Channel::OrHash]
|
|
172
|
-
]
|
|
229
|
+
T::Hash[Symbol, T::Array[Sentdm::MessageChannelOptions::OrHash]]
|
|
173
230
|
),
|
|
174
231
|
media_urls: T.nilable(T::Array[String]),
|
|
175
232
|
sandbox: T::Boolean,
|
|
176
233
|
scheduled_at: T.nilable(Time),
|
|
177
234
|
subject: T.nilable(String),
|
|
178
|
-
template: T.nilable(Sentdm::
|
|
235
|
+
template: T.nilable(Sentdm::TemplateRef::OrHash),
|
|
179
236
|
text: T.nilable(String),
|
|
180
237
|
to: T::Array[String],
|
|
181
238
|
idempotency_key: String,
|
|
@@ -98,7 +98,10 @@ module Sentdm
|
|
|
98
98
|
# explicitly.
|
|
99
99
|
#
|
|
100
100
|
# Retrieves all campaigns linked to the profile's brand, including use cases and
|
|
101
|
-
# sample messages.
|
|
101
|
+
# sample messages. A profile with inherit_tcr_campaign=true gets its
|
|
102
|
+
# organization's campaigns and, beside them, any campaign of its own (added with
|
|
103
|
+
# POST /v3/channels/sms/compliances/US/TEN_DLC/campaigns); `isInherited` says
|
|
104
|
+
# which is which.
|
|
102
105
|
sig do
|
|
103
106
|
params(
|
|
104
107
|
profile_id: String,
|
|
@@ -364,7 +364,7 @@ module Sentdm
|
|
|
364
364
|
params(
|
|
365
365
|
x_profile_id: String,
|
|
366
366
|
request_options: Sentdm::RequestOptions::OrHash
|
|
367
|
-
).returns(Sentdm::
|
|
367
|
+
).returns(Sentdm::APIResponseOfProfilesList)
|
|
368
368
|
end
|
|
369
369
|
def list(
|
|
370
370
|
# Profile UUID to scope the request to a child profile. Only organization API keys
|
|
@@ -465,7 +465,7 @@ module Sentdm
|
|
|
465
465
|
idempotency_key: String,
|
|
466
466
|
x_profile_id: String,
|
|
467
467
|
request_options: Sentdm::RequestOptions::OrHash
|
|
468
|
-
).returns(Sentdm::
|
|
468
|
+
).returns(Sentdm::APIResponseOfProfileCompletionResult)
|
|
469
469
|
end
|
|
470
470
|
def complete(
|
|
471
471
|
# Path param: Profile ID from route
|