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,211 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class LinkEventPayload < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute record_id
|
|
7
|
+
# The link's public identifier — the eight-character code in the short URL, for
|
|
8
|
+
# example A78B2BU0. Unique across both kinds, and never reused, so it is the
|
|
9
|
+
# stable key to group one link's events by.
|
|
10
|
+
#
|
|
11
|
+
# @return [String]
|
|
12
|
+
required :record_id, String
|
|
13
|
+
|
|
14
|
+
# @!attribute access_country
|
|
15
|
+
# Where the request appeared to come from, as an ISO 3166-1 alpha-2 code. Named
|
|
16
|
+
# separately from the country on a channel event, which is a destination market
|
|
17
|
+
# the customer registered for — this one is a property of a single visitor and is
|
|
18
|
+
# absent when the edge could not resolve it.
|
|
19
|
+
#
|
|
20
|
+
# @return [String, nil]
|
|
21
|
+
optional :access_country, String, nil?: true
|
|
22
|
+
|
|
23
|
+
# @!attribute access_outcome
|
|
24
|
+
# How the request was served, when the edge recorded it. Free text describing the
|
|
25
|
+
# outcome — show it to a human rather than branching on it.
|
|
26
|
+
#
|
|
27
|
+
# @return [String, nil]
|
|
28
|
+
optional :access_outcome, String, nil?: true
|
|
29
|
+
|
|
30
|
+
# @!attribute browser
|
|
31
|
+
# The requesting browser family, for example chrome or safari, or unknown. Derived
|
|
32
|
+
# from the user agent.
|
|
33
|
+
#
|
|
34
|
+
# @return [String, nil]
|
|
35
|
+
optional :browser, String, nil?: true
|
|
36
|
+
|
|
37
|
+
# @!attribute bytes_served
|
|
38
|
+
# How many bytes were served, for a file access. A ranged request reports the
|
|
39
|
+
# bytes in that range, not the size of the file, so several accesses of one file
|
|
40
|
+
# can each report a part.
|
|
41
|
+
#
|
|
42
|
+
# @return [Integer, nil]
|
|
43
|
+
optional :bytes_served, Integer, nil?: true
|
|
44
|
+
|
|
45
|
+
# @!attribute channel
|
|
46
|
+
# The channel the message carrying this link went out on: sms, whatsapp, or rcs.
|
|
47
|
+
#
|
|
48
|
+
# @return [String, nil]
|
|
49
|
+
optional :channel, String, nil?: true
|
|
50
|
+
|
|
51
|
+
# @!attribute customer_id
|
|
52
|
+
# The organization the link belongs to. Always the parent account, never a sender
|
|
53
|
+
# profile — read SenderProfileId for that.
|
|
54
|
+
#
|
|
55
|
+
# This family publishes the owner as an explicit pair rather than the single
|
|
56
|
+
# account_id the other families use. The pair says which organization and which
|
|
57
|
+
# profile without the subscriber deriving either, which is the trade: one more key
|
|
58
|
+
# against not having to know that account_id silently becomes the profile when one
|
|
59
|
+
# exists.
|
|
60
|
+
#
|
|
61
|
+
# @return [String, nil]
|
|
62
|
+
optional :customer_id, String
|
|
63
|
+
|
|
64
|
+
# @!attribute device
|
|
65
|
+
# The requesting device class: mobile, tablet, desktop or unknown. Derived from
|
|
66
|
+
# the user agent.
|
|
67
|
+
#
|
|
68
|
+
# @return [String, nil]
|
|
69
|
+
optional :device, String, nil?: true
|
|
70
|
+
|
|
71
|
+
# @!attribute link_kind
|
|
72
|
+
# What the link points at: url for a destination the customer supplied, file for
|
|
73
|
+
# media Sent hosts. Always present, and implied by the event — link.clicked is
|
|
74
|
+
# always url and link.downloaded always file — but published as its own field so a
|
|
75
|
+
# subscriber can branch on the kind without parsing the event name, the same
|
|
76
|
+
# separation the channel family keeps between its event and its status.
|
|
77
|
+
#
|
|
78
|
+
# @return [String, nil]
|
|
79
|
+
optional :link_kind, String
|
|
80
|
+
|
|
81
|
+
# @!attribute message_id
|
|
82
|
+
# The message the link was published in.
|
|
83
|
+
#
|
|
84
|
+
# The event can arrive before the message is readable through GET /v3/messages: a
|
|
85
|
+
# provider may fetch a link within milliseconds of the send, and nothing here
|
|
86
|
+
# waits for the message row. Retry the read rather than treating an unknown id as
|
|
87
|
+
# an error.
|
|
88
|
+
#
|
|
89
|
+
# @return [String, nil]
|
|
90
|
+
optional :message_id, String, nil?: true
|
|
91
|
+
|
|
92
|
+
# @!attribute occurred_at
|
|
93
|
+
# When the access or lifecycle change actually happened, in UTC
|
|
94
|
+
# (yyyy-MM-ddTHH:mm:ssZ). The envelope's timestamp is when Sent emitted the event;
|
|
95
|
+
# this is when the thing occurred, and the two differ by the ingest delay.
|
|
96
|
+
#
|
|
97
|
+
# @return [String, nil]
|
|
98
|
+
optional :occurred_at, String
|
|
99
|
+
|
|
100
|
+
# @!attribute reference_key
|
|
101
|
+
# The caller-supplied label tying this link back to a position in the message, for
|
|
102
|
+
# example body:0 for the first link in the body. Present when the link was created
|
|
103
|
+
# with one.
|
|
104
|
+
#
|
|
105
|
+
# @return [String, nil]
|
|
106
|
+
optional :reference_key, String, nil?: true
|
|
107
|
+
|
|
108
|
+
# @!attribute referrer_host
|
|
109
|
+
# The host of the page that linked here, when the request supplied one. The host
|
|
110
|
+
# only — never a full referring URL.
|
|
111
|
+
#
|
|
112
|
+
# @return [String, nil]
|
|
113
|
+
optional :referrer_host, String, nil?: true
|
|
114
|
+
|
|
115
|
+
# @!attribute request_method
|
|
116
|
+
# The HTTP method of the request that was served, for an access event. Omitted on
|
|
117
|
+
# link.expired and link.revoked, which describe no request.
|
|
118
|
+
#
|
|
119
|
+
# @return [String, nil]
|
|
120
|
+
optional :request_method, String, nil?: true
|
|
121
|
+
|
|
122
|
+
# @!attribute sender_profile_id
|
|
123
|
+
# The sender profile that owns the link, or null when the organization owns it
|
|
124
|
+
# directly. Always on the wire so a handler reads one shape rather than branching
|
|
125
|
+
# on whether the key arrived.
|
|
126
|
+
#
|
|
127
|
+
# sender_profile_id, not profile_id: the API already publishes
|
|
128
|
+
# messaging_profile_id and sending_phone_number_profile_id for provider-side
|
|
129
|
+
# profiles, which are a different thing entirely. The unqualified name would read
|
|
130
|
+
# as one of those.
|
|
131
|
+
#
|
|
132
|
+
# @return [String, nil]
|
|
133
|
+
optional :sender_profile_id, String, nil?: true
|
|
134
|
+
|
|
135
|
+
# @!attribute status_code
|
|
136
|
+
# The HTTP status Sent answered the request with: 302 for a link, 200 or 206 for a
|
|
137
|
+
# file. Omitted on lifecycle events.
|
|
138
|
+
#
|
|
139
|
+
# @return [Integer, nil]
|
|
140
|
+
optional :status_code, Integer, nil?: true
|
|
141
|
+
|
|
142
|
+
# @!attribute traffic_class
|
|
143
|
+
# A coarse guess at what made the request: likely_human, provider (a messaging
|
|
144
|
+
# platform prefetching the link), bot, or unknown. Derived from the user agent, so
|
|
145
|
+
# it is a hint for filtering noise rather than a fact to bill or report on.
|
|
146
|
+
#
|
|
147
|
+
# @return [String, nil]
|
|
148
|
+
optional :traffic_class, String, nil?: true
|
|
149
|
+
|
|
150
|
+
# @!method initialize(record_id:, access_country: nil, access_outcome: nil, browser: nil, bytes_served: nil, channel: nil, customer_id: nil, device: nil, link_kind: nil, message_id: nil, occurred_at: nil, reference_key: nil, referrer_host: nil, request_method: nil, sender_profile_id: nil, status_code: nil, traffic_class: nil)
|
|
151
|
+
# Some parameter documentations has been truncated, see
|
|
152
|
+
# {Sentdm::Models::LinkEventPayload} for more details.
|
|
153
|
+
#
|
|
154
|
+
# Body of a link event: something happened to a tracked link Sent published on the
|
|
155
|
+
# customer's behalf. A link points either at a URL the customer supplied or at a
|
|
156
|
+
# file Sent hosts for them; LinkKind says which. Delivered when an eligible
|
|
157
|
+
# request is served, or when a published link reaches the end of its life.
|
|
158
|
+
#
|
|
159
|
+
# A click is a request, not a read receipt. link.clicked means the redirect was
|
|
160
|
+
# served; link.downloaded means bytes went out. Neither proves a person saw
|
|
161
|
+
# anything — messaging providers and link scanners fetch URLs on their own, which
|
|
162
|
+
# is what TrafficClass exists to tell apart. Filter on it before reporting a
|
|
163
|
+
# click-through rate; treat likely_human as a hint, never as delivery
|
|
164
|
+
# confirmation.
|
|
165
|
+
#
|
|
166
|
+
# RecordId identifies the link; the X-Webhook-Event-ID header identifies the
|
|
167
|
+
# delivery. One link is hit many times, so those are the two keys a subscriber
|
|
168
|
+
# needs: group by the first, deduplicate on the second — exactly as on every other
|
|
169
|
+
# family. The payload carries no event identifier of its own, for the same reason
|
|
170
|
+
# none of the others do.
|
|
171
|
+
#
|
|
172
|
+
# Nothing here identifies the visitor. No IP address and no visitor token crosses
|
|
173
|
+
# this boundary. Country, Device and Browser are coarse buckets derived at the
|
|
174
|
+
# edge and are absent whenever the request did not supply enough to derive them.
|
|
175
|
+
#
|
|
176
|
+
# @param record_id [String] The link's public identifier — the eight-character code in the short URL, for ex
|
|
177
|
+
#
|
|
178
|
+
# @param access_country [String, nil] Where the request appeared to come from, as an ISO 3166-1 alpha-2 code. Named se
|
|
179
|
+
#
|
|
180
|
+
# @param access_outcome [String, nil] How the request was served, when the edge recorded it. Free text describing the
|
|
181
|
+
#
|
|
182
|
+
# @param browser [String, nil] The requesting browser family, for example chrome or safari, or
|
|
183
|
+
#
|
|
184
|
+
# @param bytes_served [Integer, nil] How many bytes were served, for a file access. A ranged request reports the byte
|
|
185
|
+
#
|
|
186
|
+
# @param channel [String, nil] The channel the message carrying this link went out on: sms, whatsapp, or
|
|
187
|
+
#
|
|
188
|
+
# @param customer_id [String] The organization the link belongs to. Always the parent account, never a sender
|
|
189
|
+
#
|
|
190
|
+
# @param device [String, nil] The requesting device class: mobile, tablet, desktop or
|
|
191
|
+
#
|
|
192
|
+
# @param link_kind [String] What the link points at: url for a destination the customer supplied, file for
|
|
193
|
+
#
|
|
194
|
+
# @param message_id [String, nil] The message the link was published in.
|
|
195
|
+
#
|
|
196
|
+
# @param occurred_at [String] When the access or lifecycle change actually happened, in UTC
|
|
197
|
+
#
|
|
198
|
+
# @param reference_key [String, nil] The caller-supplied label tying this link back to a position in the message, for
|
|
199
|
+
#
|
|
200
|
+
# @param referrer_host [String, nil] The host of the page that linked here, when the request supplied one. The host o
|
|
201
|
+
#
|
|
202
|
+
# @param request_method [String, nil] The HTTP method of the request that was served, for an access event. Omitted on
|
|
203
|
+
#
|
|
204
|
+
# @param sender_profile_id [String, nil] The sender profile that owns the link, or null when the organization owns it dir
|
|
205
|
+
#
|
|
206
|
+
# @param status_code [Integer, nil] The HTTP status Sent answered the request with: 302 for a link, 200 or
|
|
207
|
+
#
|
|
208
|
+
# @param traffic_class [String, nil] A coarse guess at what made the request: likely_human, provider (a messaging
|
|
209
|
+
end
|
|
210
|
+
end
|
|
211
|
+
end
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class Message < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute id
|
|
7
|
+
#
|
|
8
|
+
# @return [String, nil]
|
|
9
|
+
optional :id, String
|
|
10
|
+
|
|
11
|
+
# @!attribute active_contact_price
|
|
12
|
+
#
|
|
13
|
+
# @return [Float, nil]
|
|
14
|
+
optional :active_contact_price, Float, nil?: true
|
|
15
|
+
|
|
16
|
+
# @!attribute channel
|
|
17
|
+
#
|
|
18
|
+
# @return [String, nil]
|
|
19
|
+
optional :channel, String
|
|
20
|
+
|
|
21
|
+
# @!attribute contact_id
|
|
22
|
+
#
|
|
23
|
+
# @return [String, nil]
|
|
24
|
+
optional :contact_id, String
|
|
25
|
+
|
|
26
|
+
# @!attribute created_at
|
|
27
|
+
#
|
|
28
|
+
# @return [Time, nil]
|
|
29
|
+
optional :created_at, Time
|
|
30
|
+
|
|
31
|
+
# @!attribute customer_id
|
|
32
|
+
#
|
|
33
|
+
# @return [String, nil]
|
|
34
|
+
optional :customer_id, String
|
|
35
|
+
|
|
36
|
+
# @!attribute direction
|
|
37
|
+
#
|
|
38
|
+
# @return [String, nil]
|
|
39
|
+
optional :direction, String
|
|
40
|
+
|
|
41
|
+
# @!attribute events
|
|
42
|
+
#
|
|
43
|
+
# @return [Array<Sentdm::Models::MessageStatusEvent>, nil]
|
|
44
|
+
optional :events, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::MessageStatusEvent] }, nil?: true
|
|
45
|
+
|
|
46
|
+
# @!attribute message_body
|
|
47
|
+
# Structured message body format for database storage. Preserves channel-specific
|
|
48
|
+
# components (header, header media, body, footer, buttons, MMS subject and media).
|
|
49
|
+
#
|
|
50
|
+
# Persisted as the messageBody jsonb column on Messages. Every write path goes
|
|
51
|
+
# through MessageUtils.MessageBodyJsonOptions, which writes nulls, so the envelope
|
|
52
|
+
# shape is stable regardless of channel or status. Anything that rebuilds this
|
|
53
|
+
# object field by field — the four IMessageBodyStrategy implementations and
|
|
54
|
+
# MessageUtils.BuildSegmentBody — has to carry every member, or that member is
|
|
55
|
+
# silently dropped on whichever path forgot it.
|
|
56
|
+
#
|
|
57
|
+
# @return [Sentdm::Models::MessageBody, nil]
|
|
58
|
+
optional :message_body, -> { Sentdm::MessageBody }, nil?: true
|
|
59
|
+
|
|
60
|
+
# @!attribute phone
|
|
61
|
+
#
|
|
62
|
+
# @return [String, nil]
|
|
63
|
+
optional :phone, String
|
|
64
|
+
|
|
65
|
+
# @!attribute phone_international
|
|
66
|
+
#
|
|
67
|
+
# @return [String, nil]
|
|
68
|
+
optional :phone_international, String
|
|
69
|
+
|
|
70
|
+
# @!attribute price
|
|
71
|
+
#
|
|
72
|
+
# @return [Float, nil]
|
|
73
|
+
optional :price, Float, nil?: true
|
|
74
|
+
|
|
75
|
+
# @!attribute reason
|
|
76
|
+
# A human-readable sentence for reason_code, for example "Insufficient balance".
|
|
77
|
+
# Omitted whenever reason_code is.
|
|
78
|
+
#
|
|
79
|
+
# @return [String, nil]
|
|
80
|
+
optional :reason, String, nil?: true
|
|
81
|
+
|
|
82
|
+
# @!attribute reason_code
|
|
83
|
+
# Why the message is at its current status, as a stable platform code such as
|
|
84
|
+
# DELIVERY_007, BUSINESS_003 or DELIVERY_003. Present when the current status is
|
|
85
|
+
# FAILED, FILTERED or BLOCKED and the lifecycle was loaded; omitted otherwise.
|
|
86
|
+
# Switch on this rather than on reason: the code is stable, the wording may be
|
|
87
|
+
# improved. It is the platform's classification of the outcome, never a carrier or
|
|
88
|
+
# vendor code.
|
|
89
|
+
#
|
|
90
|
+
# @return [String, nil]
|
|
91
|
+
optional :reason_code, String, nil?: true
|
|
92
|
+
|
|
93
|
+
# @!attribute region_code
|
|
94
|
+
#
|
|
95
|
+
# @return [String, nil]
|
|
96
|
+
optional :region_code, String
|
|
97
|
+
|
|
98
|
+
# @!attribute status
|
|
99
|
+
#
|
|
100
|
+
# @return [String, nil]
|
|
101
|
+
optional :status, String
|
|
102
|
+
|
|
103
|
+
# @!attribute template_category
|
|
104
|
+
#
|
|
105
|
+
# @return [String, nil]
|
|
106
|
+
optional :template_category, String, nil?: true
|
|
107
|
+
|
|
108
|
+
# @!attribute template_id
|
|
109
|
+
#
|
|
110
|
+
# @return [String, nil]
|
|
111
|
+
optional :template_id, String, nil?: true
|
|
112
|
+
|
|
113
|
+
# @!attribute template_name
|
|
114
|
+
#
|
|
115
|
+
# @return [String, nil]
|
|
116
|
+
optional :template_name, String, nil?: true
|
|
117
|
+
|
|
118
|
+
# @!method initialize(id: nil, active_contact_price: nil, channel: nil, contact_id: nil, created_at: nil, customer_id: nil, direction: nil, events: nil, message_body: nil, phone: nil, phone_international: nil, price: nil, reason: nil, reason_code: nil, region_code: nil, status: nil, template_category: nil, template_id: nil, template_name: nil)
|
|
119
|
+
# Some parameter documentations has been truncated, see {Sentdm::Models::Message}
|
|
120
|
+
# for more details.
|
|
121
|
+
#
|
|
122
|
+
# Message response for v3 API — same shape as v2 with snake_case JSON conventions.
|
|
123
|
+
#
|
|
124
|
+
# The shape of a message that was sent immediately: it never has a scheduled_at
|
|
125
|
+
# key. A message that is or was held for a later instant is a
|
|
126
|
+
# ScheduledMessageResponse, and the endpoint decides which of the two to answer
|
|
127
|
+
# with. From always returns this type.
|
|
128
|
+
#
|
|
129
|
+
# @param id [String]
|
|
130
|
+
#
|
|
131
|
+
# @param active_contact_price [Float, nil]
|
|
132
|
+
#
|
|
133
|
+
# @param channel [String]
|
|
134
|
+
#
|
|
135
|
+
# @param contact_id [String]
|
|
136
|
+
#
|
|
137
|
+
# @param created_at [Time]
|
|
138
|
+
#
|
|
139
|
+
# @param customer_id [String]
|
|
140
|
+
#
|
|
141
|
+
# @param direction [String]
|
|
142
|
+
#
|
|
143
|
+
# @param events [Array<Sentdm::Models::MessageStatusEvent>, nil]
|
|
144
|
+
#
|
|
145
|
+
# @param message_body [Sentdm::Models::MessageBody, nil] Structured message body format for database storage.
|
|
146
|
+
#
|
|
147
|
+
# @param phone [String]
|
|
148
|
+
#
|
|
149
|
+
# @param phone_international [String]
|
|
150
|
+
#
|
|
151
|
+
# @param price [Float, nil]
|
|
152
|
+
#
|
|
153
|
+
# @param reason [String, nil] A human-readable sentence for reason_code, for example "Insufficient balance". O
|
|
154
|
+
#
|
|
155
|
+
# @param reason_code [String, nil] Why the message is at its current status, as a stable platform code such as
|
|
156
|
+
#
|
|
157
|
+
# @param region_code [String]
|
|
158
|
+
#
|
|
159
|
+
# @param status [String]
|
|
160
|
+
#
|
|
161
|
+
# @param template_category [String, nil]
|
|
162
|
+
#
|
|
163
|
+
# @param template_id [String, nil]
|
|
164
|
+
#
|
|
165
|
+
# @param template_name [String, nil]
|
|
166
|
+
end
|
|
167
|
+
end
|
|
168
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class MessageActivities < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute activities
|
|
7
|
+
# List of activity events ordered by most recent first
|
|
8
|
+
#
|
|
9
|
+
# @return [Array<Sentdm::Models::MessageActivity>, nil]
|
|
10
|
+
optional :activities, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::MessageActivity] }
|
|
11
|
+
|
|
12
|
+
# @!attribute message_id
|
|
13
|
+
# The message ID these activities belong to
|
|
14
|
+
#
|
|
15
|
+
# @return [String, nil]
|
|
16
|
+
optional :message_id, String
|
|
17
|
+
|
|
18
|
+
# @!attribute pagination
|
|
19
|
+
# Pagination metadata for list responses
|
|
20
|
+
#
|
|
21
|
+
# @return [Sentdm::Models::PaginationMeta, nil]
|
|
22
|
+
optional :pagination, -> { Sentdm::PaginationMeta }
|
|
23
|
+
|
|
24
|
+
# @!method initialize(activities: nil, message_id: nil, pagination: nil)
|
|
25
|
+
# Response for GET /messages/{id}/activities
|
|
26
|
+
#
|
|
27
|
+
# @param activities [Array<Sentdm::Models::MessageActivity>] List of activity events ordered by most recent first
|
|
28
|
+
#
|
|
29
|
+
# @param message_id [String] The message ID these activities belong to
|
|
30
|
+
#
|
|
31
|
+
# @param pagination [Sentdm::Models::PaginationMeta] Pagination metadata for list responses
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class MessageActivity < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute active_contact_price
|
|
7
|
+
# Active contact markup applied on top of the channel cost, formatted to 4 decimal
|
|
8
|
+
# places.
|
|
9
|
+
#
|
|
10
|
+
# @return [String, nil]
|
|
11
|
+
optional :active_contact_price, String, nil?: true
|
|
12
|
+
|
|
13
|
+
# @!attribute description
|
|
14
|
+
# Human-readable description of the activity
|
|
15
|
+
#
|
|
16
|
+
# @return [String, nil]
|
|
17
|
+
optional :description, String
|
|
18
|
+
|
|
19
|
+
# @!attribute from
|
|
20
|
+
# Sender phone number for this activity (the customer's sending number for
|
|
21
|
+
# outbound, the external sender for inbound). Null when not reported by the
|
|
22
|
+
# provider.
|
|
23
|
+
#
|
|
24
|
+
# @return [String, nil]
|
|
25
|
+
optional :from, String, nil?: true
|
|
26
|
+
|
|
27
|
+
# @!attribute price
|
|
28
|
+
# Channel cost for this activity (e.g., SMS/WhatsApp provider cost), formatted to
|
|
29
|
+
# 4 decimal places.
|
|
30
|
+
#
|
|
31
|
+
# @return [String, nil]
|
|
32
|
+
optional :price, String, nil?: true
|
|
33
|
+
|
|
34
|
+
# @!attribute reason
|
|
35
|
+
# A human-readable sentence for reason_code, for example "The recipient is not
|
|
36
|
+
# registered on this channel" Omitted whenever reason_code is.
|
|
37
|
+
#
|
|
38
|
+
# @return [String, nil]
|
|
39
|
+
optional :reason, String, nil?: true
|
|
40
|
+
|
|
41
|
+
# @!attribute reason_code
|
|
42
|
+
# Why the message reached this status, as a stable platform code such as
|
|
43
|
+
# DELIVERY_007 or BUSINESS_003. Present on FAILED, FILTERED and BLOCKED
|
|
44
|
+
# activities; omitted on every status that needs no explanation. Switch on this
|
|
45
|
+
# rather than on reason: the code is stable, the wording may be improved. Same
|
|
46
|
+
# wire name and vocabulary as on the message and the webhook.
|
|
47
|
+
#
|
|
48
|
+
# @return [String, nil]
|
|
49
|
+
optional :reason_code, String, nil?: true
|
|
50
|
+
|
|
51
|
+
# @!attribute scheduled_at
|
|
52
|
+
# SCHEDULED and CANCELLED activities only, in UTC: on a SCHEDULED entry, when the
|
|
53
|
+
# held message will be released for delivery; on a CANCELLED entry, the instant
|
|
54
|
+
# that was called off. Same wire name as on the send response, the message and the
|
|
55
|
+
# webhook. Omitted on every other activity. A message that quiet hours moved at
|
|
56
|
+
# release has two SCHEDULED entries, each carrying the instant as it stood at that
|
|
57
|
+
# moment.
|
|
58
|
+
#
|
|
59
|
+
# @return [Time, nil]
|
|
60
|
+
optional :scheduled_at, Time, nil?: true
|
|
61
|
+
|
|
62
|
+
# @!attribute status
|
|
63
|
+
# Activity status. Outbound: QUEUED, PROCESSED, ROUTED, SCHEDULED, SENT,
|
|
64
|
+
# DELIVERED, READ, FAILED. Inbound (from contact): RECEIVED (terminal).
|
|
65
|
+
#
|
|
66
|
+
# @return [String, nil]
|
|
67
|
+
optional :status, String
|
|
68
|
+
|
|
69
|
+
# @!attribute timestamp
|
|
70
|
+
# When this activity occurred
|
|
71
|
+
#
|
|
72
|
+
# @return [Time, nil]
|
|
73
|
+
optional :timestamp, Time
|
|
74
|
+
|
|
75
|
+
# @!method initialize(active_contact_price: nil, description: nil, from: nil, price: nil, reason: nil, reason_code: nil, scheduled_at: nil, status: nil, timestamp: nil)
|
|
76
|
+
# Some parameter documentations has been truncated, see
|
|
77
|
+
# {Sentdm::Models::MessageActivity} for more details.
|
|
78
|
+
#
|
|
79
|
+
# A single message activity event for v3 API.
|
|
80
|
+
#
|
|
81
|
+
# The activity list mixes statuses, so unlike a message it is one shape rather
|
|
82
|
+
# than two: a SCHEDULED entry carries scheduled_at, and every other entry has no
|
|
83
|
+
# such key.
|
|
84
|
+
#
|
|
85
|
+
# @param active_contact_price [String, nil] Active contact markup applied on top of the channel cost, formatted to 4 decimal
|
|
86
|
+
#
|
|
87
|
+
# @param description [String] Human-readable description of the activity
|
|
88
|
+
#
|
|
89
|
+
# @param from [String, nil] Sender phone number for this activity (the customer's sending number for outboun
|
|
90
|
+
#
|
|
91
|
+
# @param price [String, nil] Channel cost for this activity (e.g., SMS/WhatsApp provider cost), formatted to
|
|
92
|
+
#
|
|
93
|
+
# @param reason [String, nil] A human-readable sentence for reason_code, for example "The recipient is not reg
|
|
94
|
+
#
|
|
95
|
+
# @param reason_code [String, nil] Why the message reached this status, as a stable platform code such as
|
|
96
|
+
# DELIVERY\_
|
|
97
|
+
#
|
|
98
|
+
# @param scheduled_at [Time, nil] SCHEDULED and CANCELLED activities only, in UTC: on a SCHEDULED entry, when the
|
|
99
|
+
#
|
|
100
|
+
# @param status [String] Activity status. Outbound: QUEUED, PROCESSED, ROUTED, SCHEDULED, SENT, DELIVERED
|
|
101
|
+
#
|
|
102
|
+
# @param timestamp [Time] When this activity occurred
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class MessageBody < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute buttons
|
|
7
|
+
#
|
|
8
|
+
# @return [Array<Sentdm::Models::MessageButton>, nil]
|
|
9
|
+
optional :buttons, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::MessageButton] }, nil?: true
|
|
10
|
+
|
|
11
|
+
# @!attribute content
|
|
12
|
+
#
|
|
13
|
+
# @return [String, nil]
|
|
14
|
+
optional :content, String
|
|
15
|
+
|
|
16
|
+
# @!attribute footer
|
|
17
|
+
#
|
|
18
|
+
# @return [String, nil]
|
|
19
|
+
optional :footer, String, nil?: true
|
|
20
|
+
|
|
21
|
+
# @!attribute header
|
|
22
|
+
#
|
|
23
|
+
# @return [String, nil]
|
|
24
|
+
optional :header, String, nil?: true
|
|
25
|
+
|
|
26
|
+
# @!attribute header_media
|
|
27
|
+
# The media asset that rode a message's header, recorded as sent.
|
|
28
|
+
#
|
|
29
|
+
# @return [Sentdm::Models::MessageHeaderMedia, nil]
|
|
30
|
+
optional :header_media, -> { Sentdm::MessageHeaderMedia }, api_name: :headerMedia, nil?: true
|
|
31
|
+
|
|
32
|
+
# @!attribute media
|
|
33
|
+
# MMS attachments, as the publicly fetchable URLs handed to the carrier. Null on
|
|
34
|
+
# every other channel.
|
|
35
|
+
#
|
|
36
|
+
# Persisted rather than derived because a resend and a curfew release rebuild the
|
|
37
|
+
# send from the stored row — MessageReplayCommandBuilder reads templateId and
|
|
38
|
+
# templateVariables and nothing else — so media that lives only on the original
|
|
39
|
+
# request would silently turn a replayed MMS into a text message.
|
|
40
|
+
#
|
|
41
|
+
# @return [Array<Sentdm::Models::MessageMedia>, nil]
|
|
42
|
+
optional :media, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::MessageMedia] }, nil?: true
|
|
43
|
+
|
|
44
|
+
# @!attribute subject
|
|
45
|
+
# MMS subject line. Null on every other channel.
|
|
46
|
+
#
|
|
47
|
+
# @return [String, nil]
|
|
48
|
+
optional :subject, String, nil?: true
|
|
49
|
+
|
|
50
|
+
# @!method initialize(buttons: nil, content: nil, footer: nil, header: nil, header_media: nil, media: nil, subject: nil)
|
|
51
|
+
# Some parameter documentations has been truncated, see
|
|
52
|
+
# {Sentdm::Models::MessageBody} for more details.
|
|
53
|
+
#
|
|
54
|
+
# Structured message body format for database storage. Preserves channel-specific
|
|
55
|
+
# components (header, header media, body, footer, buttons, MMS subject and media).
|
|
56
|
+
#
|
|
57
|
+
# Persisted as the messageBody jsonb column on Messages. Every write path goes
|
|
58
|
+
# through MessageUtils.MessageBodyJsonOptions, which writes nulls, so the envelope
|
|
59
|
+
# shape is stable regardless of channel or status. Anything that rebuilds this
|
|
60
|
+
# object field by field — the four IMessageBodyStrategy implementations and
|
|
61
|
+
# MessageUtils.BuildSegmentBody — has to carry every member, or that member is
|
|
62
|
+
# silently dropped on whichever path forgot it.
|
|
63
|
+
#
|
|
64
|
+
# @param buttons [Array<Sentdm::Models::MessageButton>, nil]
|
|
65
|
+
#
|
|
66
|
+
# @param content [String]
|
|
67
|
+
#
|
|
68
|
+
# @param footer [String, nil]
|
|
69
|
+
#
|
|
70
|
+
# @param header [String, nil]
|
|
71
|
+
#
|
|
72
|
+
# @param header_media [Sentdm::Models::MessageHeaderMedia, nil] The media asset that rode a message's header, recorded as sent.
|
|
73
|
+
#
|
|
74
|
+
# @param media [Array<Sentdm::Models::MessageMedia>, nil] MMS attachments, as the publicly fetchable URLs handed to the carrier. Null on e
|
|
75
|
+
#
|
|
76
|
+
# @param subject [String, nil] MMS subject line. Null on every other channel.
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class MessageButton < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute postback_data
|
|
7
|
+
#
|
|
8
|
+
# @return [String, nil]
|
|
9
|
+
optional :postback_data, String, api_name: :postbackData, nil?: true
|
|
10
|
+
|
|
11
|
+
# @!attribute text
|
|
12
|
+
#
|
|
13
|
+
# @return [String, nil]
|
|
14
|
+
optional :text, String, nil?: true
|
|
15
|
+
|
|
16
|
+
# @!attribute type
|
|
17
|
+
#
|
|
18
|
+
# @return [String, nil]
|
|
19
|
+
optional :type, String
|
|
20
|
+
|
|
21
|
+
# @!attribute value
|
|
22
|
+
#
|
|
23
|
+
# @return [String, nil]
|
|
24
|
+
optional :value, String
|
|
25
|
+
|
|
26
|
+
# @!method initialize(postback_data: nil, text: nil, type: nil, value: nil)
|
|
27
|
+
# @param postback_data [String, nil]
|
|
28
|
+
# @param text [String, nil]
|
|
29
|
+
# @param type [String]
|
|
30
|
+
# @param value [String]
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
# @see Sentdm::Resources::Messages#cancel
|
|
6
|
+
class MessageCancelParams < Sentdm::Models::MutationRequest
|
|
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
|
+
# @!attribute idempotency_key
|
|
16
|
+
#
|
|
17
|
+
# @return [String, nil]
|
|
18
|
+
optional :idempotency_key, String
|
|
19
|
+
|
|
20
|
+
# @!attribute x_profile_id
|
|
21
|
+
#
|
|
22
|
+
# @return [String, nil]
|
|
23
|
+
optional :x_profile_id, String
|
|
24
|
+
|
|
25
|
+
# @!method initialize(id:, idempotency_key: nil, x_profile_id: nil, request_options: {})
|
|
26
|
+
# @param id [String]
|
|
27
|
+
# @param idempotency_key [String]
|
|
28
|
+
# @param x_profile_id [String]
|
|
29
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|