sentdm 0.45.0 → 0.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -0
- data/README.md +11 -11
- data/lib/sentdm/client.rb +66 -0
- data/lib/sentdm/internal/sender_profiles_page.rb +140 -0
- data/lib/sentdm/internal/type/enum.rb +11 -11
- data/lib/sentdm/models/account.rb +173 -0
- data/lib/sentdm/models/account_channels.rb +39 -0
- data/lib/sentdm/models/account_profile.rb +86 -0
- data/lib/sentdm/models/account_rcs_channel.rb +26 -0
- data/lib/sentdm/models/account_sms_channel.rb +26 -0
- data/lib/sentdm/models/account_whatsapp_channel.rb +35 -0
- data/lib/sentdm/models/api_response_of_account.rb +48 -0
- data/lib/sentdm/models/api_response_of_cancelled_message.rb +43 -0
- data/lib/sentdm/models/api_response_of_channels_state.rb +48 -0
- data/lib/sentdm/models/api_response_of_compliance_requirements.rb +47 -0
- data/lib/sentdm/models/api_response_of_contacts_list.rb +42 -0
- data/lib/sentdm/models/api_response_of_message.rb +51 -0
- data/lib/sentdm/models/api_response_of_message_activities.rb +43 -0
- data/lib/sentdm/models/api_response_of_number_lookup_result.rb +43 -0
- data/lib/sentdm/models/api_response_of_profile_completion_accepted.rb +47 -0
- data/lib/sentdm/models/api_response_of_profile_completion_result.rb +47 -0
- data/lib/sentdm/models/api_response_of_profiles_list.rb +43 -0
- data/lib/sentdm/models/api_response_of_sender_profile.rb +54 -0
- data/lib/sentdm/models/api_response_of_sender_profiles_list.rb +42 -0
- data/lib/sentdm/models/api_response_of_templates_list.rb +42 -0
- data/lib/sentdm/models/api_response_of_users_list.rb +43 -0
- data/lib/sentdm/models/api_response_of_webhook_event_types_list.rb +43 -0
- data/lib/sentdm/models/api_response_of_webhook_events_list.rb +42 -0
- data/lib/sentdm/models/{webhook_rotate_secret_response.rb → api_response_of_webhook_secret.rb} +4 -17
- data/lib/sentdm/models/{webhook_test_response.rb → api_response_of_webhook_test.rb} +4 -23
- data/lib/sentdm/models/api_response_of_webhooks_list.rb +42 -0
- data/lib/sentdm/models/billing_contact.rb +35 -0
- data/lib/sentdm/models/brand_business.rb +96 -0
- data/lib/sentdm/models/brand_business_info.rb +3 -20
- data/lib/sentdm/models/brand_compliance.rb +75 -0
- data/lib/sentdm/models/brand_contact.rb +56 -0
- data/lib/sentdm/models/brand_with_kyc.rb +129 -0
- data/lib/sentdm/models/cancelled_message.rb +28 -0
- data/lib/sentdm/models/channel_event_payload.rb +3 -114
- data/lib/sentdm/models/channel_list_params.rb +20 -0
- data/lib/sentdm/models/channel_score.rb +35 -0
- data/lib/sentdm/models/channels/api_response_of_list_of_sms_market.rb +45 -0
- data/lib/sentdm/models/channels/api_response_of_rcs_agent.rb +60 -0
- data/lib/sentdm/models/channels/api_response_of_sms_market.rb +54 -0
- data/lib/sentdm/models/channels/api_response_of_whatsapp_channel.rb +47 -0
- data/lib/sentdm/models/channels/market_compliance.rb +409 -0
- data/lib/sentdm/models/channels/rc_create_params.rb +260 -0
- data/lib/sentdm/models/channels/rcs_address.rb +43 -0
- data/lib/sentdm/models/channels/rcs_agent.rb +278 -0
- data/lib/sentdm/models/channels/sms_create_params.rb +173 -0
- data/lib/sentdm/models/channels/sms_list_params.rb +22 -0
- data/lib/sentdm/models/channels/sms_market.rb +148 -0
- data/lib/sentdm/models/channels/sms_number.rb +52 -0
- data/lib/sentdm/models/channels/sms_number_request.rb +33 -0
- data/lib/sentdm/models/channels/sms_retrieve_params.rb +34 -0
- data/lib/sentdm/models/channels/sms_update_params.rb +64 -0
- data/lib/sentdm/models/channels/supplied_campaign.rb +10 -0
- data/lib/sentdm/models/channels/supplied_compliance.rb +115 -0
- data/lib/sentdm/models/channels/supplied_document.rb +35 -0
- data/lib/sentdm/models/channels/whatsapp_channel.rb +109 -0
- data/lib/sentdm/models/channels/whatsapp_create_params.rb +65 -0
- data/lib/sentdm/models/channels_state.rb +89 -0
- data/lib/sentdm/models/compliance_attachment_template.rb +36 -0
- data/lib/sentdm/models/compliance_requirement.rb +112 -0
- data/lib/sentdm/models/compliance_requirements.rb +98 -0
- data/lib/sentdm/models/compliance_retrieve_requirements_params.rb +52 -0
- data/lib/sentdm/models/compliance_setup_step.rb +78 -0
- data/lib/sentdm/models/contact_message_summary.rb +3 -34
- data/lib/sentdm/models/contacts_list.rb +26 -0
- data/lib/sentdm/models/conversation_messages_list.rb +3 -430
- data/lib/sentdm/models/entity_type.rb +18 -0
- data/lib/sentdm/models/inbound_media.rb +53 -0
- data/lib/sentdm/models/inbound_message_event_payload.rb +3 -53
- data/lib/sentdm/models/link_event.rb +79 -0
- data/lib/sentdm/models/link_event_payload.rb +211 -0
- data/lib/sentdm/models/message.rb +168 -0
- data/lib/sentdm/models/message_activities.rb +34 -0
- data/lib/sentdm/models/message_activity.rb +105 -0
- data/lib/sentdm/models/message_body.rb +79 -0
- data/lib/sentdm/models/message_button.rb +33 -0
- data/lib/sentdm/models/message_cancel_params.rb +32 -0
- data/lib/sentdm/models/message_channel_options.rb +43 -0
- data/lib/sentdm/models/message_header_media.rb +31 -0
- data/lib/sentdm/models/message_media.rb +74 -0
- data/lib/sentdm/models/message_recipient.rb +46 -0
- data/lib/sentdm/models/message_send_params.rb +6 -90
- data/lib/sentdm/models/message_send_response.rb +3 -95
- data/lib/sentdm/models/message_send_result.rb +55 -0
- data/lib/sentdm/models/message_status_event.rb +54 -0
- data/lib/sentdm/models/mms_market.rb +48 -0
- data/lib/sentdm/models/number_lookup_result.rb +63 -0
- data/lib/sentdm/models/pagination_cursors.rb +27 -0
- data/lib/sentdm/models/pagination_meta.rb +3 -27
- data/lib/sentdm/models/profile_completion_accepted.rb +20 -0
- data/lib/sentdm/models/profile_completion_result.rb +31 -0
- data/lib/sentdm/models/profile_detail.rb +6 -408
- data/lib/sentdm/models/profiles/brand_campaign.rb +14 -16
- data/lib/sentdm/models/profiles_list.rb +26 -0
- data/lib/sentdm/models/sender_profile.rb +138 -0
- data/lib/sentdm/models/sender_profile_billing.rb +21 -0
- data/lib/sentdm/models/sender_profile_billing_request.rb +33 -0
- data/lib/sentdm/models/sender_profile_channels.rb +90 -0
- data/lib/sentdm/models/sender_profile_create_params.rb +116 -0
- data/lib/sentdm/models/sender_profile_delete_params.rb +20 -0
- data/lib/sentdm/models/sender_profile_list_params.rb +30 -0
- data/lib/sentdm/models/sender_profile_rcs.rb +209 -0
- data/lib/sentdm/models/sender_profile_retrieve_params.rb +20 -0
- data/lib/sentdm/models/sender_profile_sms.rb +106 -0
- data/lib/sentdm/models/sender_profile_update_params.rb +71 -0
- data/lib/sentdm/models/sender_profile_whatsapp.rb +61 -0
- data/lib/sentdm/models/sender_profiles_list.rb +26 -0
- data/lib/sentdm/models/tcr_brand_identity_status.rb +17 -0
- data/lib/sentdm/models/tcr_brand_status.rb +16 -0
- data/lib/sentdm/models/tcr_campaign_status.rb +16 -0
- data/lib/sentdm/models/template_body.rb +3 -70
- data/lib/sentdm/models/template_header.rb +3 -37
- data/lib/sentdm/models/template_header_location.rb +38 -0
- data/lib/sentdm/models/template_media_item.rb +34 -0
- data/lib/sentdm/models/template_mms_body_content.rb +49 -0
- data/lib/sentdm/models/template_ref.rb +51 -0
- data/lib/sentdm/models/template_variable.rb +3 -64
- data/lib/sentdm/models/template_variable_props.rb +65 -0
- data/lib/sentdm/models/templates_list.rb +26 -0
- data/lib/sentdm/models/users_list.rb +26 -0
- data/lib/sentdm/models/voice/call.rb +7 -57
- data/lib/sentdm/models/voice/call_leg.rb +58 -0
- data/lib/sentdm/models/webhook_create_params.rb +3 -25
- data/lib/sentdm/models/webhook_delivery.rb +160 -0
- data/lib/sentdm/models/webhook_event_types_list.rb +26 -0
- data/lib/sentdm/models/webhook_events_list.rb +26 -0
- data/lib/sentdm/models/webhook_response.rb +3 -28
- data/lib/sentdm/models/webhook_secret.rb +15 -0
- data/lib/sentdm/models/webhook_sender_profile.rb +29 -0
- data/lib/sentdm/models/webhook_sender_profile_config.rb +27 -0
- data/lib/sentdm/models/webhook_test.rb +21 -0
- data/lib/sentdm/models/webhook_update_params.rb +3 -25
- data/lib/sentdm/models/webhooks_list.rb +26 -0
- data/lib/sentdm/models.rb +188 -0
- data/lib/sentdm/resources/channels/rcs.rb +177 -0
- data/lib/sentdm/resources/channels/sms.rb +420 -0
- data/lib/sentdm/resources/channels/whatsapp.rb +106 -0
- data/lib/sentdm/resources/channels.rb +162 -0
- data/lib/sentdm/resources/compliance.rb +127 -0
- data/lib/sentdm/resources/conversations.rb +4 -4
- data/lib/sentdm/resources/me.rb +2 -2
- data/lib/sentdm/resources/messages.rb +71 -6
- data/lib/sentdm/resources/numbers.rb +2 -2
- data/lib/sentdm/resources/profiles/campaigns.rb +4 -1
- data/lib/sentdm/resources/profiles.rb +4 -4
- data/lib/sentdm/resources/sender_profiles.rb +465 -0
- data/lib/sentdm/resources/users.rb +2 -2
- data/lib/sentdm/resources/voice/calls/participants.rb +5 -5
- data/lib/sentdm/resources/webhooks.rb +10 -10
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +121 -11
- data/rbi/sentdm/client.rbi +64 -0
- data/rbi/sentdm/internal/sender_profiles_page.rbi +122 -0
- data/rbi/sentdm/models/account.rbi +242 -0
- data/rbi/sentdm/models/account_channels.rbi +66 -0
- data/rbi/sentdm/models/account_profile.rbi +116 -0
- data/rbi/sentdm/models/account_rcs_channel.rbi +45 -0
- data/rbi/sentdm/models/account_sms_channel.rbi +45 -0
- data/rbi/sentdm/models/account_whatsapp_channel.rbi +58 -0
- data/rbi/sentdm/models/api_response_of_account.rbi +78 -0
- data/rbi/sentdm/models/{webhook_rotate_secret_response.rbi → api_response_of_cancelled_message.rbi} +6 -41
- data/rbi/sentdm/models/api_response_of_channels_state.rbi +78 -0
- data/rbi/sentdm/models/api_response_of_compliance_requirements.rbi +81 -0
- data/rbi/sentdm/models/api_response_of_contacts_list.rbi +74 -0
- data/rbi/sentdm/models/api_response_of_message.rbi +84 -0
- data/rbi/sentdm/models/api_response_of_message_activities.rbi +77 -0
- data/rbi/sentdm/models/{webhook_test_response.rbi → api_response_of_number_lookup_result.rbi} +9 -43
- data/rbi/sentdm/models/api_response_of_profile_completion_accepted.rbi +83 -0
- data/rbi/sentdm/models/{profile_complete_response.rbi → api_response_of_profile_completion_result.rbi} +6 -52
- data/rbi/sentdm/models/api_response_of_profiles_list.rbi +74 -0
- data/rbi/sentdm/models/api_response_of_sender_profile.rbi +90 -0
- data/rbi/sentdm/models/api_response_of_sender_profiles_list.rbi +77 -0
- data/rbi/sentdm/models/api_response_of_templates_list.rbi +74 -0
- data/rbi/sentdm/models/api_response_of_users_list.rbi +74 -0
- data/rbi/sentdm/models/api_response_of_webhook_event_types_list.rbi +79 -0
- data/rbi/sentdm/models/api_response_of_webhook_events_list.rbi +77 -0
- data/rbi/sentdm/models/api_response_of_webhook_secret.rbi +74 -0
- data/rbi/sentdm/models/api_response_of_webhook_test.rbi +74 -0
- data/rbi/sentdm/models/api_response_of_webhooks_list.rbi +74 -0
- data/rbi/sentdm/models/billing_contact.rbi +49 -0
- data/rbi/sentdm/models/brand_business.rbi +115 -0
- data/rbi/sentdm/models/brand_business_info.rbi +3 -49
- data/rbi/sentdm/models/brand_compliance.rbi +108 -0
- data/rbi/sentdm/models/brand_contact.rbi +78 -0
- data/rbi/sentdm/models/brand_with_kyc.rbi +167 -0
- data/rbi/sentdm/models/cancelled_message.rbi +37 -0
- data/rbi/sentdm/models/channel_event_payload.rbi +4 -204
- data/rbi/sentdm/models/channel_list_params.rbi +38 -0
- data/rbi/sentdm/models/channel_score.rbi +56 -0
- data/rbi/sentdm/models/channels/api_response_of_list_of_sms_market.rbi +76 -0
- data/rbi/sentdm/models/channels/api_response_of_rcs_agent.rbi +103 -0
- data/rbi/sentdm/models/channels/api_response_of_sms_market.rbi +93 -0
- data/rbi/sentdm/models/channels/api_response_of_whatsapp_channel.rbi +85 -0
- data/rbi/sentdm/models/channels/market_compliance.rbi +770 -0
- data/rbi/sentdm/models/channels/rc_create_params.rbi +397 -0
- data/rbi/sentdm/models/channels/rcs_address.rbi +62 -0
- data/rbi/sentdm/models/channels/rcs_agent.rbi +320 -0
- data/rbi/sentdm/models/channels/sms_create_params.rbi +291 -0
- data/rbi/sentdm/models/channels/sms_list_params.rbi +40 -0
- data/rbi/sentdm/models/channels/sms_market.rbi +235 -0
- data/rbi/sentdm/models/channels/sms_number.rbi +74 -0
- data/rbi/sentdm/models/channels/sms_number_request.rbi +48 -0
- data/rbi/sentdm/models/channels/sms_retrieve_params.rbi +56 -0
- data/rbi/sentdm/models/channels/sms_update_params.rbi +93 -0
- data/rbi/sentdm/models/channels/supplied_campaign.rbi +13 -0
- data/rbi/sentdm/models/channels/supplied_compliance.rbi +180 -0
- data/rbi/sentdm/models/channels/supplied_document.rbi +57 -0
- data/rbi/sentdm/models/channels/whatsapp_channel.rbi +172 -0
- data/rbi/sentdm/models/channels/whatsapp_create_params.rbi +104 -0
- data/rbi/sentdm/models/channels_state.rbi +151 -0
- data/rbi/sentdm/models/compliance_attachment_template.rbi +56 -0
- data/rbi/sentdm/models/compliance_requirement.rbi +149 -0
- data/rbi/sentdm/models/compliance_requirements.rbi +165 -0
- data/rbi/sentdm/models/compliance_retrieve_requirements_params.rbi +79 -0
- data/rbi/sentdm/models/compliance_setup_step.rbi +115 -0
- data/rbi/sentdm/models/contact_message_summary.rbi +4 -69
- data/rbi/sentdm/models/contacts_list.rbi +50 -0
- data/rbi/sentdm/models/conversation_messages_list.rbi +4 -669
- data/rbi/sentdm/models/entity_type.rbi +23 -0
- data/rbi/sentdm/models/inbound_media.rbi +76 -0
- data/rbi/sentdm/models/inbound_message_event_payload.rbi +3 -85
- data/rbi/sentdm/models/link_event.rbi +128 -0
- data/rbi/sentdm/models/link_event_payload.rbi +279 -0
- data/rbi/sentdm/models/message.rbi +214 -0
- data/rbi/sentdm/models/message_activities.rbi +63 -0
- data/rbi/sentdm/models/message_activity.rbi +145 -0
- data/rbi/sentdm/models/message_body.rbi +104 -0
- data/rbi/sentdm/models/message_button.rbi +52 -0
- data/rbi/sentdm/models/message_cancel_params.rbi +59 -0
- data/rbi/sentdm/models/message_channel_options.rbi +65 -0
- data/rbi/sentdm/models/message_header_media.rbi +44 -0
- data/rbi/sentdm/models/message_media.rbi +95 -0
- data/rbi/sentdm/models/message_recipient.rbi +70 -0
- data/rbi/sentdm/models/message_send_params.rbi +7 -155
- data/rbi/sentdm/models/message_send_response.rbi +4 -163
- data/rbi/sentdm/models/message_send_result.rbi +85 -0
- data/rbi/sentdm/models/message_status_event.rbi +70 -0
- data/rbi/sentdm/models/mms_market.rbi +66 -0
- data/rbi/sentdm/models/number_lookup_result.rbi +89 -0
- data/rbi/sentdm/models/pagination_cursors.rbi +42 -0
- data/rbi/sentdm/models/pagination_meta.rbi +4 -43
- data/rbi/sentdm/models/profile_completion_accepted.rbi +33 -0
- data/rbi/sentdm/models/profile_completion_result.rbi +43 -0
- data/rbi/sentdm/models/profile_detail.rbi +8 -621
- data/rbi/sentdm/models/profiles/brand_campaign.rbi +18 -45
- data/rbi/sentdm/models/profiles_list.rbi +50 -0
- data/rbi/sentdm/models/sender_profile.rbi +204 -0
- data/rbi/sentdm/models/sender_profile_billing.rbi +34 -0
- data/rbi/sentdm/models/sender_profile_billing_request.rbi +46 -0
- data/rbi/sentdm/models/sender_profile_channels.rbi +163 -0
- data/rbi/sentdm/models/sender_profile_create_params.rbi +190 -0
- data/rbi/sentdm/models/sender_profile_delete_params.rbi +35 -0
- data/rbi/sentdm/models/sender_profile_list_params.rbi +57 -0
- data/rbi/sentdm/models/sender_profile_rcs.rbi +211 -0
- data/rbi/sentdm/models/sender_profile_retrieve_params.rbi +35 -0
- data/rbi/sentdm/models/sender_profile_sms.rbi +156 -0
- data/rbi/sentdm/models/sender_profile_update_params.rbi +96 -0
- data/rbi/sentdm/models/sender_profile_whatsapp.rbi +83 -0
- data/rbi/sentdm/models/sender_profiles_list.rbi +54 -0
- data/rbi/sentdm/models/tcr_brand_identity_status.rbi +27 -0
- data/rbi/sentdm/models/tcr_brand_status.rbi +20 -0
- data/rbi/sentdm/models/tcr_campaign_status.rbi +23 -0
- data/rbi/sentdm/models/template_body.rbi +6 -114
- data/rbi/sentdm/models/template_header.rbi +4 -53
- data/rbi/sentdm/models/template_header_location.rbi +47 -0
- data/rbi/sentdm/models/template_media_item.rbi +51 -0
- data/rbi/sentdm/models/template_mms_body_content.rbi +73 -0
- data/rbi/sentdm/models/template_ref.rbi +79 -0
- data/rbi/sentdm/models/template_variable.rbi +4 -80
- data/rbi/sentdm/models/template_variable_props.rbi +81 -0
- data/rbi/sentdm/models/templates_list.rbi +50 -0
- data/rbi/sentdm/models/users_list.rbi +50 -0
- data/rbi/sentdm/models/voice/call.rbi +11 -92
- data/rbi/sentdm/models/voice/call_leg.rbi +90 -0
- data/rbi/sentdm/models/webhook_create_params.rbi +4 -49
- data/rbi/sentdm/models/webhook_delivery.rbi +211 -0
- data/rbi/sentdm/models/webhook_event_types_list.rbi +54 -0
- data/rbi/sentdm/models/webhook_events_list.rbi +52 -0
- data/rbi/sentdm/models/webhook_response.rbi +4 -50
- data/rbi/sentdm/models/webhook_secret.rbi +24 -0
- data/rbi/sentdm/models/webhook_sender_profile.rbi +46 -0
- data/rbi/sentdm/models/webhook_sender_profile_config.rbi +44 -0
- data/rbi/sentdm/models/webhook_test.rbi +32 -0
- data/rbi/sentdm/models/webhook_update_params.rbi +4 -49
- data/rbi/sentdm/models/webhooks_list.rbi +50 -0
- data/rbi/sentdm/models.rbi +197 -0
- data/rbi/sentdm/resources/channels/rcs.rbi +208 -0
- data/rbi/sentdm/resources/channels/sms.rbi +440 -0
- data/rbi/sentdm/resources/channels/whatsapp.rbi +108 -0
- data/rbi/sentdm/resources/channels.rbi +149 -0
- data/rbi/sentdm/resources/compliance.rbi +121 -0
- data/rbi/sentdm/resources/conversations.rbi +2 -10
- data/rbi/sentdm/resources/me.rbi +1 -1
- data/rbi/sentdm/resources/messages.rbi +64 -7
- data/rbi/sentdm/resources/numbers.rbi +1 -1
- data/rbi/sentdm/resources/profiles/campaigns.rbi +4 -1
- data/rbi/sentdm/resources/profiles.rbi +2 -2
- data/rbi/sentdm/resources/sender_profiles.rbi +463 -0
- data/rbi/sentdm/resources/users.rbi +1 -1
- data/rbi/sentdm/resources/voice/calls/participants.rbi +5 -5
- data/rbi/sentdm/resources/webhooks.rbi +6 -12
- data/sig/sentdm/client.rbs +4 -0
- data/sig/sentdm/internal/sender_profiles_page.rbs +80 -0
- data/sig/sentdm/models/account.rbs +111 -0
- data/sig/sentdm/models/account_channels.rbs +38 -0
- data/sig/sentdm/models/account_profile.rbs +68 -0
- data/sig/sentdm/models/account_rcs_channel.rbs +17 -0
- data/sig/sentdm/models/account_sms_channel.rbs +17 -0
- data/sig/sentdm/models/account_whatsapp_channel.rbs +28 -0
- data/sig/sentdm/models/api_response_of_account.rbs +39 -0
- data/sig/sentdm/models/api_response_of_cancelled_message.rbs +39 -0
- data/sig/sentdm/models/api_response_of_channels_state.rbs +39 -0
- data/sig/sentdm/models/api_response_of_compliance_requirements.rbs +39 -0
- data/sig/sentdm/models/api_response_of_contacts_list.rbs +39 -0
- data/sig/sentdm/models/api_response_of_message.rbs +39 -0
- data/sig/sentdm/models/api_response_of_message_activities.rbs +39 -0
- data/sig/sentdm/models/api_response_of_number_lookup_result.rbs +39 -0
- data/sig/sentdm/models/api_response_of_profile_completion_accepted.rbs +39 -0
- data/sig/sentdm/models/api_response_of_profile_completion_result.rbs +39 -0
- data/sig/sentdm/models/api_response_of_profiles_list.rbs +39 -0
- data/sig/sentdm/models/api_response_of_sender_profile.rbs +39 -0
- data/sig/sentdm/models/api_response_of_sender_profiles_list.rbs +39 -0
- data/sig/sentdm/models/api_response_of_templates_list.rbs +39 -0
- data/sig/sentdm/models/api_response_of_users_list.rbs +39 -0
- data/sig/sentdm/models/api_response_of_webhook_event_types_list.rbs +39 -0
- data/sig/sentdm/models/api_response_of_webhook_events_list.rbs +39 -0
- data/sig/sentdm/models/api_response_of_webhook_secret.rbs +39 -0
- data/sig/sentdm/models/api_response_of_webhook_test.rbs +39 -0
- data/sig/sentdm/models/api_response_of_webhooks_list.rbs +39 -0
- data/sig/sentdm/models/billing_contact.rbs +30 -0
- data/sig/sentdm/models/brand_business.rbs +70 -0
- data/sig/sentdm/models/brand_business_info.rbs +4 -23
- data/sig/sentdm/models/brand_compliance.rbs +56 -0
- data/sig/sentdm/models/brand_contact.rbs +47 -0
- data/sig/sentdm/models/brand_with_kyc.rbs +93 -0
- data/sig/sentdm/models/cancelled_message.rbs +15 -0
- data/sig/sentdm/models/channel_event_payload.rbs +4 -56
- data/sig/sentdm/models/channel_list_params.rbs +25 -0
- data/sig/sentdm/models/channel_score.rbs +32 -0
- data/sig/sentdm/models/channels/api_response_of_list_of_sms_market.rbs +41 -0
- data/sig/sentdm/models/channels/api_response_of_rcs_agent.rbs +41 -0
- data/sig/sentdm/models/channels/api_response_of_sms_market.rbs +41 -0
- data/sig/sentdm/models/channels/api_response_of_whatsapp_channel.rbs +43 -0
- data/sig/sentdm/models/channels/market_compliance.rbs +338 -0
- data/sig/sentdm/models/channels/rc_create_params.rbs +242 -0
- data/sig/sentdm/models/channels/rcs_address.rbs +42 -0
- data/sig/sentdm/models/channels/rcs_agent.rbs +181 -0
- data/sig/sentdm/models/channels/sms_create_params.rbs +116 -0
- data/sig/sentdm/models/channels/sms_list_params.rbs +27 -0
- data/sig/sentdm/models/channels/sms_market.rbs +80 -0
- data/sig/sentdm/models/channels/sms_number.rbs +37 -0
- data/sig/sentdm/models/channels/sms_number_request.rbs +17 -0
- data/sig/sentdm/models/channels/sms_retrieve_params.rbs +36 -0
- data/sig/sentdm/models/channels/sms_update_params.rbs +63 -0
- data/sig/sentdm/models/channels/supplied_campaign.rbs +9 -0
- data/sig/sentdm/models/channels/supplied_compliance.rbs +37 -0
- data/sig/sentdm/models/channels/supplied_document.rbs +30 -0
- data/sig/sentdm/models/channels/whatsapp_channel.rbs +78 -0
- data/sig/sentdm/models/channels/whatsapp_create_params.rbs +56 -0
- data/sig/sentdm/models/channels_state.rbs +55 -0
- data/sig/sentdm/models/compliance_attachment_template.rbs +26 -0
- data/sig/sentdm/models/compliance_requirement.rbs +76 -0
- data/sig/sentdm/models/compliance_requirements.rbs +66 -0
- data/sig/sentdm/models/compliance_retrieve_requirements_params.rbs +43 -0
- data/sig/sentdm/models/compliance_setup_step.rbs +62 -0
- data/sig/sentdm/models/contact_message_summary.rbs +6 -35
- data/sig/sentdm/models/contacts_list.rbs +31 -0
- data/sig/sentdm/models/conversation_messages_list.rbs +5 -312
- data/sig/sentdm/models/entity_type.rbs +22 -0
- data/sig/sentdm/models/inbound_media.rbs +35 -0
- data/sig/sentdm/models/inbound_message_event_payload.rbs +4 -36
- data/sig/sentdm/models/link_event.rbs +44 -0
- data/sig/sentdm/models/link_event_payload.rbs +106 -0
- data/sig/sentdm/models/message.rbs +130 -0
- data/sig/sentdm/models/message_activities.rbs +38 -0
- data/sig/sentdm/models/message_activity.rbs +66 -0
- data/sig/sentdm/models/message_body.rbs +52 -0
- data/sig/sentdm/models/message_button.rbs +34 -0
- data/sig/sentdm/models/message_cancel_params.rbs +38 -0
- data/sig/sentdm/models/message_channel_options.rbs +26 -0
- data/sig/sentdm/models/message_header_media.rbs +19 -0
- data/sig/sentdm/models/message_media.rbs +40 -0
- data/sig/sentdm/models/message_recipient.rbs +34 -0
- data/sig/sentdm/models/message_send_params.rbs +8 -54
- data/sig/sentdm/models/message_send_response.rbs +4 -77
- data/sig/sentdm/models/message_send_result.rbs +45 -0
- data/sig/sentdm/models/message_status_event.rbs +40 -0
- data/sig/sentdm/models/mms_market.rbs +35 -0
- data/sig/sentdm/models/number_lookup_result.rbs +64 -0
- data/sig/sentdm/models/pagination_cursors.rbs +15 -0
- data/sig/sentdm/models/pagination_meta.rbs +4 -16
- data/sig/sentdm/models/profile_completion_accepted.rbs +15 -0
- data/sig/sentdm/models/profile_completion_result.rbs +19 -0
- data/sig/sentdm/models/profile_detail.rbs +8 -315
- data/sig/sentdm/models/profiles/brand_campaign.rbs +11 -16
- data/sig/sentdm/models/profiles_list.rbs +31 -0
- data/sig/sentdm/models/sender_profile.rbs +76 -0
- data/sig/sentdm/models/sender_profile_billing.rbs +15 -0
- data/sig/sentdm/models/sender_profile_billing_request.rbs +15 -0
- data/sig/sentdm/models/sender_profile_channels.rbs +30 -0
- data/sig/sentdm/models/sender_profile_create_params.rbs +78 -0
- data/sig/sentdm/models/sender_profile_delete_params.rbs +20 -0
- data/sig/sentdm/models/sender_profile_list_params.rbs +32 -0
- data/sig/sentdm/models/sender_profile_rcs.rbs +150 -0
- data/sig/sentdm/models/sender_profile_retrieve_params.rbs +20 -0
- data/sig/sentdm/models/sender_profile_sms.rbs +40 -0
- data/sig/sentdm/models/sender_profile_update_params.rbs +62 -0
- data/sig/sentdm/models/sender_profile_whatsapp.rbs +16 -0
- data/sig/sentdm/models/sender_profiles_list.rbs +31 -0
- data/sig/sentdm/models/tcr_brand_identity_status.rbs +17 -0
- data/sig/sentdm/models/tcr_brand_status.rbs +15 -0
- data/sig/sentdm/models/tcr_campaign_status.rbs +15 -0
- data/sig/sentdm/models/template_body.rbs +4 -43
- data/sig/sentdm/models/template_header.rbs +4 -31
- data/sig/sentdm/models/template_header_location.rbs +30 -0
- data/sig/sentdm/models/template_media_item.rbs +17 -0
- data/sig/sentdm/models/template_mms_body_content.rbs +28 -0
- data/sig/sentdm/models/template_ref.rbs +26 -0
- data/sig/sentdm/models/template_variable.rbs +4 -51
- data/sig/sentdm/models/template_variable_props.rbs +50 -0
- data/sig/sentdm/models/templates_list.rbs +29 -0
- data/sig/sentdm/models/users_list.rbs +31 -0
- data/sig/sentdm/models/voice/call.rbs +4 -49
- data/sig/sentdm/models/voice/call_leg.rbs +50 -0
- data/sig/sentdm/models/webhook_create_params.rbs +4 -28
- data/sig/sentdm/models/webhook_delivery.rbs +99 -0
- data/sig/sentdm/models/webhook_event_types_list.rbs +31 -0
- data/sig/sentdm/models/webhook_events_list.rbs +31 -0
- data/sig/sentdm/models/webhook_response.rbs +4 -28
- data/sig/sentdm/models/webhook_secret.rbs +15 -0
- data/sig/sentdm/models/webhook_sender_profile.rbs +27 -0
- data/sig/sentdm/models/webhook_sender_profile_config.rbs +27 -0
- data/sig/sentdm/models/webhook_test.rbs +19 -0
- data/sig/sentdm/models/webhook_update_params.rbs +4 -28
- data/sig/sentdm/models/webhooks_list.rbs +31 -0
- data/sig/sentdm/models.rbs +188 -0
- data/sig/sentdm/resources/channels/rcs.rbs +41 -0
- data/sig/sentdm/resources/channels/sms.rbs +44 -0
- data/sig/sentdm/resources/channels/whatsapp.rbs +18 -0
- data/sig/sentdm/resources/channels.rbs +11 -0
- data/sig/sentdm/resources/compliance.rbs +15 -0
- data/sig/sentdm/resources/conversations.rbs +2 -2
- data/sig/sentdm/resources/me.rbs +1 -1
- data/sig/sentdm/resources/messages.rbs +12 -4
- data/sig/sentdm/resources/numbers.rbs +1 -1
- data/sig/sentdm/resources/profiles.rbs +2 -2
- data/sig/sentdm/resources/sender_profiles.rbs +44 -0
- data/sig/sentdm/resources/users.rbs +1 -1
- data/sig/sentdm/resources/webhooks.rbs +6 -6
- metadata +365 -35
- data/lib/sentdm/models/me_retrieve_response.rb +0 -409
- data/lib/sentdm/models/message_retrieve_activities_response.rb +0 -175
- data/lib/sentdm/models/message_retrieve_status_response.rb +0 -477
- data/lib/sentdm/models/number_lookup_response.rb +0 -104
- data/lib/sentdm/models/profile_complete_response.rb +0 -74
- data/lib/sentdm/models/profile_list_response.rb +0 -65
- data/lib/sentdm/models/user_list_response.rb +0 -65
- data/lib/sentdm/models/webhook_list_event_types_response.rb +0 -65
- data/lib/sentdm/models/webhook_list_events_response.rb +0 -445
- data/rbi/sentdm/models/me_retrieve_response.rbi +0 -705
- data/rbi/sentdm/models/message_retrieve_activities_response.rbi +0 -319
- data/rbi/sentdm/models/message_retrieve_status_response.rbi +0 -765
- data/rbi/sentdm/models/number_lookup_response.rbi +0 -166
- data/rbi/sentdm/models/profile_list_response.rbi +0 -128
- data/rbi/sentdm/models/user_list_response.rbi +0 -128
- data/rbi/sentdm/models/webhook_list_event_types_response.rbi +0 -142
- data/rbi/sentdm/models/webhook_list_events_response.rbi +0 -647
- data/sig/sentdm/models/me_retrieve_response.rbs +0 -306
- data/sig/sentdm/models/message_retrieve_activities_response.rbs +0 -137
- data/sig/sentdm/models/message_retrieve_status_response.rbs +0 -341
- data/sig/sentdm/models/number_lookup_response.rbs +0 -100
- data/sig/sentdm/models/profile_complete_response.rbs +0 -55
- data/sig/sentdm/models/profile_list_response.rbs +0 -67
- data/sig/sentdm/models/user_list_response.rbs +0 -67
- data/sig/sentdm/models/webhook_list_event_types_response.rbs +0 -67
- data/sig/sentdm/models/webhook_list_events_response.rbs +0 -243
- data/sig/sentdm/models/webhook_rotate_secret_response.rbs +0 -51
- data/sig/sentdm/models/webhook_test_response.rbs +0 -55
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
# @see Sentdm::Resources::SenderProfiles#list
|
|
6
|
+
class SenderProfile < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute id
|
|
8
|
+
#
|
|
9
|
+
# @return [String, nil]
|
|
10
|
+
optional :id, String
|
|
11
|
+
|
|
12
|
+
# @!attribute api_key
|
|
13
|
+
# The API key for this profile.
|
|
14
|
+
#
|
|
15
|
+
# Returned by create and by nothing else. It is shown once; a read that repeated
|
|
16
|
+
# it would turn every profile list into a credential dump and put the key into any
|
|
17
|
+
# log or cache that keeps a response body.
|
|
18
|
+
#
|
|
19
|
+
# Omitted rather than null on a read. A key field that is always present and
|
|
20
|
+
# always empty suggests it could be populated, which is an invitation to populate
|
|
21
|
+
# it; absent says there is nothing to look for. Doing it with a serializer
|
|
22
|
+
# condition rather than a second response type keeps create and read on one shape,
|
|
23
|
+
# which is what stops them drifting.
|
|
24
|
+
#
|
|
25
|
+
# @return [String, nil]
|
|
26
|
+
optional :api_key, String, nil?: true
|
|
27
|
+
|
|
28
|
+
# @!attribute billing
|
|
29
|
+
# Who pays for a sender profile's traffic, as a read reports it.
|
|
30
|
+
#
|
|
31
|
+
# Its own type, field for field the same as BillingRequest. Same reason as the
|
|
32
|
+
# brand: a response is not a request, whatever it carries.
|
|
33
|
+
#
|
|
34
|
+
# @return [Sentdm::Models::SenderProfileBilling, nil]
|
|
35
|
+
optional :billing, -> { Sentdm::SenderProfileBilling }, nil?: true
|
|
36
|
+
|
|
37
|
+
# @!attribute channels
|
|
38
|
+
# The channels a profile sends on. SMS is a list because a profile can send in
|
|
39
|
+
# several markets; WhatsApp and RCS are single, because a profile has one business
|
|
40
|
+
# account and one agent.
|
|
41
|
+
#
|
|
42
|
+
# @return [Sentdm::Models::ChannelsState, nil]
|
|
43
|
+
optional :channels, -> { Sentdm::ChannelsState }, nil?: true
|
|
44
|
+
|
|
45
|
+
# @!attribute compliance
|
|
46
|
+
# What a market has been given: the identity it registers under, its programme,
|
|
47
|
+
# and any documents attached.
|
|
48
|
+
#
|
|
49
|
+
# What it does not carry is what the market asks for. That is the subject of GET
|
|
50
|
+
# /v3/compliance/requirements, and it is the same answer for every caller — a
|
|
51
|
+
# description of what a compliance regime wants, not a record of one customer's
|
|
52
|
+
# progress through it. It was reported here as well for a while, which put the
|
|
53
|
+
# same array in six response shapes and left a caller deciding which of two
|
|
54
|
+
# sources to believe.
|
|
55
|
+
#
|
|
56
|
+
# Present on a list read for markets that register (carrying brand and campaign),
|
|
57
|
+
# but with documents absent — documents are not fetched for a list, because a
|
|
58
|
+
# catalog lookup and a document read per market would multiply across a page.
|
|
59
|
+
# Absent documents is distinct from an empty list: absent says they were not
|
|
60
|
+
# fetched; empty says the market has been given none. The parent object is null
|
|
61
|
+
# only when the market registers with nobody and compliance was not computed —
|
|
62
|
+
# nothing to show at all.
|
|
63
|
+
#
|
|
64
|
+
# @return [Sentdm::Models::Channels::SuppliedCompliance, nil]
|
|
65
|
+
optional :compliance, -> { Sentdm::Channels::SuppliedCompliance }, nil?: true
|
|
66
|
+
|
|
67
|
+
# @!attribute created_at
|
|
68
|
+
#
|
|
69
|
+
# @return [Time, nil]
|
|
70
|
+
optional :created_at, Time
|
|
71
|
+
|
|
72
|
+
# @!attribute description
|
|
73
|
+
#
|
|
74
|
+
# @return [String, nil]
|
|
75
|
+
optional :description, String, nil?: true
|
|
76
|
+
|
|
77
|
+
# @!attribute name
|
|
78
|
+
#
|
|
79
|
+
# @return [String, nil]
|
|
80
|
+
optional :name, String
|
|
81
|
+
|
|
82
|
+
# @!attribute notifications
|
|
83
|
+
# Who is notified about this profile's events: ORGANIZATION, SENDER_PROFILE, or
|
|
84
|
+
# ORGANIZATION_AND_SENDER_PROFILE. Always present — a profile that never chose
|
|
85
|
+
# reports as ORGANIZATION, the value a create would send to get the default
|
|
86
|
+
# behaviour.
|
|
87
|
+
#
|
|
88
|
+
# @return [String, nil]
|
|
89
|
+
optional :notifications, String, nil?: true
|
|
90
|
+
|
|
91
|
+
# @!attribute organization_id
|
|
92
|
+
#
|
|
93
|
+
# @return [String, nil]
|
|
94
|
+
optional :organization_id, String, nil?: true
|
|
95
|
+
|
|
96
|
+
# @!attribute short_name
|
|
97
|
+
#
|
|
98
|
+
# @return [String, nil]
|
|
99
|
+
optional :short_name, String, nil?: true
|
|
100
|
+
|
|
101
|
+
# @!method initialize(id: nil, api_key: nil, billing: nil, channels: nil, compliance: nil, created_at: nil, description: nil, name: nil, notifications: nil, organization_id: nil, short_name: nil)
|
|
102
|
+
# Some parameter documentations has been truncated, see
|
|
103
|
+
# {Sentdm::Models::SenderProfile} for more details.
|
|
104
|
+
#
|
|
105
|
+
# A sender profile as the API reports it — the same document the create call
|
|
106
|
+
# accepts, plus the read-only facts it cannot: each market's status and what it
|
|
107
|
+
# still owes.
|
|
108
|
+
#
|
|
109
|
+
# No status at the profile, brand or campaign level. Brand and campaign are
|
|
110
|
+
# identity, and identity has no lifecycle. What has one is the registration of a
|
|
111
|
+
# sender in a market, and the approval of a channel — so status lives there, where
|
|
112
|
+
# it says which specific thing is blocked rather than flattening several answers
|
|
113
|
+
# into one.
|
|
114
|
+
#
|
|
115
|
+
# @param id [String]
|
|
116
|
+
#
|
|
117
|
+
# @param api_key [String, nil] The API key for this profile.
|
|
118
|
+
#
|
|
119
|
+
# @param billing [Sentdm::Models::SenderProfileBilling, nil] Who pays for a sender profile's traffic, as a read reports it.
|
|
120
|
+
#
|
|
121
|
+
# @param channels [Sentdm::Models::ChannelsState, nil] The channels a profile sends on. SMS is a list because a profile can send in sev
|
|
122
|
+
#
|
|
123
|
+
# @param compliance [Sentdm::Models::Channels::SuppliedCompliance, nil] What a market has been given: the identity it registers under, its programme, an
|
|
124
|
+
#
|
|
125
|
+
# @param created_at [Time]
|
|
126
|
+
#
|
|
127
|
+
# @param description [String, nil]
|
|
128
|
+
#
|
|
129
|
+
# @param name [String]
|
|
130
|
+
#
|
|
131
|
+
# @param notifications [String, nil] Who is notified about this profile's events: ORGANIZATION, SENDER_PROFILE, or
|
|
132
|
+
#
|
|
133
|
+
# @param organization_id [String, nil]
|
|
134
|
+
#
|
|
135
|
+
# @param short_name [String, nil]
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class SenderProfileBilling < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute inherit
|
|
7
|
+
# Whether the organization pays, rather than the profile.
|
|
8
|
+
#
|
|
9
|
+
# @return [Boolean, nil]
|
|
10
|
+
optional :inherit, Sentdm::Internal::Type::Boolean
|
|
11
|
+
|
|
12
|
+
# @!method initialize(inherit: nil)
|
|
13
|
+
# Who pays for a sender profile's traffic, as a read reports it.
|
|
14
|
+
#
|
|
15
|
+
# Its own type, field for field the same as BillingRequest. Same reason as the
|
|
16
|
+
# brand: a response is not a request, whatever it carries.
|
|
17
|
+
#
|
|
18
|
+
# @param inherit [Boolean] Whether the organization pays, rather than the profile.
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class SenderProfileBillingRequest < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute inherit
|
|
7
|
+
# Whether the parent organization pays. false is the profile paying for itself.
|
|
8
|
+
#
|
|
9
|
+
# @return [Boolean, nil]
|
|
10
|
+
optional :inherit, Sentdm::Internal::Type::Boolean
|
|
11
|
+
|
|
12
|
+
# @!method initialize(inherit: nil)
|
|
13
|
+
# Who pays for what a sender profile sends.
|
|
14
|
+
#
|
|
15
|
+
# Ownership reads the same way as BrandRequest and CampaignRequest: inherit: true
|
|
16
|
+
# is the organization paying; inherit: false (or an empty block) is the profile
|
|
17
|
+
# paying for itself.
|
|
18
|
+
#
|
|
19
|
+
# An absent block is the one place billing differs from brand and campaign: a
|
|
20
|
+
# profile still has to be paid for, so omitting billing stores
|
|
21
|
+
# ProfileAndOrganizationBilling — the profile pays first and its organization
|
|
22
|
+
# covers what the profile's balance cannot (see ResolveStored). { "name": "..." }
|
|
23
|
+
# stays a complete request.
|
|
24
|
+
#
|
|
25
|
+
# Billing carries no fields of its own yet, so a profile paying for itself is {
|
|
26
|
+
# "inherit": false } — or an empty block, which means the same. That is thinner
|
|
27
|
+
# than brand and campaign, where supplying data is the act of owning; it becomes
|
|
28
|
+
# ordinary the moment billing gains a contact or a payment method to carry.
|
|
29
|
+
#
|
|
30
|
+
# @param inherit [Boolean] Whether the parent organization pays. false is the profile paying for itself.
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class SenderProfileChannels < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute rcs
|
|
7
|
+
# Asks for an RCS agent of the profile's own, optionally with the full order form
|
|
8
|
+
# inline.
|
|
9
|
+
#
|
|
10
|
+
# Two modes, distinguished by whether any field is populated: "rcs": {} — intent
|
|
11
|
+
# only. Records that the profile wants its own agent; the order form is submitted
|
|
12
|
+
# separately through POST /v3/channels/rcs once the fields are ready. "rcs": {
|
|
13
|
+
# ...fields... } — full form. All required fields must be present; the agent is
|
|
14
|
+
# created alongside the profile in one call. Omitting opt_in_screenshot_url is
|
|
15
|
+
# allowed.
|
|
16
|
+
#
|
|
17
|
+
# @return [Sentdm::Models::SenderProfileRcs, nil]
|
|
18
|
+
optional :rcs, -> { Sentdm::SenderProfileRcs }, nil?: true
|
|
19
|
+
|
|
20
|
+
# @!attribute sms
|
|
21
|
+
# One SMS market a profile sends in — a country and a sender type.
|
|
22
|
+
#
|
|
23
|
+
# A profile may have several. It is a tenant, not a market: a business sending to
|
|
24
|
+
# two countries is one customer of yours, and forcing it into two profiles would
|
|
25
|
+
# give it two API keys, two inboxes and two contact lists for one business. The
|
|
26
|
+
# platform already assumes many — CustomerChannelProviders is unique on (customer,
|
|
27
|
+
# channel, iso, number).
|
|
28
|
+
#
|
|
29
|
+
# No mode: a sender is the profile's own or it has none. Listing a market is the
|
|
30
|
+
# request for one.
|
|
31
|
+
#
|
|
32
|
+
# Also the discriminator for everything else: the compliance catalog is keyed on
|
|
33
|
+
# (country, number type), and that pair decides which fields brand accepts and
|
|
34
|
+
# what compliance is asked for.
|
|
35
|
+
#
|
|
36
|
+
# @return [Sentdm::Models::SenderProfileSMS, nil]
|
|
37
|
+
optional :sms, -> { Sentdm::SenderProfileSMS }, nil?: true
|
|
38
|
+
|
|
39
|
+
# @!attribute whatsapp
|
|
40
|
+
# The profile's own WhatsApp Business Account, named by the two identifiers the
|
|
41
|
+
# organization cannot answer for you.
|
|
42
|
+
#
|
|
43
|
+
# No mode: a profile's WABA is its own or it has none. Sharing the organization's
|
|
44
|
+
# would mean sharing its inbox and its throughput, which makes the two
|
|
45
|
+
# indistinguishable to a recipient — so inheriting is not offered rather than
|
|
46
|
+
# refused.
|
|
47
|
+
#
|
|
48
|
+
# Everything derivable is derived. Whenever this block is present, the solution
|
|
49
|
+
# the account arrived through, the client business portfolio that owns it, the
|
|
50
|
+
# access token and that token's expiry are all resolved from the organization by
|
|
51
|
+
# IPartnerSolutionService.ResolveAccountCredentialsAsync — the first two off the
|
|
52
|
+
# org's shared-account listing, the token minted against the org's own solution.
|
|
53
|
+
# They were previously asked for and are no longer accepted: solution_id and
|
|
54
|
+
# owner_business_id are Meta's answer about provenance, so taking them from the
|
|
55
|
+
# caller let a request assert a partnership Meta disagreed with, and the listing
|
|
56
|
+
# has to be consulted regardless because it is what proves the account is one this
|
|
57
|
+
# organization may reach.
|
|
58
|
+
#
|
|
59
|
+
# No access token, and there never was one here: it is minted per client business
|
|
60
|
+
# portfolio and rotates roughly every sixty days, so a pasted value would be stale
|
|
61
|
+
# before it was useful. Asking a customer to mint a System User token in Meta
|
|
62
|
+
# Business Manager is skilled work in a console they were never meant to see, and
|
|
63
|
+
# it would say nothing about which solution the account came from or when it is
|
|
64
|
+
# revoked.
|
|
65
|
+
#
|
|
66
|
+
# @return [Sentdm::Models::SenderProfileWhatsapp, nil]
|
|
67
|
+
optional :whatsapp, -> { Sentdm::SenderProfileWhatsapp }, nil?: true
|
|
68
|
+
|
|
69
|
+
# @!method initialize(rcs: nil, sms: nil, whatsapp: nil)
|
|
70
|
+
# Some parameter documentations has been truncated, see
|
|
71
|
+
# {Sentdm::Models::SenderProfileChannels} for more details.
|
|
72
|
+
#
|
|
73
|
+
# The channels the profile sends on. Each is independently the profile's own or
|
|
74
|
+
# absent — none can be inherited, so none carries a mode and presence is the whole
|
|
75
|
+
# of the request.
|
|
76
|
+
#
|
|
77
|
+
# A profile can send SMS in several markets, but create takes one — the market it
|
|
78
|
+
# starts in. Further markets are added through POST /v3/channels/sms with
|
|
79
|
+
# x-profile-id, and a read returns them all as a list. Create stays singular
|
|
80
|
+
# permanently rather than being a list that accepts one entry: the constraint is
|
|
81
|
+
# in the type, and there is no later widening to break the contract.
|
|
82
|
+
#
|
|
83
|
+
# @param rcs [Sentdm::Models::SenderProfileRcs, nil] Asks for an RCS agent of the profile's own, optionally with the full order form
|
|
84
|
+
#
|
|
85
|
+
# @param sms [Sentdm::Models::SenderProfileSMS, nil] One SMS market a profile sends in — a country and a sender type.
|
|
86
|
+
#
|
|
87
|
+
# @param whatsapp [Sentdm::Models::SenderProfileWhatsapp, nil] The profile's own WhatsApp Business Account, named by the two identifiers the or
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
# @see Sentdm::Resources::SenderProfiles#create
|
|
6
|
+
class SenderProfileCreateParams < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Sentdm::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute billing
|
|
11
|
+
# Who pays for what a sender profile sends.
|
|
12
|
+
#
|
|
13
|
+
# Ownership reads the same way as BrandRequest and CampaignRequest: inherit: true
|
|
14
|
+
# is the organization paying; inherit: false (or an empty block) is the profile
|
|
15
|
+
# paying for itself.
|
|
16
|
+
#
|
|
17
|
+
# An absent block is the one place billing differs from brand and campaign: a
|
|
18
|
+
# profile still has to be paid for, so omitting billing stores
|
|
19
|
+
# ProfileAndOrganizationBilling — the profile pays first and its organization
|
|
20
|
+
# covers what the profile's balance cannot (see ResolveStored). { "name": "..." }
|
|
21
|
+
# stays a complete request.
|
|
22
|
+
#
|
|
23
|
+
# Billing carries no fields of its own yet, so a profile paying for itself is {
|
|
24
|
+
# "inherit": false } — or an empty block, which means the same. That is thinner
|
|
25
|
+
# than brand and campaign, where supplying data is the act of owning; it becomes
|
|
26
|
+
# ordinary the moment billing gains a contact or a payment method to carry.
|
|
27
|
+
#
|
|
28
|
+
# @return [Sentdm::Models::SenderProfileBillingRequest, nil]
|
|
29
|
+
optional :billing, -> { Sentdm::SenderProfileBillingRequest }, nil?: true
|
|
30
|
+
|
|
31
|
+
# @!attribute channels
|
|
32
|
+
# The channels the profile sends on. Each is independently the profile's own or
|
|
33
|
+
# absent — none can be inherited, so none carries a mode and presence is the whole
|
|
34
|
+
# of the request.
|
|
35
|
+
#
|
|
36
|
+
# A profile can send SMS in several markets, but create takes one — the market it
|
|
37
|
+
# starts in. Further markets are added through POST /v3/channels/sms with
|
|
38
|
+
# x-profile-id, and a read returns them all as a list. Create stays singular
|
|
39
|
+
# permanently rather than being a list that accepts one entry: the constraint is
|
|
40
|
+
# in the type, and there is no later widening to break the contract.
|
|
41
|
+
#
|
|
42
|
+
# @return [Sentdm::Models::SenderProfileChannels, nil]
|
|
43
|
+
optional :channels, -> { Sentdm::SenderProfileChannels }, nil?: true
|
|
44
|
+
|
|
45
|
+
# @!attribute compliance
|
|
46
|
+
# The compliance values a market registers with. `brand` and `campaign` apply to
|
|
47
|
+
# US `TEN_DLC`; other markets fill this map with the document keys their own
|
|
48
|
+
# requirements name.
|
|
49
|
+
#
|
|
50
|
+
# @return [Sentdm::Models::Channels::MarketCompliance, nil]
|
|
51
|
+
optional :compliance, -> { Sentdm::Channels::MarketCompliance }
|
|
52
|
+
|
|
53
|
+
# @!attribute description
|
|
54
|
+
#
|
|
55
|
+
# @return [String, nil]
|
|
56
|
+
optional :description, String, nil?: true
|
|
57
|
+
|
|
58
|
+
# @!attribute name
|
|
59
|
+
# Display name for the profile. Required.
|
|
60
|
+
#
|
|
61
|
+
# @return [String, nil]
|
|
62
|
+
optional :name, String
|
|
63
|
+
|
|
64
|
+
# @!attribute notifications
|
|
65
|
+
# Who is notified about this profile's events: ORGANIZATION, SENDER_PROFILE, or
|
|
66
|
+
# ORGANIZATION_AND_SENDER_PROFILE. Omitting it leaves the profile on the
|
|
67
|
+
# Organization default.
|
|
68
|
+
#
|
|
69
|
+
# @return [String, nil]
|
|
70
|
+
optional :notifications, String, nil?: true
|
|
71
|
+
|
|
72
|
+
# @!attribute sandbox
|
|
73
|
+
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
74
|
+
# for testing integrations without actual execution
|
|
75
|
+
#
|
|
76
|
+
# @return [Boolean, nil]
|
|
77
|
+
optional :sandbox, Sentdm::Internal::Type::Boolean
|
|
78
|
+
|
|
79
|
+
# @!attribute short_name
|
|
80
|
+
# Short name, which is also the SMS sender id — required. 3–11 characters of
|
|
81
|
+
# letters, numbers and spaces, with at least one letter.
|
|
82
|
+
#
|
|
83
|
+
# @return [String, nil]
|
|
84
|
+
optional :short_name, String
|
|
85
|
+
|
|
86
|
+
# @!attribute idempotency_key
|
|
87
|
+
#
|
|
88
|
+
# @return [String, nil]
|
|
89
|
+
optional :idempotency_key, String
|
|
90
|
+
|
|
91
|
+
# @!method initialize(billing: nil, channels: nil, compliance: nil, description: nil, name: nil, notifications: nil, sandbox: nil, short_name: nil, idempotency_key: nil, request_options: {})
|
|
92
|
+
# Some parameter documentations has been truncated, see
|
|
93
|
+
# {Sentdm::Models::SenderProfileCreateParams} for more details.
|
|
94
|
+
#
|
|
95
|
+
# @param billing [Sentdm::Models::SenderProfileBillingRequest, nil] Who pays for what a sender profile sends.
|
|
96
|
+
#
|
|
97
|
+
# @param channels [Sentdm::Models::SenderProfileChannels, nil] The channels the profile sends on. Each is independently the profile's own or ab
|
|
98
|
+
#
|
|
99
|
+
# @param compliance [Sentdm::Models::Channels::MarketCompliance] The compliance values a market registers with. `brand` and `campaign` apply to U
|
|
100
|
+
#
|
|
101
|
+
# @param description [String, nil]
|
|
102
|
+
#
|
|
103
|
+
# @param name [String] Display name for the profile. Required.
|
|
104
|
+
#
|
|
105
|
+
# @param notifications [String, nil] Who is notified about this profile's events: ORGANIZATION, SENDER_PROFILE, or
|
|
106
|
+
#
|
|
107
|
+
# @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
|
|
108
|
+
#
|
|
109
|
+
# @param short_name [String] Short name, which is also the SMS sender id — required. 3–11 characters of lette
|
|
110
|
+
#
|
|
111
|
+
# @param idempotency_key [String]
|
|
112
|
+
#
|
|
113
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
# @see Sentdm::Resources::SenderProfiles#delete
|
|
6
|
+
class SenderProfileDeleteParams < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Sentdm::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute id
|
|
11
|
+
#
|
|
12
|
+
# @return [String]
|
|
13
|
+
required :id, String
|
|
14
|
+
|
|
15
|
+
# @!method initialize(id:, request_options: {})
|
|
16
|
+
# @param id [String]
|
|
17
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
# @see Sentdm::Resources::SenderProfiles#list
|
|
6
|
+
class SenderProfileListParams < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Sentdm::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute page
|
|
11
|
+
# Page number, 1-indexed.
|
|
12
|
+
#
|
|
13
|
+
# @return [Integer, nil]
|
|
14
|
+
optional :page, Integer
|
|
15
|
+
|
|
16
|
+
# @!attribute page_size
|
|
17
|
+
# Profiles per page. Between 1 and 100.
|
|
18
|
+
#
|
|
19
|
+
# @return [Integer, nil]
|
|
20
|
+
optional :page_size, Integer
|
|
21
|
+
|
|
22
|
+
# @!method initialize(page: nil, page_size: nil, request_options: {})
|
|
23
|
+
# @param page [Integer] Page number, 1-indexed.
|
|
24
|
+
#
|
|
25
|
+
# @param page_size [Integer] Profiles per page. Between 1 and 100.
|
|
26
|
+
#
|
|
27
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class SenderProfileRcs < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute description
|
|
7
|
+
#
|
|
8
|
+
# @return [String]
|
|
9
|
+
required :description, String
|
|
10
|
+
|
|
11
|
+
# @!attribute agent_use_case
|
|
12
|
+
#
|
|
13
|
+
# @return [String, nil]
|
|
14
|
+
optional :agent_use_case, String, nil?: true
|
|
15
|
+
|
|
16
|
+
# @!attribute banner_url
|
|
17
|
+
#
|
|
18
|
+
# @return [String, nil]
|
|
19
|
+
optional :banner_url, String, nil?: true
|
|
20
|
+
|
|
21
|
+
# @!attribute billing_category
|
|
22
|
+
#
|
|
23
|
+
# @return [String, nil]
|
|
24
|
+
optional :billing_category, String, nil?: true
|
|
25
|
+
|
|
26
|
+
# @!attribute brand_color
|
|
27
|
+
#
|
|
28
|
+
# @return [String, nil]
|
|
29
|
+
optional :brand_color, String, nil?: true
|
|
30
|
+
|
|
31
|
+
# @!attribute brand_email
|
|
32
|
+
#
|
|
33
|
+
# @return [String, nil]
|
|
34
|
+
optional :brand_email, String, nil?: true
|
|
35
|
+
|
|
36
|
+
# @!attribute brand_name
|
|
37
|
+
#
|
|
38
|
+
# @return [String, nil]
|
|
39
|
+
optional :brand_name, String, nil?: true
|
|
40
|
+
|
|
41
|
+
# @!attribute brand_phone_number
|
|
42
|
+
#
|
|
43
|
+
# @return [String, nil]
|
|
44
|
+
optional :brand_phone_number, String, nil?: true
|
|
45
|
+
|
|
46
|
+
# @!attribute brief_company_description
|
|
47
|
+
#
|
|
48
|
+
# @return [String, nil]
|
|
49
|
+
optional :brief_company_description, String, nil?: true
|
|
50
|
+
|
|
51
|
+
# @!attribute company_ein
|
|
52
|
+
#
|
|
53
|
+
# @return [String, nil]
|
|
54
|
+
optional :company_ein, String, nil?: true
|
|
55
|
+
|
|
56
|
+
# @!attribute contact_name_and_title
|
|
57
|
+
#
|
|
58
|
+
# @return [String, nil]
|
|
59
|
+
optional :contact_name_and_title, String, nil?: true
|
|
60
|
+
|
|
61
|
+
# @!attribute customer_support_email
|
|
62
|
+
#
|
|
63
|
+
# @return [String, nil]
|
|
64
|
+
optional :customer_support_email, String, nil?: true
|
|
65
|
+
|
|
66
|
+
# @!attribute customer_support_phone_number
|
|
67
|
+
#
|
|
68
|
+
# @return [String, nil]
|
|
69
|
+
optional :customer_support_phone_number, String, nil?: true
|
|
70
|
+
|
|
71
|
+
# @!attribute display_name
|
|
72
|
+
#
|
|
73
|
+
# @return [String, nil]
|
|
74
|
+
optional :display_name, String, nil?: true
|
|
75
|
+
|
|
76
|
+
# @!attribute entity_type
|
|
77
|
+
#
|
|
78
|
+
# @return [String, nil]
|
|
79
|
+
optional :entity_type, String, nil?: true
|
|
80
|
+
|
|
81
|
+
# @!attribute help_message
|
|
82
|
+
#
|
|
83
|
+
# @return [String, nil]
|
|
84
|
+
optional :help_message, String, nil?: true
|
|
85
|
+
|
|
86
|
+
# @!attribute hosting_region
|
|
87
|
+
#
|
|
88
|
+
# @return [String, nil]
|
|
89
|
+
optional :hosting_region, String, nil?: true
|
|
90
|
+
|
|
91
|
+
# @!attribute logo_url
|
|
92
|
+
#
|
|
93
|
+
# @return [String, nil]
|
|
94
|
+
optional :logo_url, String, nil?: true
|
|
95
|
+
|
|
96
|
+
# @!attribute official_address
|
|
97
|
+
# The registered address of the company behind the agent.
|
|
98
|
+
#
|
|
99
|
+
# @return [Sentdm::Models::Channels::RcsAddress, nil]
|
|
100
|
+
optional :official_address, -> { Sentdm::Channels::RcsAddress }, nil?: true
|
|
101
|
+
|
|
102
|
+
# @!attribute opt_in_process_description
|
|
103
|
+
#
|
|
104
|
+
# @return [String, nil]
|
|
105
|
+
optional :opt_in_process_description, String, nil?: true
|
|
106
|
+
|
|
107
|
+
# @!attribute opt_in_screenshot_url
|
|
108
|
+
# Optional — uploaded separately and its URL may not be known at submission time.
|
|
109
|
+
#
|
|
110
|
+
# @return [String, nil]
|
|
111
|
+
optional :opt_in_screenshot_url, String, nil?: true
|
|
112
|
+
|
|
113
|
+
# @!attribute privacy_policy_url
|
|
114
|
+
#
|
|
115
|
+
# @return [String, nil]
|
|
116
|
+
optional :privacy_policy_url, String, nil?: true
|
|
117
|
+
|
|
118
|
+
# @!attribute sample_messages
|
|
119
|
+
#
|
|
120
|
+
# @return [Array<String>, nil]
|
|
121
|
+
optional :sample_messages, Sentdm::Internal::Type::ArrayOf[String], nil?: true
|
|
122
|
+
|
|
123
|
+
# @!attribute start_message
|
|
124
|
+
#
|
|
125
|
+
# @return [String, nil]
|
|
126
|
+
optional :start_message, String, nil?: true
|
|
127
|
+
|
|
128
|
+
# @!attribute stop_message
|
|
129
|
+
#
|
|
130
|
+
# @return [String, nil]
|
|
131
|
+
optional :stop_message, String, nil?: true
|
|
132
|
+
|
|
133
|
+
# @!attribute terms_and_conditions_url
|
|
134
|
+
#
|
|
135
|
+
# @return [String, nil]
|
|
136
|
+
optional :terms_and_conditions_url, String, nil?: true
|
|
137
|
+
|
|
138
|
+
# @!attribute website_url
|
|
139
|
+
#
|
|
140
|
+
# @return [String, nil]
|
|
141
|
+
optional :website_url, String, nil?: true
|
|
142
|
+
|
|
143
|
+
# @!method initialize(description:, agent_use_case: nil, banner_url: nil, billing_category: nil, brand_color: nil, brand_email: nil, brand_name: nil, brand_phone_number: nil, brief_company_description: nil, company_ein: nil, contact_name_and_title: nil, customer_support_email: nil, customer_support_phone_number: nil, display_name: nil, entity_type: nil, help_message: nil, hosting_region: nil, logo_url: nil, official_address: nil, opt_in_process_description: nil, opt_in_screenshot_url: nil, privacy_policy_url: nil, sample_messages: nil, start_message: nil, stop_message: nil, terms_and_conditions_url: nil, website_url: nil)
|
|
144
|
+
# Asks for an RCS agent of the profile's own, optionally with the full order form
|
|
145
|
+
# inline.
|
|
146
|
+
#
|
|
147
|
+
# Two modes, distinguished by whether any field is populated: "rcs": {} — intent
|
|
148
|
+
# only. Records that the profile wants its own agent; the order form is submitted
|
|
149
|
+
# separately through POST /v3/channels/rcs once the fields are ready. "rcs": {
|
|
150
|
+
# ...fields... } — full form. All required fields must be present; the agent is
|
|
151
|
+
# created alongside the profile in one call. Omitting opt_in_screenshot_url is
|
|
152
|
+
# allowed.
|
|
153
|
+
#
|
|
154
|
+
# @param description [String]
|
|
155
|
+
#
|
|
156
|
+
# @param agent_use_case [String, nil]
|
|
157
|
+
#
|
|
158
|
+
# @param banner_url [String, nil]
|
|
159
|
+
#
|
|
160
|
+
# @param billing_category [String, nil]
|
|
161
|
+
#
|
|
162
|
+
# @param brand_color [String, nil]
|
|
163
|
+
#
|
|
164
|
+
# @param brand_email [String, nil]
|
|
165
|
+
#
|
|
166
|
+
# @param brand_name [String, nil]
|
|
167
|
+
#
|
|
168
|
+
# @param brand_phone_number [String, nil]
|
|
169
|
+
#
|
|
170
|
+
# @param brief_company_description [String, nil]
|
|
171
|
+
#
|
|
172
|
+
# @param company_ein [String, nil]
|
|
173
|
+
#
|
|
174
|
+
# @param contact_name_and_title [String, nil]
|
|
175
|
+
#
|
|
176
|
+
# @param customer_support_email [String, nil]
|
|
177
|
+
#
|
|
178
|
+
# @param customer_support_phone_number [String, nil]
|
|
179
|
+
#
|
|
180
|
+
# @param display_name [String, nil]
|
|
181
|
+
#
|
|
182
|
+
# @param entity_type [String, nil]
|
|
183
|
+
#
|
|
184
|
+
# @param help_message [String, nil]
|
|
185
|
+
#
|
|
186
|
+
# @param hosting_region [String, nil]
|
|
187
|
+
#
|
|
188
|
+
# @param logo_url [String, nil]
|
|
189
|
+
#
|
|
190
|
+
# @param official_address [Sentdm::Models::Channels::RcsAddress, nil] The registered address of the company behind the agent.
|
|
191
|
+
#
|
|
192
|
+
# @param opt_in_process_description [String, nil]
|
|
193
|
+
#
|
|
194
|
+
# @param opt_in_screenshot_url [String, nil] Optional — uploaded separately and its URL may not be known at submission time.
|
|
195
|
+
#
|
|
196
|
+
# @param privacy_policy_url [String, nil]
|
|
197
|
+
#
|
|
198
|
+
# @param sample_messages [Array<String>, nil]
|
|
199
|
+
#
|
|
200
|
+
# @param start_message [String, nil]
|
|
201
|
+
#
|
|
202
|
+
# @param stop_message [String, nil]
|
|
203
|
+
#
|
|
204
|
+
# @param terms_and_conditions_url [String, nil]
|
|
205
|
+
#
|
|
206
|
+
# @param website_url [String, nil]
|
|
207
|
+
end
|
|
208
|
+
end
|
|
209
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
# @see Sentdm::Resources::SenderProfiles#retrieve
|
|
6
|
+
class SenderProfileRetrieveParams < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Sentdm::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute id
|
|
11
|
+
#
|
|
12
|
+
# @return [String]
|
|
13
|
+
required :id, String
|
|
14
|
+
|
|
15
|
+
# @!method initialize(id:, request_options: {})
|
|
16
|
+
# @param id [String]
|
|
17
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|