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,144 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Resources
|
|
5
|
+
class Brands
|
|
6
|
+
class Campaigns
|
|
7
|
+
# Some parameter documentations has been truncated, see
|
|
8
|
+
# {Sentdm::Models::Brands::CampaignCreateParams} for more details.
|
|
9
|
+
#
|
|
10
|
+
# Creates a new campaign scoped under a specific brand. The campaign is linked to
|
|
11
|
+
# the specified brand. Each campaign must include at least one use case with
|
|
12
|
+
# sample messages.
|
|
13
|
+
#
|
|
14
|
+
# @overload create(brand_id, campaign:, test_mode: nil, idempotency_key: nil, request_options: {})
|
|
15
|
+
#
|
|
16
|
+
# @param brand_id [String] Path param: Brand ID from route
|
|
17
|
+
#
|
|
18
|
+
# @param campaign [Sentdm::Models::Brands::CampaignData] Body param: Campaign data
|
|
19
|
+
#
|
|
20
|
+
# @param test_mode [Boolean] Body param: Test mode flag - when true, the operation is simulated without side
|
|
21
|
+
#
|
|
22
|
+
# @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
23
|
+
#
|
|
24
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
25
|
+
#
|
|
26
|
+
# @return [Sentdm::Models::Brands::APIResponseTcrCampaignWithUseCases]
|
|
27
|
+
#
|
|
28
|
+
# @see Sentdm::Models::Brands::CampaignCreateParams
|
|
29
|
+
def create(brand_id, params)
|
|
30
|
+
parsed, options = Sentdm::Brands::CampaignCreateParams.dump_request(params)
|
|
31
|
+
header_params = {idempotency_key: "idempotency-key"}
|
|
32
|
+
@client.request(
|
|
33
|
+
method: :post,
|
|
34
|
+
path: ["v3/brands/%1$s/campaigns", brand_id],
|
|
35
|
+
headers: parsed.slice(*header_params.keys).transform_keys(header_params),
|
|
36
|
+
body: parsed.except(*header_params.keys),
|
|
37
|
+
model: Sentdm::Brands::APIResponseTcrCampaignWithUseCases,
|
|
38
|
+
options: options
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Some parameter documentations has been truncated, see
|
|
43
|
+
# {Sentdm::Models::Brands::CampaignUpdateParams} for more details.
|
|
44
|
+
#
|
|
45
|
+
# Updates an existing campaign scoped under a specific brand. Cannot update
|
|
46
|
+
# campaigns that have already been submitted to TCR.
|
|
47
|
+
#
|
|
48
|
+
# @overload update(campaign_id, brand_id:, campaign:, test_mode: nil, idempotency_key: nil, request_options: {})
|
|
49
|
+
#
|
|
50
|
+
# @param campaign_id [String] Path param: Campaign ID from route
|
|
51
|
+
#
|
|
52
|
+
# @param brand_id [String] Path param: Brand ID from route
|
|
53
|
+
#
|
|
54
|
+
# @param campaign [Sentdm::Models::Brands::CampaignData] Body param: Campaign data
|
|
55
|
+
#
|
|
56
|
+
# @param test_mode [Boolean] Body param: Test mode flag - when true, the operation is simulated without side
|
|
57
|
+
#
|
|
58
|
+
# @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
59
|
+
#
|
|
60
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
61
|
+
#
|
|
62
|
+
# @return [Sentdm::Models::Brands::APIResponseTcrCampaignWithUseCases]
|
|
63
|
+
#
|
|
64
|
+
# @see Sentdm::Models::Brands::CampaignUpdateParams
|
|
65
|
+
def update(campaign_id, params)
|
|
66
|
+
parsed, options = Sentdm::Brands::CampaignUpdateParams.dump_request(params)
|
|
67
|
+
brand_id =
|
|
68
|
+
parsed.delete(:brand_id) do
|
|
69
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
70
|
+
end
|
|
71
|
+
header_params = {idempotency_key: "idempotency-key"}
|
|
72
|
+
@client.request(
|
|
73
|
+
method: :put,
|
|
74
|
+
path: ["v3/brands/%1$s/campaigns/%2$s", brand_id, campaign_id],
|
|
75
|
+
headers: parsed.slice(*header_params.keys).transform_keys(header_params),
|
|
76
|
+
body: parsed.except(*header_params.keys),
|
|
77
|
+
model: Sentdm::Brands::APIResponseTcrCampaignWithUseCases,
|
|
78
|
+
options: options
|
|
79
|
+
)
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# Retrieves all campaigns linked to a specific brand, including their use cases
|
|
83
|
+
# and sample messages.
|
|
84
|
+
#
|
|
85
|
+
# @overload list(brand_id, request_options: {})
|
|
86
|
+
#
|
|
87
|
+
# @param brand_id [String] Brand ID from route
|
|
88
|
+
#
|
|
89
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
90
|
+
#
|
|
91
|
+
# @return [Sentdm::Models::Brands::CampaignListResponse]
|
|
92
|
+
#
|
|
93
|
+
# @see Sentdm::Models::Brands::CampaignListParams
|
|
94
|
+
def list(brand_id, params = {})
|
|
95
|
+
@client.request(
|
|
96
|
+
method: :get,
|
|
97
|
+
path: ["v3/brands/%1$s/campaigns", brand_id],
|
|
98
|
+
model: Sentdm::Models::Brands::CampaignListResponse,
|
|
99
|
+
options: params[:request_options]
|
|
100
|
+
)
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# Deletes a campaign by ID within a specific brand. The brand must belong to the
|
|
104
|
+
# authenticated customer.
|
|
105
|
+
#
|
|
106
|
+
# @overload delete(campaign_id, brand_id:, body:, request_options: {})
|
|
107
|
+
#
|
|
108
|
+
# @param campaign_id [String] Path param: Campaign ID from route parameter
|
|
109
|
+
#
|
|
110
|
+
# @param brand_id [String] Path param: Brand ID from route parameter
|
|
111
|
+
#
|
|
112
|
+
# @param body [Sentdm::Models::Brands::CampaignDeleteParams::Body] Body param: Request to delete a campaign from a brand
|
|
113
|
+
#
|
|
114
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
115
|
+
#
|
|
116
|
+
# @return [nil]
|
|
117
|
+
#
|
|
118
|
+
# @see Sentdm::Models::Brands::CampaignDeleteParams
|
|
119
|
+
def delete(campaign_id, params)
|
|
120
|
+
parsed, options = Sentdm::Brands::CampaignDeleteParams.dump_request(params)
|
|
121
|
+
brand_id =
|
|
122
|
+
parsed.delete(:brand_id) do
|
|
123
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
124
|
+
end
|
|
125
|
+
@client.request(
|
|
126
|
+
method: :delete,
|
|
127
|
+
path: ["v3/brands/%1$s/campaigns/%2$s", brand_id, campaign_id],
|
|
128
|
+
headers: {"content-type" => "*/*"},
|
|
129
|
+
body: parsed[:body],
|
|
130
|
+
model: NilClass,
|
|
131
|
+
options: options
|
|
132
|
+
)
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
# @api private
|
|
136
|
+
#
|
|
137
|
+
# @param client [Sentdm::Client]
|
|
138
|
+
def initialize(client:)
|
|
139
|
+
@client = client
|
|
140
|
+
end
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
end
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Resources
|
|
5
|
+
class Brands
|
|
6
|
+
# @return [Sentdm::Resources::Brands::Campaigns]
|
|
7
|
+
attr_reader :campaigns
|
|
8
|
+
|
|
9
|
+
# Some parameter documentations has been truncated, see
|
|
10
|
+
# {Sentdm::Models::BrandCreateParams} for more details.
|
|
11
|
+
#
|
|
12
|
+
# Creates a new brand and associated information. This endpoint automatically sets
|
|
13
|
+
# inheritTcrBrand=false when a brand is created.
|
|
14
|
+
#
|
|
15
|
+
# @overload create(brand:, test_mode: nil, idempotency_key: nil, request_options: {})
|
|
16
|
+
#
|
|
17
|
+
# @param brand [Sentdm::Models::BrandData] Body param: Brand and KYC information
|
|
18
|
+
#
|
|
19
|
+
# @param test_mode [Boolean] Body param: Test mode flag - when true, the operation is simulated without side
|
|
20
|
+
#
|
|
21
|
+
# @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
22
|
+
#
|
|
23
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
24
|
+
#
|
|
25
|
+
# @return [Sentdm::Models::APIResponseBrandWithKYC]
|
|
26
|
+
#
|
|
27
|
+
# @see Sentdm::Models::BrandCreateParams
|
|
28
|
+
def create(params)
|
|
29
|
+
parsed, options = Sentdm::BrandCreateParams.dump_request(params)
|
|
30
|
+
header_params = {idempotency_key: "idempotency-key"}
|
|
31
|
+
@client.request(
|
|
32
|
+
method: :post,
|
|
33
|
+
path: "v3/brands",
|
|
34
|
+
headers: parsed.slice(*header_params.keys).transform_keys(header_params),
|
|
35
|
+
body: parsed.except(*header_params.keys),
|
|
36
|
+
model: Sentdm::APIResponseBrandWithKYC,
|
|
37
|
+
options: options
|
|
38
|
+
)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# Some parameter documentations has been truncated, see
|
|
42
|
+
# {Sentdm::Models::BrandUpdateParams} for more details.
|
|
43
|
+
#
|
|
44
|
+
# Updates an existing brand and its associated information. Cannot update brands
|
|
45
|
+
# that have already been submitted to TCR or inherited brands.
|
|
46
|
+
#
|
|
47
|
+
# @overload update(brand_id, brand:, test_mode: nil, idempotency_key: nil, request_options: {})
|
|
48
|
+
#
|
|
49
|
+
# @param brand_id [String] Path param: Brand ID from route
|
|
50
|
+
#
|
|
51
|
+
# @param brand [Sentdm::Models::BrandData] Body param: Brand and KYC information
|
|
52
|
+
#
|
|
53
|
+
# @param test_mode [Boolean] Body param: Test mode flag - when true, the operation is simulated without side
|
|
54
|
+
#
|
|
55
|
+
# @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
56
|
+
#
|
|
57
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
58
|
+
#
|
|
59
|
+
# @return [Sentdm::Models::APIResponseBrandWithKYC]
|
|
60
|
+
#
|
|
61
|
+
# @see Sentdm::Models::BrandUpdateParams
|
|
62
|
+
def update(brand_id, params)
|
|
63
|
+
parsed, options = Sentdm::BrandUpdateParams.dump_request(params)
|
|
64
|
+
header_params = {idempotency_key: "idempotency-key"}
|
|
65
|
+
@client.request(
|
|
66
|
+
method: :put,
|
|
67
|
+
path: ["v3/brands/%1$s", brand_id],
|
|
68
|
+
headers: parsed.slice(*header_params.keys).transform_keys(header_params),
|
|
69
|
+
body: parsed.except(*header_params.keys),
|
|
70
|
+
model: Sentdm::APIResponseBrandWithKYC,
|
|
71
|
+
options: options
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# Retrieves all brands for the authenticated customer with information in a
|
|
76
|
+
# flattened structure. Includes inherited brands if inheritTcrBrand=true.
|
|
77
|
+
#
|
|
78
|
+
# @overload list(request_options: {})
|
|
79
|
+
#
|
|
80
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
81
|
+
#
|
|
82
|
+
# @return [Sentdm::Models::BrandListResponse]
|
|
83
|
+
#
|
|
84
|
+
# @see Sentdm::Models::BrandListParams
|
|
85
|
+
def list(params = {})
|
|
86
|
+
@client.request(
|
|
87
|
+
method: :get,
|
|
88
|
+
path: "v3/brands",
|
|
89
|
+
model: Sentdm::Models::BrandListResponse,
|
|
90
|
+
options: params[:request_options]
|
|
91
|
+
)
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# Delete a brand by ID. The brand must belong to the authenticated customer.
|
|
95
|
+
#
|
|
96
|
+
# @overload delete(brand_id, body:, request_options: {})
|
|
97
|
+
#
|
|
98
|
+
# @param brand_id [String] Brand ID from route parameter
|
|
99
|
+
#
|
|
100
|
+
# @param body [Sentdm::Models::BrandDeleteParams::Body] Request to delete a brand
|
|
101
|
+
#
|
|
102
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
103
|
+
#
|
|
104
|
+
# @return [nil]
|
|
105
|
+
#
|
|
106
|
+
# @see Sentdm::Models::BrandDeleteParams
|
|
107
|
+
def delete(brand_id, params)
|
|
108
|
+
parsed, options = Sentdm::BrandDeleteParams.dump_request(params)
|
|
109
|
+
@client.request(
|
|
110
|
+
method: :delete,
|
|
111
|
+
path: ["v3/brands/%1$s", brand_id],
|
|
112
|
+
headers: {"content-type" => "*/*"},
|
|
113
|
+
body: parsed[:body],
|
|
114
|
+
model: NilClass,
|
|
115
|
+
options: options
|
|
116
|
+
)
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
# @api private
|
|
120
|
+
#
|
|
121
|
+
# @param client [Sentdm::Client]
|
|
122
|
+
def initialize(client:)
|
|
123
|
+
@client = client
|
|
124
|
+
@campaigns = Sentdm::Resources::Brands::Campaigns.new(client: client)
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
end
|
|
@@ -3,76 +3,149 @@
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Resources
|
|
5
5
|
class Contacts
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
6
|
+
# Some parameter documentations has been truncated, see
|
|
7
|
+
# {Sentdm::Models::ContactCreateParams} for more details.
|
|
8
|
+
#
|
|
9
|
+
# Creates a new contact by phone number and associates it with the authenticated
|
|
10
|
+
# customer.
|
|
11
|
+
#
|
|
12
|
+
# @overload create(phone_number: nil, test_mode: nil, idempotency_key: nil, request_options: {})
|
|
9
13
|
#
|
|
10
|
-
# @
|
|
14
|
+
# @param phone_number [String] Body param: Phone number of the contact to create
|
|
11
15
|
#
|
|
12
|
-
# @param
|
|
16
|
+
# @param test_mode [Boolean] Body param: Test mode flag - when true, the operation is simulated without side
|
|
13
17
|
#
|
|
14
|
-
# @param
|
|
18
|
+
# @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
15
19
|
#
|
|
16
20
|
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
17
21
|
#
|
|
18
|
-
# @return [Sentdm::Models::
|
|
22
|
+
# @return [Sentdm::Models::APIResponseContact]
|
|
19
23
|
#
|
|
20
|
-
# @see Sentdm::Models::
|
|
21
|
-
def
|
|
22
|
-
parsed, options = Sentdm::
|
|
24
|
+
# @see Sentdm::Models::ContactCreateParams
|
|
25
|
+
def create(params = {})
|
|
26
|
+
parsed, options = Sentdm::ContactCreateParams.dump_request(params)
|
|
27
|
+
header_params = {idempotency_key: "idempotency-key"}
|
|
23
28
|
@client.request(
|
|
24
|
-
method: :
|
|
25
|
-
path: "
|
|
26
|
-
|
|
27
|
-
|
|
29
|
+
method: :post,
|
|
30
|
+
path: "v3/contacts",
|
|
31
|
+
headers: parsed.slice(*header_params.keys).transform_keys(header_params),
|
|
32
|
+
body: parsed.except(*header_params.keys),
|
|
33
|
+
model: Sentdm::APIResponseContact,
|
|
28
34
|
options: options
|
|
29
35
|
)
|
|
30
36
|
end
|
|
31
37
|
|
|
32
|
-
# Retrieves a contact by their
|
|
33
|
-
#
|
|
34
|
-
#
|
|
38
|
+
# Retrieves a specific contact by their unique identifier. Returns detailed
|
|
39
|
+
# contact information including phone formats, available channels, and opt-out
|
|
40
|
+
# status.
|
|
35
41
|
#
|
|
36
|
-
# @overload
|
|
42
|
+
# @overload retrieve(id, request_options: {})
|
|
37
43
|
#
|
|
38
|
-
# @param
|
|
44
|
+
# @param id [String] Contact ID from route parameter
|
|
39
45
|
#
|
|
40
46
|
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
41
47
|
#
|
|
42
|
-
# @return [Sentdm::Models::
|
|
48
|
+
# @return [Sentdm::Models::APIResponseContact]
|
|
43
49
|
#
|
|
44
|
-
# @see Sentdm::Models::
|
|
45
|
-
def
|
|
46
|
-
parsed, options = Sentdm::ContactRetrieveByPhoneParams.dump_request(params)
|
|
50
|
+
# @see Sentdm::Models::ContactRetrieveParams
|
|
51
|
+
def retrieve(id, params = {})
|
|
47
52
|
@client.request(
|
|
48
53
|
method: :get,
|
|
49
|
-
path: "
|
|
50
|
-
|
|
51
|
-
|
|
54
|
+
path: ["v3/contacts/%1$s", id],
|
|
55
|
+
model: Sentdm::APIResponseContact,
|
|
56
|
+
options: params[:request_options]
|
|
57
|
+
)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Some parameter documentations has been truncated, see
|
|
61
|
+
# {Sentdm::Models::ContactUpdateParams} for more details.
|
|
62
|
+
#
|
|
63
|
+
# Updates a contact's default channel and/or opt-out status. Inherited contacts
|
|
64
|
+
# cannot be updated.
|
|
65
|
+
#
|
|
66
|
+
# @overload update(id, default_channel: nil, opt_out: nil, test_mode: nil, idempotency_key: nil, request_options: {})
|
|
67
|
+
#
|
|
68
|
+
# @param id [String] Path param: Contact ID from route parameter
|
|
69
|
+
#
|
|
70
|
+
# @param default_channel [String, nil] Body param: Default messaging channel: "sms" or "whatsapp"
|
|
71
|
+
#
|
|
72
|
+
# @param opt_out [Boolean, nil] Body param: Whether the contact has opted out of messaging
|
|
73
|
+
#
|
|
74
|
+
# @param test_mode [Boolean] Body param: Test mode flag - when true, the operation is simulated without side
|
|
75
|
+
#
|
|
76
|
+
# @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
77
|
+
#
|
|
78
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
79
|
+
#
|
|
80
|
+
# @return [Sentdm::Models::APIResponseContact]
|
|
81
|
+
#
|
|
82
|
+
# @see Sentdm::Models::ContactUpdateParams
|
|
83
|
+
def update(id, params = {})
|
|
84
|
+
parsed, options = Sentdm::ContactUpdateParams.dump_request(params)
|
|
85
|
+
header_params = {idempotency_key: "idempotency-key"}
|
|
86
|
+
@client.request(
|
|
87
|
+
method: :patch,
|
|
88
|
+
path: ["v3/contacts/%1$s", id],
|
|
89
|
+
headers: parsed.slice(*header_params.keys).transform_keys(header_params),
|
|
90
|
+
body: parsed.except(*header_params.keys),
|
|
91
|
+
model: Sentdm::APIResponseContact,
|
|
52
92
|
options: options
|
|
53
93
|
)
|
|
54
94
|
end
|
|
55
95
|
|
|
56
|
-
# Retrieves a
|
|
57
|
-
#
|
|
58
|
-
#
|
|
96
|
+
# Retrieves a paginated list of contacts for the authenticated customer. Supports
|
|
97
|
+
# filtering by search term, channel, or phone number.
|
|
98
|
+
#
|
|
99
|
+
# @overload list(page:, page_size:, channel: nil, phone: nil, search: nil, request_options: {})
|
|
100
|
+
#
|
|
101
|
+
# @param page [Integer] Page number (1-indexed)
|
|
102
|
+
#
|
|
103
|
+
# @param page_size [Integer]
|
|
104
|
+
#
|
|
105
|
+
# @param channel [String, nil] Optional channel filter (sms, whatsapp)
|
|
59
106
|
#
|
|
60
|
-
# @
|
|
107
|
+
# @param phone [String, nil] Optional phone number filter (alternative to list view)
|
|
61
108
|
#
|
|
62
|
-
# @param
|
|
109
|
+
# @param search [String, nil] Optional search term for filtering contacts
|
|
63
110
|
#
|
|
64
111
|
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
65
112
|
#
|
|
66
|
-
# @return [Sentdm::Models::
|
|
113
|
+
# @return [Sentdm::Models::ContactListResponse]
|
|
67
114
|
#
|
|
68
|
-
# @see Sentdm::Models::
|
|
69
|
-
def
|
|
70
|
-
parsed, options = Sentdm::
|
|
115
|
+
# @see Sentdm::Models::ContactListParams
|
|
116
|
+
def list(params)
|
|
117
|
+
parsed, options = Sentdm::ContactListParams.dump_request(params)
|
|
71
118
|
@client.request(
|
|
72
119
|
method: :get,
|
|
73
|
-
path: "
|
|
74
|
-
query: parsed,
|
|
75
|
-
model: Sentdm::
|
|
120
|
+
path: "v3/contacts",
|
|
121
|
+
query: parsed.transform_keys(page_size: "pageSize"),
|
|
122
|
+
model: Sentdm::Models::ContactListResponse,
|
|
123
|
+
options: options
|
|
124
|
+
)
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
# Dissociates a contact from the authenticated customer. Inherited contacts cannot
|
|
128
|
+
# be deleted.
|
|
129
|
+
#
|
|
130
|
+
# @overload delete(id, body:, request_options: {})
|
|
131
|
+
#
|
|
132
|
+
# @param id [String] Contact ID from route parameter
|
|
133
|
+
#
|
|
134
|
+
# @param body [Sentdm::Models::ContactDeleteParams::Body] Request to delete/dissociate a contact
|
|
135
|
+
#
|
|
136
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
137
|
+
#
|
|
138
|
+
# @return [nil]
|
|
139
|
+
#
|
|
140
|
+
# @see Sentdm::Models::ContactDeleteParams
|
|
141
|
+
def delete(id, params)
|
|
142
|
+
parsed, options = Sentdm::ContactDeleteParams.dump_request(params)
|
|
143
|
+
@client.request(
|
|
144
|
+
method: :delete,
|
|
145
|
+
path: ["v3/contacts/%1$s", id],
|
|
146
|
+
headers: {"content-type" => "*/*"},
|
|
147
|
+
body: parsed[:body],
|
|
148
|
+
model: NilClass,
|
|
76
149
|
options: options
|
|
77
150
|
)
|
|
78
151
|
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
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
|
+
#
|
|
10
|
+
# @overload retrieve_phone_info(phone_number, request_options: {})
|
|
11
|
+
#
|
|
12
|
+
# @param phone_number [String]
|
|
13
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
14
|
+
#
|
|
15
|
+
# @return [Sentdm::Models::LookupRetrievePhoneInfoResponse]
|
|
16
|
+
#
|
|
17
|
+
# @see Sentdm::Models::LookupRetrievePhoneInfoParams
|
|
18
|
+
def retrieve_phone_info(phone_number, params = {})
|
|
19
|
+
@client.request(
|
|
20
|
+
method: :get,
|
|
21
|
+
path: ["v3/lookup/number/%1$s", phone_number],
|
|
22
|
+
model: Sentdm::Models::LookupRetrievePhoneInfoResponse,
|
|
23
|
+
options: params[:request_options]
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# @api private
|
|
28
|
+
#
|
|
29
|
+
# @param client [Sentdm::Client]
|
|
30
|
+
def initialize(client:)
|
|
31
|
+
@client = client
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
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
|
+
#
|
|
10
|
+
# @overload retrieve(request_options: {})
|
|
11
|
+
#
|
|
12
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
13
|
+
#
|
|
14
|
+
# @return [Sentdm::Models::MeRetrieveResponse]
|
|
15
|
+
#
|
|
16
|
+
# @see Sentdm::Models::MeRetrieveParams
|
|
17
|
+
def retrieve(params = {})
|
|
18
|
+
@client.request(
|
|
19
|
+
method: :get,
|
|
20
|
+
path: "v3/me",
|
|
21
|
+
model: Sentdm::Models::MeRetrieveResponse,
|
|
22
|
+
options: params[:request_options]
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# @api private
|
|
27
|
+
#
|
|
28
|
+
# @param client [Sentdm::Client]
|
|
29
|
+
def initialize(client:)
|
|
30
|
+
@client = client
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|