sentdm 0.2.0 → 0.3.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 +10 -0
- data/README.md +96 -39
- data/lib/sentdm/client.rb +28 -36
- data/lib/sentdm/internal/type/base_model.rb +5 -5
- data/lib/sentdm/internal/type/enum.rb +25 -0
- data/lib/sentdm/models/api_error.rb +42 -0
- data/lib/sentdm/models/api_meta.rb +42 -0
- data/lib/sentdm/models/api_response_brand_with_kyc.rb +43 -0
- data/lib/sentdm/models/api_response_contact.rb +43 -0
- data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
- data/lib/sentdm/models/api_response_of_user.rb +43 -0
- data/lib/sentdm/models/api_response_template.rb +43 -0
- data/lib/sentdm/models/api_response_webhook.rb +43 -0
- data/lib/sentdm/models/brand_create_params.rb +41 -0
- data/lib/sentdm/models/brand_data.rb +237 -0
- data/lib/sentdm/models/brand_delete_params.rb +27 -0
- data/lib/sentdm/models/brand_list_params.rb +14 -0
- data/lib/sentdm/models/brand_list_response.rb +43 -0
- data/lib/sentdm/models/brand_update_params.rb +41 -0
- data/lib/sentdm/models/brand_with_kyc.rb +335 -0
- data/lib/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rb +45 -0
- data/lib/sentdm/models/brands/base_dto.rb +32 -0
- data/lib/sentdm/models/brands/campaign_create_params.rb +43 -0
- data/lib/sentdm/models/brands/campaign_data.rb +123 -0
- data/lib/sentdm/models/brands/campaign_delete_params.rb +36 -0
- data/lib/sentdm/models/brands/campaign_list_params.rb +16 -0
- data/lib/sentdm/models/brands/campaign_list_response.rb +47 -0
- data/lib/sentdm/models/brands/campaign_update_params.rb +50 -0
- data/lib/sentdm/models/brands/messaging_use_case_us.rb +28 -0
- data/lib/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rb +30 -0
- data/lib/sentdm/models/brands/tcr_campaign_with_use_cases.rb +236 -0
- data/lib/sentdm/models/contact.rb +122 -0
- data/lib/sentdm/models/contact_create_params.rb +41 -0
- data/lib/sentdm/models/contact_delete_params.rb +27 -0
- data/lib/sentdm/models/contact_list_params.rb +28 -5
- data/lib/sentdm/models/contact_list_response.rb +46 -21
- data/lib/sentdm/models/{message_retrieve_params.rb → contact_retrieve_params.rb} +2 -2
- data/lib/sentdm/models/contact_update_params.rb +49 -0
- data/lib/sentdm/models/destination_country.rb +21 -0
- data/lib/sentdm/models/lookup_retrieve_phone_info_params.rb +14 -0
- data/lib/sentdm/models/lookup_retrieve_phone_info_response.rb +104 -0
- data/lib/sentdm/models/me_retrieve_params.rb +14 -0
- data/lib/sentdm/models/me_retrieve_response.rb +200 -0
- data/lib/sentdm/models/message_retrieve_activities_params.rb +14 -0
- data/lib/sentdm/models/message_retrieve_activities_response.rb +103 -0
- data/lib/sentdm/models/message_retrieve_status_params.rb +14 -0
- data/lib/sentdm/models/message_retrieve_status_response.rb +237 -0
- data/lib/sentdm/models/message_send_params.rb +88 -0
- data/lib/sentdm/models/message_send_response.rb +123 -0
- data/lib/sentdm/models/mutation_request.rb +20 -0
- data/lib/sentdm/models/pagination_meta.rb +80 -0
- data/lib/sentdm/models/profile_complete_params.rb +41 -0
- data/lib/sentdm/models/profile_complete_response.rb +8 -0
- data/lib/sentdm/models/profile_create_params.rb +122 -0
- data/lib/sentdm/models/profile_delete_params.rb +34 -0
- data/lib/sentdm/models/profile_detail.rb +200 -0
- data/lib/sentdm/models/profile_list_params.rb +14 -0
- data/lib/sentdm/models/profile_list_response.rb +57 -0
- data/lib/sentdm/models/profile_retrieve_params.rb +14 -0
- data/lib/sentdm/models/profile_settings.rb +66 -0
- data/lib/sentdm/models/profile_update_params.rb +169 -0
- data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rb +34 -0
- data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rb +40 -0
- data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rb +38 -0
- data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rb +81 -0
- data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rb +34 -0
- data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rb +39 -0
- data/lib/sentdm/models/tcr_brand_relationship.rb +18 -0
- data/lib/sentdm/models/tcr_vertical.rb +36 -0
- data/lib/sentdm/models/template.rb +90 -0
- data/lib/sentdm/models/template_create_params.rb +40 -19
- data/lib/sentdm/models/template_definition.rb +15 -255
- data/lib/sentdm/models/template_delete_params.rb +22 -1
- data/lib/sentdm/models/template_list_params.rb +9 -10
- data/lib/sentdm/models/template_list_response.rb +46 -21
- data/lib/sentdm/models/template_update_params.rb +73 -0
- data/lib/sentdm/models/user_invite_params.rb +57 -0
- data/lib/sentdm/models/user_list_params.rb +14 -0
- data/lib/sentdm/models/user_list_response.rb +57 -0
- data/lib/sentdm/models/user_remove_params.rb +34 -0
- data/lib/sentdm/models/user_response.rb +82 -0
- data/lib/sentdm/models/user_retrieve_params.rb +14 -0
- data/lib/sentdm/models/user_update_role_params.rb +49 -0
- data/lib/sentdm/models/webhook_create_params.rb +68 -0
- data/lib/sentdm/models/webhook_delete_params.rb +14 -0
- data/lib/sentdm/models/webhook_list_event_types_params.rb +14 -0
- data/lib/sentdm/models/webhook_list_event_types_response.rb +85 -0
- data/lib/sentdm/models/webhook_list_events_params.rb +32 -0
- data/lib/sentdm/models/webhook_list_events_response.rb +135 -0
- data/lib/sentdm/models/webhook_list_params.rb +38 -0
- data/lib/sentdm/models/webhook_list_response.rb +64 -0
- data/lib/sentdm/models/webhook_response.rb +87 -0
- data/lib/sentdm/models/webhook_retrieve_params.rb +14 -0
- data/lib/sentdm/models/webhook_rotate_secret_params.rb +30 -0
- data/lib/sentdm/models/webhook_rotate_secret_response.rb +56 -0
- data/lib/sentdm/models/webhook_test_params.rb +40 -0
- data/lib/sentdm/models/webhook_test_response.rb +62 -0
- data/lib/sentdm/models/webhook_toggle_status_params.rb +40 -0
- data/lib/sentdm/models/webhook_update_params.rb +68 -0
- data/lib/sentdm/models.rb +124 -10
- data/lib/sentdm/resources/brands/campaigns.rb +144 -0
- data/lib/sentdm/resources/brands.rb +128 -0
- data/lib/sentdm/resources/contacts.rb +111 -38
- data/lib/sentdm/resources/lookup.rb +35 -0
- data/lib/sentdm/resources/me.rb +34 -0
- data/lib/sentdm/resources/messages.rb +42 -77
- data/lib/sentdm/resources/profiles.rb +254 -0
- data/lib/sentdm/resources/templates.rb +94 -45
- data/lib/sentdm/resources/users.rb +158 -0
- data/lib/sentdm/resources/webhooks.rb +295 -0
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +94 -12
- data/rbi/sentdm/client.rbi +20 -25
- data/rbi/sentdm/models/api_error.rbi +66 -0
- data/rbi/sentdm/models/api_meta.rbi +69 -0
- data/rbi/sentdm/models/api_response_brand_with_kyc.rbi +74 -0
- data/rbi/sentdm/models/api_response_contact.rbi +74 -0
- data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
- data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
- data/rbi/sentdm/models/api_response_template.rbi +74 -0
- data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
- data/rbi/sentdm/models/brand_create_params.rbi +68 -0
- data/rbi/sentdm/models/brand_data.rbi +266 -0
- data/rbi/sentdm/models/brand_delete_params.rbi +62 -0
- data/rbi/sentdm/models/brand_list_params.rbi +27 -0
- data/rbi/sentdm/models/brand_list_response.rbi +71 -0
- data/rbi/sentdm/models/brand_update_params.rbi +68 -0
- data/rbi/sentdm/models/brand_with_kyc.rbi +398 -0
- data/rbi/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rbi +83 -0
- data/rbi/sentdm/models/brands/base_dto.rbi +53 -0
- data/rbi/sentdm/models/brands/campaign_create_params.rbi +73 -0
- data/rbi/sentdm/models/brands/campaign_data.rbi +148 -0
- data/rbi/sentdm/models/brands/campaign_delete_params.rbi +78 -0
- data/rbi/sentdm/models/brands/campaign_list_params.rbi +29 -0
- data/rbi/sentdm/models/brands/campaign_list_response.rbi +82 -0
- data/rbi/sentdm/models/brands/campaign_update_params.rbi +79 -0
- data/rbi/sentdm/models/brands/messaging_use_case_us.rbi +69 -0
- data/rbi/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbi +52 -0
- data/rbi/sentdm/models/brands/tcr_campaign_with_use_cases.rbi +404 -0
- data/rbi/sentdm/models/contact.rbi +179 -0
- data/rbi/sentdm/models/contact_create_params.rbi +68 -0
- data/rbi/sentdm/models/contact_delete_params.rbi +62 -0
- data/rbi/sentdm/models/contact_list_params.rbi +26 -4
- data/rbi/sentdm/models/contact_list_response.rbi +91 -37
- data/rbi/sentdm/models/{message_retrieve_params.rbi → contact_retrieve_params.rbi} +2 -2
- data/rbi/sentdm/models/contact_update_params.rbi +73 -0
- data/rbi/sentdm/models/destination_country.rbi +32 -0
- data/rbi/sentdm/models/lookup_retrieve_phone_info_params.rbi +30 -0
- data/rbi/sentdm/models/lookup_retrieve_phone_info_response.rbi +183 -0
- data/rbi/sentdm/models/me_retrieve_params.rbi +27 -0
- data/rbi/sentdm/models/me_retrieve_response.rbi +314 -0
- data/rbi/sentdm/models/message_retrieve_activities_params.rbi +30 -0
- data/rbi/sentdm/models/message_retrieve_activities_response.rbi +234 -0
- data/rbi/sentdm/models/message_retrieve_status_params.rbi +27 -0
- data/rbi/sentdm/models/message_retrieve_status_response.rbi +434 -0
- data/rbi/sentdm/models/message_send_params.rbi +143 -0
- data/rbi/sentdm/models/message_send_response.rbi +231 -0
- data/rbi/sentdm/models/mutation_request.rbi +32 -0
- data/rbi/sentdm/models/pagination_meta.rbi +135 -0
- data/rbi/sentdm/models/profile_complete_params.rbi +65 -0
- data/rbi/sentdm/models/profile_complete_response.rbi +8 -0
- data/rbi/sentdm/models/profile_create_params.rbi +156 -0
- data/rbi/sentdm/models/profile_delete_params.rbi +59 -0
- data/rbi/sentdm/models/profile_detail.rbi +273 -0
- data/rbi/sentdm/models/profile_list_params.rbi +27 -0
- data/rbi/sentdm/models/profile_list_response.rbi +111 -0
- data/rbi/sentdm/models/profile_retrieve_params.rbi +27 -0
- data/rbi/sentdm/models/profile_settings.rbi +86 -0
- data/rbi/sentdm/models/profile_update_params.rbi +196 -0
- data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbi +56 -0
- data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbi +76 -0
- data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbi +79 -0
- data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbi +104 -0
- data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbi +60 -0
- data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbi +62 -0
- data/rbi/sentdm/models/tcr_brand_relationship.rbi +30 -0
- data/rbi/sentdm/models/tcr_vertical.rbi +41 -0
- data/rbi/sentdm/models/template.rbi +129 -0
- data/rbi/sentdm/models/template_create_params.rbi +47 -23
- data/rbi/sentdm/models/template_definition.rbi +74 -405
- data/rbi/sentdm/models/template_delete_params.rbi +36 -5
- data/rbi/sentdm/models/template_list_params.rbi +8 -10
- data/rbi/sentdm/models/template_list_response.rbi +91 -37
- data/rbi/sentdm/models/template_update_params.rbi +105 -0
- data/rbi/sentdm/models/user_invite_params.rbi +90 -0
- data/rbi/sentdm/models/user_list_params.rbi +27 -0
- data/rbi/sentdm/models/user_list_response.rbi +111 -0
- data/rbi/sentdm/models/user_remove_params.rbi +59 -0
- data/rbi/sentdm/models/user_response.rbi +118 -0
- data/rbi/sentdm/models/user_retrieve_params.rbi +27 -0
- data/rbi/sentdm/models/user_update_role_params.rbi +79 -0
- data/rbi/sentdm/models/webhook_create_params.rbi +102 -0
- data/rbi/sentdm/models/webhook_delete_params.rbi +27 -0
- data/rbi/sentdm/models/webhook_list_event_types_params.rbi +27 -0
- data/rbi/sentdm/models/webhook_list_event_types_response.rbi +206 -0
- data/rbi/sentdm/models/webhook_list_events_params.rbi +48 -0
- data/rbi/sentdm/models/webhook_list_events_response.rbi +263 -0
- data/rbi/sentdm/models/webhook_list_params.rbi +59 -0
- data/rbi/sentdm/models/webhook_list_response.rbi +126 -0
- data/rbi/sentdm/models/webhook_response.rbi +134 -0
- data/rbi/sentdm/models/webhook_retrieve_params.rbi +27 -0
- data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +67 -0
- data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +112 -0
- data/rbi/sentdm/models/webhook_test_params.rbi +66 -0
- data/rbi/sentdm/models/webhook_test_response.rbi +111 -0
- data/rbi/sentdm/models/webhook_toggle_status_params.rbi +66 -0
- data/rbi/sentdm/models/webhook_update_params.rbi +102 -0
- data/rbi/sentdm/models.rbi +125 -10
- data/rbi/sentdm/resources/brands/campaigns.rbi +108 -0
- data/rbi/sentdm/resources/brands.rbi +93 -0
- data/rbi/sentdm/resources/contacts.rbi +89 -26
- data/rbi/sentdm/resources/lookup.rbi +24 -0
- data/rbi/sentdm/resources/me.rbi +23 -0
- data/rbi/sentdm/resources/messages.rbi +41 -60
- data/rbi/sentdm/resources/profiles.rbi +238 -0
- data/rbi/sentdm/resources/templates.rbi +94 -41
- data/rbi/sentdm/resources/users.rbi +116 -0
- data/rbi/sentdm/resources/webhooks.rbi +218 -0
- data/sig/sentdm/client.rbs +11 -8
- data/sig/sentdm/models/api_error.rbs +39 -0
- data/sig/sentdm/models/api_meta.rbs +41 -0
- data/sig/sentdm/models/api_response_brand_with_kyc.rbs +39 -0
- data/sig/sentdm/models/api_response_contact.rbs +39 -0
- data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
- data/sig/sentdm/models/api_response_of_user.rbs +39 -0
- data/sig/sentdm/models/api_response_template.rbs +39 -0
- data/sig/sentdm/models/api_response_webhook.rbs +39 -0
- data/sig/sentdm/models/brand_create_params.rbs +36 -0
- data/sig/sentdm/models/brand_data.rbs +164 -0
- data/sig/sentdm/models/brand_delete_params.rbs +32 -0
- data/sig/sentdm/models/brand_list_params.rbs +14 -0
- data/sig/sentdm/models/brand_list_response.rbs +39 -0
- data/sig/sentdm/models/brand_update_params.rbs +36 -0
- data/sig/sentdm/models/brand_with_kyc.rbs +237 -0
- data/sig/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rbs +41 -0
- data/sig/sentdm/models/brands/base_dto.rbs +27 -0
- data/sig/sentdm/models/brands/campaign_create_params.rbs +42 -0
- data/sig/sentdm/models/brands/campaign_data.rbs +82 -0
- data/sig/sentdm/models/brands/campaign_delete_params.rbs +38 -0
- data/sig/sentdm/models/brands/campaign_list_params.rbs +17 -0
- data/sig/sentdm/models/brands/campaign_list_response.rbs +41 -0
- data/sig/sentdm/models/brands/campaign_update_params.rbs +47 -0
- data/sig/sentdm/models/brands/messaging_use_case_us.rbs +40 -0
- data/sig/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbs +27 -0
- data/sig/sentdm/models/brands/tcr_campaign_with_use_cases.rbs +285 -0
- data/sig/sentdm/models/{contact_list_item.rbs → contact.rbs} +31 -5
- data/sig/sentdm/models/contact_create_params.rbs +38 -0
- data/sig/sentdm/models/contact_delete_params.rbs +32 -0
- data/sig/sentdm/models/contact_list_params.rbs +19 -1
- data/sig/sentdm/models/contact_list_response.rbs +44 -31
- data/sig/sentdm/models/{message_retrieve_params.rbs → contact_retrieve_params.rbs} +2 -2
- data/sig/sentdm/models/contact_update_params.rbs +45 -0
- data/sig/sentdm/models/destination_country.rbs +19 -0
- data/sig/sentdm/models/lookup_retrieve_phone_info_params.rbs +15 -0
- data/sig/sentdm/models/lookup_retrieve_phone_info_response.rbs +102 -0
- data/sig/sentdm/models/me_retrieve_params.rbs +14 -0
- data/sig/sentdm/models/me_retrieve_response.rbs +162 -0
- data/sig/sentdm/models/message_retrieve_activities_params.rbs +15 -0
- data/sig/sentdm/models/message_retrieve_activities_response.rbs +105 -0
- data/sig/sentdm/models/message_retrieve_status_params.rbs +15 -0
- data/sig/sentdm/models/message_retrieve_status_response.rbs +224 -0
- data/sig/sentdm/models/message_send_params.rbs +79 -0
- data/sig/sentdm/models/message_send_response.rbs +108 -0
- data/sig/sentdm/models/mutation_request.rbs +15 -0
- data/sig/sentdm/models/pagination_meta.rbs +67 -0
- data/sig/sentdm/models/profile_complete_params.rbs +36 -0
- data/sig/sentdm/models/profile_complete_response.rbs +5 -0
- data/sig/sentdm/models/profile_create_params.rbs +96 -0
- data/sig/sentdm/models/profile_delete_params.rbs +32 -0
- data/sig/sentdm/models/profile_detail.rbs +168 -0
- data/sig/sentdm/models/profile_list_params.rbs +14 -0
- data/sig/sentdm/models/profile_list_response.rbs +53 -0
- data/sig/sentdm/models/profile_retrieve_params.rbs +15 -0
- data/sig/sentdm/models/profile_settings.rbs +50 -0
- data/sig/sentdm/models/profile_update_params.rbs +122 -0
- data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbs +24 -0
- data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbs +30 -0
- data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbs +38 -0
- data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbs +75 -0
- data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbs +32 -0
- data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbs +32 -0
- data/sig/sentdm/models/tcr_brand_relationship.rbs +22 -0
- data/sig/sentdm/models/tcr_vertical.rbs +58 -0
- data/sig/sentdm/models/{template_response_v2.rbs → template.rbs} +18 -31
- data/sig/sentdm/models/template_create_params.rbs +29 -6
- data/sig/sentdm/models/template_definition.rbs +20 -233
- data/sig/sentdm/models/template_delete_params.rbs +18 -3
- data/sig/sentdm/models/template_list_response.rbs +44 -31
- data/sig/sentdm/models/template_update_params.rbs +62 -0
- data/sig/sentdm/models/user_invite_params.rbs +56 -0
- data/sig/sentdm/models/user_list_params.rbs +14 -0
- data/sig/sentdm/models/user_list_response.rbs +53 -0
- data/sig/sentdm/models/user_remove_params.rbs +32 -0
- data/sig/sentdm/models/user_response.rbs +72 -0
- data/sig/sentdm/models/user_retrieve_params.rbs +15 -0
- data/sig/sentdm/models/user_update_role_params.rbs +49 -0
- data/sig/sentdm/models/webhook_create_params.rbs +70 -0
- data/sig/sentdm/models/webhook_delete_params.rbs +15 -0
- data/sig/sentdm/models/webhook_list_event_types_params.rbs +15 -0
- data/sig/sentdm/models/webhook_list_event_types_response.rbs +98 -0
- data/sig/sentdm/models/webhook_list_events_params.rbs +32 -0
- data/sig/sentdm/models/webhook_list_events_response.rbs +146 -0
- data/sig/sentdm/models/webhook_list_params.rbs +36 -0
- data/sig/sentdm/models/webhook_list_response.rbs +67 -0
- data/sig/sentdm/models/webhook_response.rbs +98 -0
- data/sig/sentdm/models/webhook_retrieve_params.rbs +15 -0
- data/sig/sentdm/models/webhook_rotate_secret_params.rbs +38 -0
- data/sig/sentdm/models/webhook_rotate_secret_response.rbs +51 -0
- data/sig/sentdm/models/webhook_test_params.rbs +38 -0
- data/sig/sentdm/models/webhook_test_response.rbs +55 -0
- data/sig/sentdm/models/webhook_toggle_status_params.rbs +38 -0
- data/sig/sentdm/models/webhook_update_params.rbs +70 -0
- data/sig/sentdm/models.rbs +118 -10
- data/sig/sentdm/resources/brands/campaigns.rbs +38 -0
- data/sig/sentdm/resources/brands.rbs +34 -0
- data/sig/sentdm/resources/contacts.rbs +28 -8
- data/sig/sentdm/resources/lookup.rbs +12 -0
- data/sig/sentdm/resources/{number_lookup.rbs → me.rbs} +2 -3
- data/sig/sentdm/resources/messages.rbs +12 -18
- data/sig/sentdm/resources/profiles.rbs +72 -0
- data/sig/sentdm/resources/templates.rbs +24 -4
- data/sig/sentdm/resources/users.rbs +41 -0
- data/sig/sentdm/resources/webhooks.rbs +80 -0
- metadata +284 -38
- data/lib/sentdm/models/contact_list_item.rb +0 -96
- data/lib/sentdm/models/contact_retrieve_by_phone_params.rb +0 -22
- data/lib/sentdm/models/contact_retrieve_id_params.rb +0 -22
- data/lib/sentdm/models/message_retrieve_response.rb +0 -227
- data/lib/sentdm/models/message_send_quick_message_params.rb +0 -34
- data/lib/sentdm/models/message_send_to_contact_params.rb +0 -46
- data/lib/sentdm/models/message_send_to_phone_params.rb +0 -47
- data/lib/sentdm/models/number_lookup_retrieve_params.rb +0 -20
- data/lib/sentdm/models/number_lookup_retrieve_response.rb +0 -83
- data/lib/sentdm/models/template_response_v2.rb +0 -100
- data/lib/sentdm/resources/number_lookup.rb +0 -37
- data/rbi/sentdm/models/contact_list_item.rbi +0 -144
- data/rbi/sentdm/models/contact_retrieve_by_phone_params.rbi +0 -40
- data/rbi/sentdm/models/contact_retrieve_id_params.rbi +0 -40
- data/rbi/sentdm/models/message_retrieve_response.rbi +0 -376
- data/rbi/sentdm/models/message_send_quick_message_params.rbi +0 -56
- data/rbi/sentdm/models/message_send_to_contact_params.rbi +0 -63
- data/rbi/sentdm/models/message_send_to_phone_params.rbi +0 -65
- data/rbi/sentdm/models/number_lookup_retrieve_params.rbi +0 -35
- data/rbi/sentdm/models/number_lookup_retrieve_response.rbi +0 -132
- data/rbi/sentdm/models/template_response_v2.rbi +0 -149
- data/rbi/sentdm/resources/number_lookup.rbi +0 -24
- data/sig/sentdm/models/contact_retrieve_by_phone_params.rbs +0 -23
- data/sig/sentdm/models/contact_retrieve_id_params.rbs +0 -20
- data/sig/sentdm/models/message_retrieve_response.rbs +0 -188
- data/sig/sentdm/models/message_send_quick_message_params.rbs +0 -28
- data/sig/sentdm/models/message_send_to_contact_params.rbs +0 -36
- data/sig/sentdm/models/message_send_to_phone_params.rbs +0 -36
- data/sig/sentdm/models/number_lookup_retrieve_params.rbs +0 -23
- data/sig/sentdm/models/number_lookup_retrieve_response.rbs +0 -78
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Resources
|
|
5
|
+
class Brands
|
|
6
|
+
class Campaigns
|
|
7
|
+
# Creates a new campaign scoped under a specific brand. The campaign is linked to
|
|
8
|
+
# the specified brand. Each campaign must include at least one use case with
|
|
9
|
+
# sample messages.
|
|
10
|
+
sig do
|
|
11
|
+
params(
|
|
12
|
+
brand_id: String,
|
|
13
|
+
campaign: Sentdm::Brands::CampaignData::OrHash,
|
|
14
|
+
test_mode: T::Boolean,
|
|
15
|
+
idempotency_key: String,
|
|
16
|
+
request_options: Sentdm::RequestOptions::OrHash
|
|
17
|
+
).returns(Sentdm::Brands::APIResponseTcrCampaignWithUseCases)
|
|
18
|
+
end
|
|
19
|
+
def create(
|
|
20
|
+
# Path param: Brand ID from route
|
|
21
|
+
brand_id,
|
|
22
|
+
# Body param: Campaign data
|
|
23
|
+
campaign:,
|
|
24
|
+
# Body param: Test mode flag - when true, the operation is simulated without side
|
|
25
|
+
# effects Useful for testing integrations without actual execution
|
|
26
|
+
test_mode: nil,
|
|
27
|
+
# Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
28
|
+
# alphanumeric characters, hyphens, or underscores. Responses are cached for 24
|
|
29
|
+
# hours per key per customer.
|
|
30
|
+
idempotency_key: nil,
|
|
31
|
+
request_options: {}
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Updates an existing campaign scoped under a specific brand. Cannot update
|
|
36
|
+
# campaigns that have already been submitted to TCR.
|
|
37
|
+
sig do
|
|
38
|
+
params(
|
|
39
|
+
campaign_id: String,
|
|
40
|
+
brand_id: String,
|
|
41
|
+
campaign: Sentdm::Brands::CampaignData::OrHash,
|
|
42
|
+
test_mode: T::Boolean,
|
|
43
|
+
idempotency_key: String,
|
|
44
|
+
request_options: Sentdm::RequestOptions::OrHash
|
|
45
|
+
).returns(Sentdm::Brands::APIResponseTcrCampaignWithUseCases)
|
|
46
|
+
end
|
|
47
|
+
def update(
|
|
48
|
+
# Path param: Campaign ID from route
|
|
49
|
+
campaign_id,
|
|
50
|
+
# Path param: Brand ID from route
|
|
51
|
+
brand_id:,
|
|
52
|
+
# Body param: Campaign data
|
|
53
|
+
campaign:,
|
|
54
|
+
# Body param: Test mode flag - when true, the operation is simulated without side
|
|
55
|
+
# effects Useful for testing integrations without actual execution
|
|
56
|
+
test_mode: nil,
|
|
57
|
+
# Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
58
|
+
# alphanumeric characters, hyphens, or underscores. Responses are cached for 24
|
|
59
|
+
# hours per key per customer.
|
|
60
|
+
idempotency_key: nil,
|
|
61
|
+
request_options: {}
|
|
62
|
+
)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# Retrieves all campaigns linked to a specific brand, including their use cases
|
|
66
|
+
# and sample messages.
|
|
67
|
+
sig do
|
|
68
|
+
params(
|
|
69
|
+
brand_id: String,
|
|
70
|
+
request_options: Sentdm::RequestOptions::OrHash
|
|
71
|
+
).returns(Sentdm::Models::Brands::CampaignListResponse)
|
|
72
|
+
end
|
|
73
|
+
def list(
|
|
74
|
+
# Brand ID from route
|
|
75
|
+
brand_id,
|
|
76
|
+
request_options: {}
|
|
77
|
+
)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# Deletes a campaign by ID within a specific brand. The brand must belong to the
|
|
81
|
+
# authenticated customer.
|
|
82
|
+
sig do
|
|
83
|
+
params(
|
|
84
|
+
campaign_id: String,
|
|
85
|
+
brand_id: String,
|
|
86
|
+
body: Sentdm::Brands::CampaignDeleteParams::Body::OrHash,
|
|
87
|
+
request_options: Sentdm::RequestOptions::OrHash
|
|
88
|
+
).void
|
|
89
|
+
end
|
|
90
|
+
def delete(
|
|
91
|
+
# Path param: Campaign ID from route parameter
|
|
92
|
+
campaign_id,
|
|
93
|
+
# Path param: Brand ID from route parameter
|
|
94
|
+
brand_id:,
|
|
95
|
+
# Body param: Request to delete a campaign from a brand
|
|
96
|
+
body:,
|
|
97
|
+
request_options: {}
|
|
98
|
+
)
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# @api private
|
|
102
|
+
sig { params(client: Sentdm::Client).returns(T.attached_class) }
|
|
103
|
+
def self.new(client:)
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
end
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Resources
|
|
5
|
+
class Brands
|
|
6
|
+
sig { returns(Sentdm::Resources::Brands::Campaigns) }
|
|
7
|
+
attr_reader :campaigns
|
|
8
|
+
|
|
9
|
+
# Creates a new brand and associated information. This endpoint automatically sets
|
|
10
|
+
# inheritTcrBrand=false when a brand is created.
|
|
11
|
+
sig do
|
|
12
|
+
params(
|
|
13
|
+
brand: Sentdm::BrandData::OrHash,
|
|
14
|
+
test_mode: T::Boolean,
|
|
15
|
+
idempotency_key: String,
|
|
16
|
+
request_options: Sentdm::RequestOptions::OrHash
|
|
17
|
+
).returns(Sentdm::APIResponseBrandWithKYC)
|
|
18
|
+
end
|
|
19
|
+
def create(
|
|
20
|
+
# Body param: Brand and KYC information
|
|
21
|
+
brand:,
|
|
22
|
+
# Body param: Test mode flag - when true, the operation is simulated without side
|
|
23
|
+
# effects Useful for testing integrations without actual execution
|
|
24
|
+
test_mode: nil,
|
|
25
|
+
# Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
26
|
+
# alphanumeric characters, hyphens, or underscores. Responses are cached for 24
|
|
27
|
+
# hours per key per customer.
|
|
28
|
+
idempotency_key: nil,
|
|
29
|
+
request_options: {}
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Updates an existing brand and its associated information. Cannot update brands
|
|
34
|
+
# that have already been submitted to TCR or inherited brands.
|
|
35
|
+
sig do
|
|
36
|
+
params(
|
|
37
|
+
brand_id: String,
|
|
38
|
+
brand: Sentdm::BrandData::OrHash,
|
|
39
|
+
test_mode: T::Boolean,
|
|
40
|
+
idempotency_key: String,
|
|
41
|
+
request_options: Sentdm::RequestOptions::OrHash
|
|
42
|
+
).returns(Sentdm::APIResponseBrandWithKYC)
|
|
43
|
+
end
|
|
44
|
+
def update(
|
|
45
|
+
# Path param: Brand ID from route
|
|
46
|
+
brand_id,
|
|
47
|
+
# Body param: Brand and KYC information
|
|
48
|
+
brand:,
|
|
49
|
+
# Body param: Test mode flag - when true, the operation is simulated without side
|
|
50
|
+
# effects Useful for testing integrations without actual execution
|
|
51
|
+
test_mode: nil,
|
|
52
|
+
# Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
53
|
+
# alphanumeric characters, hyphens, or underscores. Responses are cached for 24
|
|
54
|
+
# hours per key per customer.
|
|
55
|
+
idempotency_key: nil,
|
|
56
|
+
request_options: {}
|
|
57
|
+
)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Retrieves all brands for the authenticated customer with information in a
|
|
61
|
+
# flattened structure. Includes inherited brands if inheritTcrBrand=true.
|
|
62
|
+
sig do
|
|
63
|
+
params(request_options: Sentdm::RequestOptions::OrHash).returns(
|
|
64
|
+
Sentdm::Models::BrandListResponse
|
|
65
|
+
)
|
|
66
|
+
end
|
|
67
|
+
def list(request_options: {})
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Delete a brand by ID. The brand must belong to the authenticated customer.
|
|
71
|
+
sig do
|
|
72
|
+
params(
|
|
73
|
+
brand_id: String,
|
|
74
|
+
body: Sentdm::BrandDeleteParams::Body::OrHash,
|
|
75
|
+
request_options: Sentdm::RequestOptions::OrHash
|
|
76
|
+
).void
|
|
77
|
+
end
|
|
78
|
+
def delete(
|
|
79
|
+
# Brand ID from route parameter
|
|
80
|
+
brand_id,
|
|
81
|
+
# Request to delete a brand
|
|
82
|
+
body:,
|
|
83
|
+
request_options: {}
|
|
84
|
+
)
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# @api private
|
|
88
|
+
sig { params(client: Sentdm::Client).returns(T.attached_class) }
|
|
89
|
+
def self.new(client:)
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
@@ -3,53 +3,116 @@
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Resources
|
|
5
5
|
class Contacts
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
# from the authentication token.
|
|
6
|
+
# Creates a new contact by phone number and associates it with the authenticated
|
|
7
|
+
# customer.
|
|
9
8
|
sig do
|
|
10
9
|
params(
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
phone_number: String,
|
|
11
|
+
test_mode: T::Boolean,
|
|
12
|
+
idempotency_key: String,
|
|
13
13
|
request_options: Sentdm::RequestOptions::OrHash
|
|
14
|
-
).returns(Sentdm::
|
|
14
|
+
).returns(Sentdm::APIResponseContact)
|
|
15
15
|
end
|
|
16
|
-
def
|
|
17
|
-
#
|
|
18
|
-
|
|
19
|
-
#
|
|
20
|
-
|
|
16
|
+
def create(
|
|
17
|
+
# Body param: Phone number of the contact to create
|
|
18
|
+
phone_number: nil,
|
|
19
|
+
# Body param: Test mode flag - when true, the operation is simulated without side
|
|
20
|
+
# effects Useful for testing integrations without actual execution
|
|
21
|
+
test_mode: nil,
|
|
22
|
+
# Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
23
|
+
# alphanumeric characters, hyphens, or underscores. Responses are cached for 24
|
|
24
|
+
# hours per key per customer.
|
|
25
|
+
idempotency_key: nil,
|
|
21
26
|
request_options: {}
|
|
22
27
|
)
|
|
23
28
|
end
|
|
24
29
|
|
|
25
|
-
# Retrieves a contact by their
|
|
26
|
-
#
|
|
27
|
-
#
|
|
30
|
+
# Retrieves a specific contact by their unique identifier. Returns detailed
|
|
31
|
+
# contact information including phone formats, available channels, and opt-out
|
|
32
|
+
# status.
|
|
28
33
|
sig do
|
|
29
34
|
params(
|
|
30
|
-
|
|
35
|
+
id: String,
|
|
36
|
+
request_options: Sentdm::RequestOptions::OrHash
|
|
37
|
+
).returns(Sentdm::APIResponseContact)
|
|
38
|
+
end
|
|
39
|
+
def retrieve(
|
|
40
|
+
# Contact ID from route parameter
|
|
41
|
+
id,
|
|
42
|
+
request_options: {}
|
|
43
|
+
)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Updates a contact's default channel and/or opt-out status. Inherited contacts
|
|
47
|
+
# cannot be updated.
|
|
48
|
+
sig do
|
|
49
|
+
params(
|
|
50
|
+
id: String,
|
|
51
|
+
default_channel: T.nilable(String),
|
|
52
|
+
opt_out: T.nilable(T::Boolean),
|
|
53
|
+
test_mode: T::Boolean,
|
|
54
|
+
idempotency_key: String,
|
|
31
55
|
request_options: Sentdm::RequestOptions::OrHash
|
|
32
|
-
).returns(Sentdm::
|
|
56
|
+
).returns(Sentdm::APIResponseContact)
|
|
57
|
+
end
|
|
58
|
+
def update(
|
|
59
|
+
# Path param: Contact ID from route parameter
|
|
60
|
+
id,
|
|
61
|
+
# Body param: Default messaging channel: "sms" or "whatsapp"
|
|
62
|
+
default_channel: nil,
|
|
63
|
+
# Body param: Whether the contact has opted out of messaging
|
|
64
|
+
opt_out: nil,
|
|
65
|
+
# Body param: Test mode flag - when true, the operation is simulated without side
|
|
66
|
+
# effects Useful for testing integrations without actual execution
|
|
67
|
+
test_mode: nil,
|
|
68
|
+
# Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
69
|
+
# alphanumeric characters, hyphens, or underscores. Responses are cached for 24
|
|
70
|
+
# hours per key per customer.
|
|
71
|
+
idempotency_key: nil,
|
|
72
|
+
request_options: {}
|
|
73
|
+
)
|
|
33
74
|
end
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
75
|
+
|
|
76
|
+
# Retrieves a paginated list of contacts for the authenticated customer. Supports
|
|
77
|
+
# filtering by search term, channel, or phone number.
|
|
78
|
+
sig do
|
|
79
|
+
params(
|
|
80
|
+
page: Integer,
|
|
81
|
+
page_size: Integer,
|
|
82
|
+
channel: T.nilable(String),
|
|
83
|
+
phone: T.nilable(String),
|
|
84
|
+
search: T.nilable(String),
|
|
85
|
+
request_options: Sentdm::RequestOptions::OrHash
|
|
86
|
+
).returns(Sentdm::Models::ContactListResponse)
|
|
87
|
+
end
|
|
88
|
+
def list(
|
|
89
|
+
# Page number (1-indexed)
|
|
90
|
+
page:,
|
|
91
|
+
page_size:,
|
|
92
|
+
# Optional channel filter (sms, whatsapp)
|
|
93
|
+
channel: nil,
|
|
94
|
+
# Optional phone number filter (alternative to list view)
|
|
95
|
+
phone: nil,
|
|
96
|
+
# Optional search term for filtering contacts
|
|
97
|
+
search: nil,
|
|
37
98
|
request_options: {}
|
|
38
99
|
)
|
|
39
100
|
end
|
|
40
101
|
|
|
41
|
-
#
|
|
42
|
-
#
|
|
43
|
-
# detailed contact information including phone number and creation timestamp.
|
|
102
|
+
# Dissociates a contact from the authenticated customer. Inherited contacts cannot
|
|
103
|
+
# be deleted.
|
|
44
104
|
sig do
|
|
45
105
|
params(
|
|
46
106
|
id: String,
|
|
107
|
+
body: Sentdm::ContactDeleteParams::Body::OrHash,
|
|
47
108
|
request_options: Sentdm::RequestOptions::OrHash
|
|
48
|
-
).
|
|
109
|
+
).void
|
|
49
110
|
end
|
|
50
|
-
def
|
|
51
|
-
#
|
|
52
|
-
id
|
|
111
|
+
def delete(
|
|
112
|
+
# Contact ID from route parameter
|
|
113
|
+
id,
|
|
114
|
+
# Request to delete/dissociate a contact
|
|
115
|
+
body:,
|
|
53
116
|
request_options: {}
|
|
54
117
|
)
|
|
55
118
|
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Resources
|
|
5
|
+
class Lookup
|
|
6
|
+
# Validates a phone number and retrieves formatting, country, and timezone
|
|
7
|
+
# information from the internal index. Provider-agnostic and works for all
|
|
8
|
+
# customers.
|
|
9
|
+
sig do
|
|
10
|
+
params(
|
|
11
|
+
phone_number: String,
|
|
12
|
+
request_options: Sentdm::RequestOptions::OrHash
|
|
13
|
+
).returns(Sentdm::Models::LookupRetrievePhoneInfoResponse)
|
|
14
|
+
end
|
|
15
|
+
def retrieve_phone_info(phone_number, request_options: {})
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# @api private
|
|
19
|
+
sig { params(client: Sentdm::Client).returns(T.attached_class) }
|
|
20
|
+
def self.new(client:)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Resources
|
|
5
|
+
class Me
|
|
6
|
+
# Returns the account associated with the API key. For organization API keys,
|
|
7
|
+
# returns the organization with its profiles. For profile API keys, returns the
|
|
8
|
+
# profile with its settings.
|
|
9
|
+
sig do
|
|
10
|
+
params(request_options: Sentdm::RequestOptions::OrHash).returns(
|
|
11
|
+
Sentdm::Models::MeRetrieveResponse
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
def retrieve(request_options: {})
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# @api private
|
|
18
|
+
sig { params(client: Sentdm::Client).returns(T.attached_class) }
|
|
19
|
+
def self.new(client:)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -3,87 +3,68 @@
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Resources
|
|
5
5
|
class Messages
|
|
6
|
-
# Retrieves
|
|
7
|
-
#
|
|
8
|
-
# template details, contact information, and pricing. The customer ID is extracted
|
|
9
|
-
# from the authentication token to ensure the message belongs to the authenticated
|
|
10
|
-
# customer.
|
|
6
|
+
# Retrieves the activity log for a specific message. Activities track the message
|
|
7
|
+
# lifecycle including acceptance, processing, sending, delivery, and any errors.
|
|
11
8
|
sig do
|
|
12
9
|
params(
|
|
13
10
|
id: String,
|
|
14
11
|
request_options: Sentdm::RequestOptions::OrHash
|
|
15
|
-
).returns(Sentdm::Models::
|
|
12
|
+
).returns(Sentdm::Models::MessageRetrieveActivitiesResponse)
|
|
16
13
|
end
|
|
17
|
-
def
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
# Sends a message to a phone number using the default template. This endpoint is
|
|
21
|
-
# rate limited to 5 messages per customer per day. The customer ID is extracted
|
|
22
|
-
# from the authentication token.
|
|
23
|
-
sig do
|
|
24
|
-
params(
|
|
25
|
-
custom_message: String,
|
|
26
|
-
phone_number: String,
|
|
27
|
-
request_options: Sentdm::RequestOptions::OrHash
|
|
28
|
-
).void
|
|
29
|
-
end
|
|
30
|
-
def send_quick_message(
|
|
31
|
-
# The custom message content to include in the template
|
|
32
|
-
custom_message:,
|
|
33
|
-
# The phone number to send the message to, in international format (e.g.,
|
|
34
|
-
# +1234567890)
|
|
35
|
-
phone_number:,
|
|
14
|
+
def retrieve_activities(
|
|
15
|
+
# Message ID from route parameter
|
|
16
|
+
id,
|
|
36
17
|
request_options: {}
|
|
37
18
|
)
|
|
38
19
|
end
|
|
39
20
|
|
|
40
|
-
#
|
|
41
|
-
#
|
|
42
|
-
# a webhook URL to receive delivery status updates. The customer ID is extracted
|
|
43
|
-
# from the authentication token.
|
|
21
|
+
# Retrieves the current status and details of a message by ID. Includes delivery
|
|
22
|
+
# status, timestamps, and error information if applicable.
|
|
44
23
|
sig do
|
|
45
24
|
params(
|
|
46
|
-
|
|
47
|
-
template_id: String,
|
|
48
|
-
template_variables: T.nilable(T::Hash[Symbol, String]),
|
|
25
|
+
id: String,
|
|
49
26
|
request_options: Sentdm::RequestOptions::OrHash
|
|
50
|
-
).
|
|
27
|
+
).returns(Sentdm::Models::MessageRetrieveStatusResponse)
|
|
51
28
|
end
|
|
52
|
-
def
|
|
53
|
-
#
|
|
54
|
-
|
|
55
|
-
# The unique identifier of the template to use for the message
|
|
56
|
-
template_id:,
|
|
57
|
-
# Optional key-value pairs of template variables to replace in the template body.
|
|
58
|
-
# For example, if your template contains "Hello {{name}}", you would provide {
|
|
59
|
-
# "name": "John Doe" }
|
|
60
|
-
template_variables: nil,
|
|
29
|
+
def retrieve_status(
|
|
30
|
+
# Message ID
|
|
31
|
+
id,
|
|
61
32
|
request_options: {}
|
|
62
33
|
)
|
|
63
34
|
end
|
|
64
35
|
|
|
65
|
-
# Sends a message to
|
|
66
|
-
#
|
|
67
|
-
#
|
|
68
|
-
#
|
|
36
|
+
# Sends a message to one or more recipients using a template. Supports
|
|
37
|
+
# multi-channel broadcast — when multiple channels are specified (e.g. ["sms",
|
|
38
|
+
# "whatsapp"]), a separate message is created for each (recipient, channel) pair.
|
|
39
|
+
# Returns immediately with per-recipient message IDs for async tracking via
|
|
40
|
+
# webhooks or the GET /messages/{id} endpoint.
|
|
69
41
|
sig do
|
|
70
42
|
params(
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
43
|
+
channel: T.nilable(T::Array[String]),
|
|
44
|
+
template: Sentdm::MessageSendParams::Template::OrHash,
|
|
45
|
+
test_mode: T::Boolean,
|
|
46
|
+
to: T::Array[String],
|
|
47
|
+
idempotency_key: String,
|
|
74
48
|
request_options: Sentdm::RequestOptions::OrHash
|
|
75
|
-
).
|
|
49
|
+
).returns(Sentdm::Models::MessageSendResponse)
|
|
76
50
|
end
|
|
77
|
-
def
|
|
78
|
-
#
|
|
79
|
-
#
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
#
|
|
85
|
-
#
|
|
86
|
-
|
|
51
|
+
def send_(
|
|
52
|
+
# Body param: Channels to broadcast on, e.g. ["whatsapp", "sms"]. Each channel
|
|
53
|
+
# produces a separate message per recipient. "sent" = auto-detect, "rcs" =
|
|
54
|
+
# reserved (skipped). Defaults to ["sent"] (auto-detect) if omitted.
|
|
55
|
+
channel: nil,
|
|
56
|
+
# Body param: Template reference (by id or name, with optional parameters)
|
|
57
|
+
template: nil,
|
|
58
|
+
# Body param: Test mode flag - when true, the operation is simulated without side
|
|
59
|
+
# effects Useful for testing integrations without actual execution
|
|
60
|
+
test_mode: nil,
|
|
61
|
+
# Body param: List of recipient phone numbers in E.164 format (multi-recipient
|
|
62
|
+
# fan-out)
|
|
63
|
+
to: nil,
|
|
64
|
+
# Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
65
|
+
# alphanumeric characters, hyphens, or underscores. Responses are cached for 24
|
|
66
|
+
# hours per key per customer.
|
|
67
|
+
idempotency_key: nil,
|
|
87
68
|
request_options: {}
|
|
88
69
|
)
|
|
89
70
|
end
|