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,73 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class TemplateMmsBodyContent < Sentdm::Models::TemplateBodyContent
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Sentdm::TemplateMmsBodyContent, Sentdm::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Attachments carried by every send on this template, in order. A per-send
|
|
12
|
+
# media_urls on the request replaces this list rather than adding to it, so a
|
|
13
|
+
# template can hold a default creative and a caller can still send something
|
|
14
|
+
# recipient-specific.
|
|
15
|
+
sig { returns(T.nilable(T::Array[Sentdm::TemplateMediaItem])) }
|
|
16
|
+
attr_accessor :media
|
|
17
|
+
|
|
18
|
+
# MMS subject line. Optional — most handsets render it above the body, some ignore
|
|
19
|
+
# it entirely. Deliberately its own field rather than riding TemplateHeader: the
|
|
20
|
+
# header is authored once and shared across every channel, and carries Meta's
|
|
21
|
+
# 60-character cap plus its no-newline, no-emoji text rules, none of which
|
|
22
|
+
# describe an MMS subject.
|
|
23
|
+
sig { returns(T.nilable(String)) }
|
|
24
|
+
attr_accessor :subject
|
|
25
|
+
|
|
26
|
+
# MMS-specific body content.
|
|
27
|
+
#
|
|
28
|
+
# Why MMS needs its own type when the other channels share one: it is the only
|
|
29
|
+
# channel with a subject line and the only one with attachments. Every other
|
|
30
|
+
# channel's body is text and variables, which is exactly what TemplateBodyContent
|
|
31
|
+
# already is. Putting Subject and Media on the shared type instead would give sms,
|
|
32
|
+
# whatsapp and rcs two members none of them can ever use.
|
|
33
|
+
#
|
|
34
|
+
# Derives from TemplateBodyContent so that every existing consumer of a body slot
|
|
35
|
+
# — MessageUtils.ConvertVariableToReadable,
|
|
36
|
+
# TemplateDefinition.GetRequiredVariables,
|
|
37
|
+
# TemplateDefinitionValidator.ApplyBodyContentRules — reads it with no change. The
|
|
38
|
+
# two extra members are what the MMS strategy and the provider request need on
|
|
39
|
+
# top.
|
|
40
|
+
sig do
|
|
41
|
+
params(
|
|
42
|
+
media: T.nilable(T::Array[Sentdm::TemplateMediaItem::OrHash]),
|
|
43
|
+
subject: T.nilable(String)
|
|
44
|
+
).returns(T.attached_class)
|
|
45
|
+
end
|
|
46
|
+
def self.new(
|
|
47
|
+
# Attachments carried by every send on this template, in order. A per-send
|
|
48
|
+
# media_urls on the request replaces this list rather than adding to it, so a
|
|
49
|
+
# template can hold a default creative and a caller can still send something
|
|
50
|
+
# recipient-specific.
|
|
51
|
+
media: nil,
|
|
52
|
+
# MMS subject line. Optional — most handsets render it above the body, some ignore
|
|
53
|
+
# it entirely. Deliberately its own field rather than riding TemplateHeader: the
|
|
54
|
+
# header is authored once and shared across every channel, and carries Meta's
|
|
55
|
+
# 60-character cap plus its no-newline, no-emoji text rules, none of which
|
|
56
|
+
# describe an MMS subject.
|
|
57
|
+
subject: nil
|
|
58
|
+
)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
sig do
|
|
62
|
+
override.returns(
|
|
63
|
+
{
|
|
64
|
+
media: T.nilable(T::Array[Sentdm::TemplateMediaItem]),
|
|
65
|
+
subject: T.nilable(String)
|
|
66
|
+
}
|
|
67
|
+
)
|
|
68
|
+
end
|
|
69
|
+
def to_hash
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class TemplateRef < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias { T.any(Sentdm::TemplateRef, Sentdm::Internal::AnyHash) }
|
|
8
|
+
|
|
9
|
+
# Template ID (mutually exclusive with name)
|
|
10
|
+
sig { returns(T.nilable(String)) }
|
|
11
|
+
attr_accessor :id
|
|
12
|
+
|
|
13
|
+
# Template name (mutually exclusive with id)
|
|
14
|
+
sig { returns(T.nilable(String)) }
|
|
15
|
+
attr_accessor :name
|
|
16
|
+
|
|
17
|
+
# Template variable parameters for personalization, keyed by variable name.
|
|
18
|
+
#
|
|
19
|
+
# Every variable the template declares is required; GET /v3/templates/{id} lists
|
|
20
|
+
# them. Supplying a key the template does not declare is ignored.
|
|
21
|
+
#
|
|
22
|
+
# Media headers. A template whose header is an image (designed in WhatsApp Manager
|
|
23
|
+
# and imported into Sent) declares a reserved header_image key. Its value is a
|
|
24
|
+
# publicly reachable https URL that Meta fetches at send time — Sent does not host
|
|
25
|
+
# the asset, and the sample approved with the template is not reused. The key is
|
|
26
|
+
# derived from the header's media type, so header_video and header_document follow
|
|
27
|
+
# the same shape when those formats ship.
|
|
28
|
+
#
|
|
29
|
+
# "parameters": { "header_image": "https://cdn.example.com/banner.jpg", "name":
|
|
30
|
+
# "John Doe" }
|
|
31
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
32
|
+
attr_accessor :parameters
|
|
33
|
+
|
|
34
|
+
# SDK-style template reference: resolve by ID or by name, with optional
|
|
35
|
+
# parameters.
|
|
36
|
+
sig do
|
|
37
|
+
params(
|
|
38
|
+
id: T.nilable(String),
|
|
39
|
+
name: T.nilable(String),
|
|
40
|
+
parameters: T.nilable(T::Hash[Symbol, String])
|
|
41
|
+
).returns(T.attached_class)
|
|
42
|
+
end
|
|
43
|
+
def self.new(
|
|
44
|
+
# Template ID (mutually exclusive with name)
|
|
45
|
+
id: nil,
|
|
46
|
+
# Template name (mutually exclusive with id)
|
|
47
|
+
name: nil,
|
|
48
|
+
# Template variable parameters for personalization, keyed by variable name.
|
|
49
|
+
#
|
|
50
|
+
# Every variable the template declares is required; GET /v3/templates/{id} lists
|
|
51
|
+
# them. Supplying a key the template does not declare is ignored.
|
|
52
|
+
#
|
|
53
|
+
# Media headers. A template whose header is an image (designed in WhatsApp Manager
|
|
54
|
+
# and imported into Sent) declares a reserved header_image key. Its value is a
|
|
55
|
+
# publicly reachable https URL that Meta fetches at send time — Sent does not host
|
|
56
|
+
# the asset, and the sample approved with the template is not reused. The key is
|
|
57
|
+
# derived from the header's media type, so header_video and header_document follow
|
|
58
|
+
# the same shape when those formats ship.
|
|
59
|
+
#
|
|
60
|
+
# "parameters": { "header_image": "https://cdn.example.com/banner.jpg", "name":
|
|
61
|
+
# "John Doe" }
|
|
62
|
+
parameters: nil
|
|
63
|
+
)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
sig do
|
|
67
|
+
override.returns(
|
|
68
|
+
{
|
|
69
|
+
id: T.nilable(String),
|
|
70
|
+
name: T.nilable(String),
|
|
71
|
+
parameters: T.nilable(T::Hash[Symbol, String])
|
|
72
|
+
}
|
|
73
|
+
)
|
|
74
|
+
end
|
|
75
|
+
def to_hash
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
@@ -14,10 +14,10 @@ module Sentdm
|
|
|
14
14
|
sig { returns(String) }
|
|
15
15
|
attr_accessor :name
|
|
16
16
|
|
|
17
|
-
sig { returns(Sentdm::
|
|
17
|
+
sig { returns(Sentdm::TemplateVariableProps) }
|
|
18
18
|
attr_reader :props
|
|
19
19
|
|
|
20
|
-
sig { params(props: Sentdm::
|
|
20
|
+
sig { params(props: Sentdm::TemplateVariableProps::OrHash).void }
|
|
21
21
|
attr_writer :props
|
|
22
22
|
|
|
23
23
|
# One of variable, link or media. Decides which Props fields are required.
|
|
@@ -40,7 +40,7 @@ module Sentdm
|
|
|
40
40
|
sig do
|
|
41
41
|
params(
|
|
42
42
|
name: String,
|
|
43
|
-
props: Sentdm::
|
|
43
|
+
props: Sentdm::TemplateVariableProps::OrHash,
|
|
44
44
|
type: String,
|
|
45
45
|
id: Integer
|
|
46
46
|
).returns(T.attached_class)
|
|
@@ -68,7 +68,7 @@ module Sentdm
|
|
|
68
68
|
override.returns(
|
|
69
69
|
{
|
|
70
70
|
name: String,
|
|
71
|
-
props: Sentdm::
|
|
71
|
+
props: Sentdm::TemplateVariableProps,
|
|
72
72
|
type: String,
|
|
73
73
|
id: Integer
|
|
74
74
|
}
|
|
@@ -76,82 +76,6 @@ module Sentdm
|
|
|
76
76
|
end
|
|
77
77
|
def to_hash
|
|
78
78
|
end
|
|
79
|
-
|
|
80
|
-
class Props < Sentdm::Internal::Type::BaseModel
|
|
81
|
-
OrHash =
|
|
82
|
-
T.type_alias do
|
|
83
|
-
T.any(Sentdm::TemplateVariable::Props, Sentdm::Internal::AnyHash)
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
sig { returns(String) }
|
|
87
|
-
attr_accessor :media_type
|
|
88
|
-
|
|
89
|
-
# Example value substituted into the template when previewing it and when
|
|
90
|
-
# submitting it to Meta for review. Free text by nature, so the converter accepts
|
|
91
|
-
# a JSON number or boolean here and normalizes it — see
|
|
92
|
-
# JsonScalarToStringConverter for why — and guarantees it is always serialized
|
|
93
|
-
# back out as a JSON string.
|
|
94
|
-
sig { returns(String) }
|
|
95
|
-
attr_accessor :sample
|
|
96
|
-
|
|
97
|
-
sig { returns(String) }
|
|
98
|
-
attr_accessor :url
|
|
99
|
-
|
|
100
|
-
sig { returns(String) }
|
|
101
|
-
attr_accessor :variable_type
|
|
102
|
-
|
|
103
|
-
sig { returns(T.nilable(String)) }
|
|
104
|
-
attr_accessor :alt
|
|
105
|
-
|
|
106
|
-
sig { returns(T.nilable(String)) }
|
|
107
|
-
attr_accessor :regex
|
|
108
|
-
|
|
109
|
-
sig { returns(T.nilable(String)) }
|
|
110
|
-
attr_accessor :short_url
|
|
111
|
-
|
|
112
|
-
sig do
|
|
113
|
-
params(
|
|
114
|
-
media_type: String,
|
|
115
|
-
sample: String,
|
|
116
|
-
url: String,
|
|
117
|
-
variable_type: String,
|
|
118
|
-
alt: T.nilable(String),
|
|
119
|
-
regex: T.nilable(String),
|
|
120
|
-
short_url: T.nilable(String)
|
|
121
|
-
).returns(T.attached_class)
|
|
122
|
-
end
|
|
123
|
-
def self.new(
|
|
124
|
-
media_type:,
|
|
125
|
-
# Example value substituted into the template when previewing it and when
|
|
126
|
-
# submitting it to Meta for review. Free text by nature, so the converter accepts
|
|
127
|
-
# a JSON number or boolean here and normalizes it — see
|
|
128
|
-
# JsonScalarToStringConverter for why — and guarantees it is always serialized
|
|
129
|
-
# back out as a JSON string.
|
|
130
|
-
sample:,
|
|
131
|
-
url:,
|
|
132
|
-
variable_type:,
|
|
133
|
-
alt: nil,
|
|
134
|
-
regex: nil,
|
|
135
|
-
short_url: nil
|
|
136
|
-
)
|
|
137
|
-
end
|
|
138
|
-
|
|
139
|
-
sig do
|
|
140
|
-
override.returns(
|
|
141
|
-
{
|
|
142
|
-
media_type: String,
|
|
143
|
-
sample: String,
|
|
144
|
-
url: String,
|
|
145
|
-
variable_type: String,
|
|
146
|
-
alt: T.nilable(String),
|
|
147
|
-
regex: T.nilable(String),
|
|
148
|
-
short_url: T.nilable(String)
|
|
149
|
-
}
|
|
150
|
-
)
|
|
151
|
-
end
|
|
152
|
-
def to_hash
|
|
153
|
-
end
|
|
154
|
-
end
|
|
155
79
|
end
|
|
156
80
|
end
|
|
157
81
|
end
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class TemplateVariableProps < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Sentdm::TemplateVariableProps, Sentdm::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
sig { returns(String) }
|
|
12
|
+
attr_accessor :media_type
|
|
13
|
+
|
|
14
|
+
# Example value substituted into the template when previewing it and when
|
|
15
|
+
# submitting it to Meta for review. Free text by nature, so the converter accepts
|
|
16
|
+
# a JSON number or boolean here and normalizes it — see
|
|
17
|
+
# JsonScalarToStringConverter for why — and guarantees it is always serialized
|
|
18
|
+
# back out as a JSON string.
|
|
19
|
+
sig { returns(String) }
|
|
20
|
+
attr_accessor :sample
|
|
21
|
+
|
|
22
|
+
sig { returns(String) }
|
|
23
|
+
attr_accessor :url
|
|
24
|
+
|
|
25
|
+
sig { returns(String) }
|
|
26
|
+
attr_accessor :variable_type
|
|
27
|
+
|
|
28
|
+
sig { returns(T.nilable(String)) }
|
|
29
|
+
attr_accessor :alt
|
|
30
|
+
|
|
31
|
+
sig { returns(T.nilable(String)) }
|
|
32
|
+
attr_accessor :regex
|
|
33
|
+
|
|
34
|
+
sig { returns(T.nilable(String)) }
|
|
35
|
+
attr_accessor :short_url
|
|
36
|
+
|
|
37
|
+
sig do
|
|
38
|
+
params(
|
|
39
|
+
media_type: String,
|
|
40
|
+
sample: String,
|
|
41
|
+
url: String,
|
|
42
|
+
variable_type: String,
|
|
43
|
+
alt: T.nilable(String),
|
|
44
|
+
regex: T.nilable(String),
|
|
45
|
+
short_url: T.nilable(String)
|
|
46
|
+
).returns(T.attached_class)
|
|
47
|
+
end
|
|
48
|
+
def self.new(
|
|
49
|
+
media_type:,
|
|
50
|
+
# Example value substituted into the template when previewing it and when
|
|
51
|
+
# submitting it to Meta for review. Free text by nature, so the converter accepts
|
|
52
|
+
# a JSON number or boolean here and normalizes it — see
|
|
53
|
+
# JsonScalarToStringConverter for why — and guarantees it is always serialized
|
|
54
|
+
# back out as a JSON string.
|
|
55
|
+
sample:,
|
|
56
|
+
url:,
|
|
57
|
+
variable_type:,
|
|
58
|
+
alt: nil,
|
|
59
|
+
regex: nil,
|
|
60
|
+
short_url: nil
|
|
61
|
+
)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
sig do
|
|
65
|
+
override.returns(
|
|
66
|
+
{
|
|
67
|
+
media_type: String,
|
|
68
|
+
sample: String,
|
|
69
|
+
url: String,
|
|
70
|
+
variable_type: String,
|
|
71
|
+
alt: T.nilable(String),
|
|
72
|
+
regex: T.nilable(String),
|
|
73
|
+
short_url: T.nilable(String)
|
|
74
|
+
}
|
|
75
|
+
)
|
|
76
|
+
end
|
|
77
|
+
def to_hash
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class TemplatesList < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias { T.any(Sentdm::TemplatesList, Sentdm::Internal::AnyHash) }
|
|
8
|
+
|
|
9
|
+
# Pagination metadata for list responses
|
|
10
|
+
sig { returns(T.nilable(Sentdm::PaginationMeta)) }
|
|
11
|
+
attr_reader :pagination
|
|
12
|
+
|
|
13
|
+
sig { params(pagination: Sentdm::PaginationMeta::OrHash).void }
|
|
14
|
+
attr_writer :pagination
|
|
15
|
+
|
|
16
|
+
# The templates on this page.
|
|
17
|
+
sig { returns(T.nilable(T::Array[Sentdm::Template])) }
|
|
18
|
+
attr_reader :templates
|
|
19
|
+
|
|
20
|
+
sig { params(templates: T::Array[Sentdm::Template::OrHash]).void }
|
|
21
|
+
attr_writer :templates
|
|
22
|
+
|
|
23
|
+
# A paginated list of templates.
|
|
24
|
+
sig do
|
|
25
|
+
params(
|
|
26
|
+
pagination: Sentdm::PaginationMeta::OrHash,
|
|
27
|
+
templates: T::Array[Sentdm::Template::OrHash]
|
|
28
|
+
).returns(T.attached_class)
|
|
29
|
+
end
|
|
30
|
+
def self.new(
|
|
31
|
+
# Pagination metadata for list responses
|
|
32
|
+
pagination: nil,
|
|
33
|
+
# The templates on this page.
|
|
34
|
+
templates: nil
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
sig do
|
|
39
|
+
override.returns(
|
|
40
|
+
{
|
|
41
|
+
pagination: Sentdm::PaginationMeta,
|
|
42
|
+
templates: T::Array[Sentdm::Template]
|
|
43
|
+
}
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
def to_hash
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class UsersList < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias { T.any(Sentdm::UsersList, Sentdm::Internal::AnyHash) }
|
|
8
|
+
|
|
9
|
+
# Pagination metadata for list responses
|
|
10
|
+
sig { returns(T.nilable(Sentdm::PaginationMeta)) }
|
|
11
|
+
attr_reader :pagination
|
|
12
|
+
|
|
13
|
+
sig { params(pagination: Sentdm::PaginationMeta::OrHash).void }
|
|
14
|
+
attr_writer :pagination
|
|
15
|
+
|
|
16
|
+
# The users on this page.
|
|
17
|
+
sig { returns(T.nilable(T::Array[Sentdm::UserResponse])) }
|
|
18
|
+
attr_reader :users
|
|
19
|
+
|
|
20
|
+
sig { params(users: T::Array[Sentdm::UserResponse::OrHash]).void }
|
|
21
|
+
attr_writer :users
|
|
22
|
+
|
|
23
|
+
# The users in the organization.
|
|
24
|
+
sig do
|
|
25
|
+
params(
|
|
26
|
+
pagination: Sentdm::PaginationMeta::OrHash,
|
|
27
|
+
users: T::Array[Sentdm::UserResponse::OrHash]
|
|
28
|
+
).returns(T.attached_class)
|
|
29
|
+
end
|
|
30
|
+
def self.new(
|
|
31
|
+
# Pagination metadata for list responses
|
|
32
|
+
pagination: nil,
|
|
33
|
+
# The users on this page.
|
|
34
|
+
users: nil
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
sig do
|
|
39
|
+
override.returns(
|
|
40
|
+
{
|
|
41
|
+
pagination: Sentdm::PaginationMeta,
|
|
42
|
+
users: T::Array[Sentdm::UserResponse]
|
|
43
|
+
}
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
def to_hash
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -54,9 +54,10 @@ module Sentdm
|
|
|
54
54
|
attr_accessor :ended_at
|
|
55
55
|
|
|
56
56
|
# Why the call did not complete: callback_timeout, invalid_answer,
|
|
57
|
-
# insufficient_balance,
|
|
58
|
-
# no_answer, or for an agent call agent_busy or
|
|
59
|
-
# call is live, when it completed, and when it
|
|
57
|
+
# insufficient_balance, payment_method_missing, destination_blocked,
|
|
58
|
+
# callback_not_configured, rejected, no_answer, or for an agent call agent_busy or
|
|
59
|
+
# agent_unreachable. Null while the call is live, when it completed, and when it
|
|
60
|
+
# failed without a recorded reason
|
|
60
61
|
sig { returns(T.nilable(String)) }
|
|
61
62
|
attr_accessor :failure_reason
|
|
62
63
|
|
|
@@ -71,7 +72,7 @@ module Sentdm
|
|
|
71
72
|
# call your answer connected to a phone number ran the caller's leg to your number
|
|
72
73
|
# and the leg to the connected number at once, and both are billed. Null until the
|
|
73
74
|
# call has been priced
|
|
74
|
-
sig { returns(T.nilable(T::Array[Sentdm::Voice::
|
|
75
|
+
sig { returns(T.nilable(T::Array[Sentdm::Voice::CallLeg])) }
|
|
75
76
|
attr_accessor :legs
|
|
76
77
|
|
|
77
78
|
# The calling mode: inapp for a call between people in your app and phone numbers,
|
|
@@ -141,7 +142,7 @@ module Sentdm
|
|
|
141
142
|
ended_at: T.nilable(Time),
|
|
142
143
|
failure_reason: T.nilable(String),
|
|
143
144
|
from: Sentdm::Voice::CallParty::OrHash,
|
|
144
|
-
legs: T.nilable(T::Array[Sentdm::Voice::
|
|
145
|
+
legs: T.nilable(T::Array[Sentdm::Voice::CallLeg::OrHash]),
|
|
145
146
|
mode: String,
|
|
146
147
|
number: String,
|
|
147
148
|
price: T.nilable(Float),
|
|
@@ -179,9 +180,10 @@ module Sentdm
|
|
|
179
180
|
# When the call ended (UTC). Null while the call is live
|
|
180
181
|
ended_at: nil,
|
|
181
182
|
# Why the call did not complete: callback_timeout, invalid_answer,
|
|
182
|
-
# insufficient_balance,
|
|
183
|
-
# no_answer, or for an agent call agent_busy or
|
|
184
|
-
# call is live, when it completed, and when it
|
|
183
|
+
# insufficient_balance, payment_method_missing, destination_blocked,
|
|
184
|
+
# callback_not_configured, rejected, no_answer, or for an agent call agent_busy or
|
|
185
|
+
# agent_unreachable. Null while the call is live, when it completed, and when it
|
|
186
|
+
# failed without a recorded reason
|
|
185
187
|
failure_reason: nil,
|
|
186
188
|
# One end of a call
|
|
187
189
|
from: nil,
|
|
@@ -226,7 +228,7 @@ module Sentdm
|
|
|
226
228
|
ended_at: T.nilable(Time),
|
|
227
229
|
failure_reason: T.nilable(String),
|
|
228
230
|
from: Sentdm::Voice::CallParty,
|
|
229
|
-
legs: T.nilable(T::Array[Sentdm::Voice::
|
|
231
|
+
legs: T.nilable(T::Array[Sentdm::Voice::CallLeg]),
|
|
230
232
|
mode: String,
|
|
231
233
|
number: String,
|
|
232
234
|
price: T.nilable(Float),
|
|
@@ -240,89 +242,6 @@ module Sentdm
|
|
|
240
242
|
end
|
|
241
243
|
def to_hash
|
|
242
244
|
end
|
|
243
|
-
|
|
244
|
-
class Leg < Sentdm::Internal::Type::BaseModel
|
|
245
|
-
OrHash =
|
|
246
|
-
T.type_alias do
|
|
247
|
-
T.any(Sentdm::Voice::Call::Leg, Sentdm::Internal::AnyHash)
|
|
248
|
-
end
|
|
249
|
-
|
|
250
|
-
# The whole minutes the leg was billed for
|
|
251
|
-
sig { returns(T.nilable(Integer)) }
|
|
252
|
-
attr_reader :billed_minutes
|
|
253
|
-
|
|
254
|
-
sig { params(billed_minutes: Integer).void }
|
|
255
|
-
attr_writer :billed_minutes
|
|
256
|
-
|
|
257
|
-
# What the leg cost, in the same unit as the call's price
|
|
258
|
-
sig { returns(T.nilable(Float)) }
|
|
259
|
-
attr_reader :cost
|
|
260
|
-
|
|
261
|
-
sig { params(cost: Float).void }
|
|
262
|
-
attr_writer :cost
|
|
263
|
-
|
|
264
|
-
# The currency of the cost: USD
|
|
265
|
-
sig { returns(T.nilable(String)) }
|
|
266
|
-
attr_reader :currency
|
|
267
|
-
|
|
268
|
-
sig { params(currency: String).void }
|
|
269
|
-
attr_writer :currency
|
|
270
|
-
|
|
271
|
-
# inbound for the caller's leg to your number, outbound for a leg placed on your
|
|
272
|
-
# behalf
|
|
273
|
-
sig { returns(T.nilable(String)) }
|
|
274
|
-
attr_reader :direction
|
|
275
|
-
|
|
276
|
-
sig { params(direction: String).void }
|
|
277
|
-
attr_writer :direction
|
|
278
|
-
|
|
279
|
-
# The phone number the leg reached, in E.164 format: your number for the inbound
|
|
280
|
-
# leg, the number dialed for an outbound one. Null for a leg to one of your app
|
|
281
|
-
# users or a room
|
|
282
|
-
sig { returns(T.nilable(String)) }
|
|
283
|
-
attr_accessor :number
|
|
284
|
-
|
|
285
|
-
# One leg of a call the price covers
|
|
286
|
-
sig do
|
|
287
|
-
params(
|
|
288
|
-
billed_minutes: Integer,
|
|
289
|
-
cost: Float,
|
|
290
|
-
currency: String,
|
|
291
|
-
direction: String,
|
|
292
|
-
number: T.nilable(String)
|
|
293
|
-
).returns(T.attached_class)
|
|
294
|
-
end
|
|
295
|
-
def self.new(
|
|
296
|
-
# The whole minutes the leg was billed for
|
|
297
|
-
billed_minutes: nil,
|
|
298
|
-
# What the leg cost, in the same unit as the call's price
|
|
299
|
-
cost: nil,
|
|
300
|
-
# The currency of the cost: USD
|
|
301
|
-
currency: nil,
|
|
302
|
-
# inbound for the caller's leg to your number, outbound for a leg placed on your
|
|
303
|
-
# behalf
|
|
304
|
-
direction: nil,
|
|
305
|
-
# The phone number the leg reached, in E.164 format: your number for the inbound
|
|
306
|
-
# leg, the number dialed for an outbound one. Null for a leg to one of your app
|
|
307
|
-
# users or a room
|
|
308
|
-
number: nil
|
|
309
|
-
)
|
|
310
|
-
end
|
|
311
|
-
|
|
312
|
-
sig do
|
|
313
|
-
override.returns(
|
|
314
|
-
{
|
|
315
|
-
billed_minutes: Integer,
|
|
316
|
-
cost: Float,
|
|
317
|
-
currency: String,
|
|
318
|
-
direction: String,
|
|
319
|
-
number: T.nilable(String)
|
|
320
|
-
}
|
|
321
|
-
)
|
|
322
|
-
end
|
|
323
|
-
def to_hash
|
|
324
|
-
end
|
|
325
|
-
end
|
|
326
245
|
end
|
|
327
246
|
end
|
|
328
247
|
end
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Voice
|
|
6
|
+
class CallLeg < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(Sentdm::Voice::CallLeg, Sentdm::Internal::AnyHash)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# The whole minutes the leg was billed for
|
|
13
|
+
sig { returns(T.nilable(Integer)) }
|
|
14
|
+
attr_reader :billed_minutes
|
|
15
|
+
|
|
16
|
+
sig { params(billed_minutes: Integer).void }
|
|
17
|
+
attr_writer :billed_minutes
|
|
18
|
+
|
|
19
|
+
# What the leg cost, in the same unit as the call's price
|
|
20
|
+
sig { returns(T.nilable(Float)) }
|
|
21
|
+
attr_reader :cost
|
|
22
|
+
|
|
23
|
+
sig { params(cost: Float).void }
|
|
24
|
+
attr_writer :cost
|
|
25
|
+
|
|
26
|
+
# The currency of the cost: USD
|
|
27
|
+
sig { returns(T.nilable(String)) }
|
|
28
|
+
attr_reader :currency
|
|
29
|
+
|
|
30
|
+
sig { params(currency: String).void }
|
|
31
|
+
attr_writer :currency
|
|
32
|
+
|
|
33
|
+
# inbound for the caller's leg to your number, outbound for a leg placed on your
|
|
34
|
+
# behalf
|
|
35
|
+
sig { returns(T.nilable(String)) }
|
|
36
|
+
attr_reader :direction
|
|
37
|
+
|
|
38
|
+
sig { params(direction: String).void }
|
|
39
|
+
attr_writer :direction
|
|
40
|
+
|
|
41
|
+
# The phone number the leg reached, in E.164 format: your number for the inbound
|
|
42
|
+
# leg, the number dialed for an outbound one. Null for a leg to one of your app
|
|
43
|
+
# users or a room
|
|
44
|
+
sig { returns(T.nilable(String)) }
|
|
45
|
+
attr_accessor :number
|
|
46
|
+
|
|
47
|
+
# One leg of a call the price covers
|
|
48
|
+
sig do
|
|
49
|
+
params(
|
|
50
|
+
billed_minutes: Integer,
|
|
51
|
+
cost: Float,
|
|
52
|
+
currency: String,
|
|
53
|
+
direction: String,
|
|
54
|
+
number: T.nilable(String)
|
|
55
|
+
).returns(T.attached_class)
|
|
56
|
+
end
|
|
57
|
+
def self.new(
|
|
58
|
+
# The whole minutes the leg was billed for
|
|
59
|
+
billed_minutes: nil,
|
|
60
|
+
# What the leg cost, in the same unit as the call's price
|
|
61
|
+
cost: nil,
|
|
62
|
+
# The currency of the cost: USD
|
|
63
|
+
currency: nil,
|
|
64
|
+
# inbound for the caller's leg to your number, outbound for a leg placed on your
|
|
65
|
+
# behalf
|
|
66
|
+
direction: nil,
|
|
67
|
+
# The phone number the leg reached, in E.164 format: your number for the inbound
|
|
68
|
+
# leg, the number dialed for an outbound one. Null for a leg to one of your app
|
|
69
|
+
# users or a room
|
|
70
|
+
number: nil
|
|
71
|
+
)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
sig do
|
|
75
|
+
override.returns(
|
|
76
|
+
{
|
|
77
|
+
billed_minutes: Integer,
|
|
78
|
+
cost: Float,
|
|
79
|
+
currency: String,
|
|
80
|
+
direction: String,
|
|
81
|
+
number: T.nilable(String)
|
|
82
|
+
}
|
|
83
|
+
)
|
|
84
|
+
end
|
|
85
|
+
def to_hash
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|