sentdm 0.26.0 → 0.28.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 +40 -0
- data/README.md +1 -27
- data/lib/sentdm/client.rb +71 -8
- data/lib/sentdm/internal/type/base_model.rb +5 -5
- data/lib/sentdm/models/contact_create_response.rb +249 -0
- data/lib/sentdm/models/contact_delete_params.rb +16 -2
- data/lib/sentdm/models/contact_list_response.rb +299 -16
- data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +186 -0
- data/lib/sentdm/models/contact_retrieve_response.rb +249 -0
- data/lib/sentdm/models/contact_update_response.rb +249 -0
- data/lib/sentdm/models/conversation_list_messages_response.rb +436 -0
- data/lib/sentdm/models/conversation_list_response.rb +433 -0
- data/lib/sentdm/models/inbound_message_event.rb +52 -0
- data/lib/sentdm/models/inbound_message_event_payload.rb +81 -0
- data/lib/sentdm/models/me_retrieve_response.rb +242 -12
- data/lib/sentdm/models/message_event.rb +53 -0
- data/lib/sentdm/models/message_event_payload.rb +92 -0
- data/lib/sentdm/models/message_retrieve_activities_response.rb +165 -7
- data/lib/sentdm/models/message_retrieve_status_response.rb +74 -6
- data/lib/sentdm/models/message_send_response.rb +113 -28
- data/lib/sentdm/models/number_lookup_response.rb +74 -6
- data/lib/sentdm/models/profile_complete_response.rb +74 -6
- data/lib/sentdm/models/profile_create_params.rb +378 -26
- data/lib/sentdm/models/profile_create_response.rb +760 -0
- data/lib/sentdm/models/profile_delete_params.rb +16 -2
- data/lib/sentdm/models/profile_list_response.rb +825 -14
- data/lib/sentdm/models/profile_retrieve_response.rb +762 -0
- data/lib/sentdm/models/profile_update_params.rb +391 -24
- data/lib/sentdm/models/profile_update_response.rb +760 -0
- data/lib/sentdm/models/profiles/campaign_create_params.rb +156 -3
- data/lib/sentdm/models/profiles/campaign_create_response.rb +420 -0
- data/lib/sentdm/models/profiles/campaign_delete_params.rb +17 -2
- data/lib/sentdm/models/profiles/campaign_list_response.rb +421 -0
- data/lib/sentdm/models/profiles/campaign_update_params.rb +156 -3
- data/lib/sentdm/models/profiles/campaign_update_response.rb +420 -0
- data/lib/sentdm/models/template_create_response.rb +209 -0
- data/lib/sentdm/models/template_event.rb +52 -0
- data/lib/sentdm/models/template_event_payload.rb +88 -0
- data/lib/sentdm/models/template_list_params.rb +9 -2
- data/lib/sentdm/models/template_list_response.rb +262 -16
- data/lib/sentdm/models/template_retrieve_response.rb +209 -0
- data/lib/sentdm/models/template_update_response.rb +209 -0
- data/lib/sentdm/models/user_invite_response.rb +201 -0
- data/lib/sentdm/models/user_list_response.rb +259 -14
- data/lib/sentdm/models/user_remove_params.rb +16 -2
- data/lib/sentdm/models/user_retrieve_response.rb +201 -0
- data/lib/sentdm/models/user_update_role_response.rb +201 -0
- data/lib/sentdm/models/webhook_create_response.rb +229 -0
- data/lib/sentdm/models/webhook_list_event_types_response.rb +213 -13
- data/lib/sentdm/models/webhook_list_events_response.rb +207 -16
- data/lib/sentdm/models/webhook_list_response.rb +280 -15
- data/lib/sentdm/models/webhook_retrieve_response.rb +229 -0
- data/lib/sentdm/models/webhook_rotate_secret_params.rb +17 -2
- data/lib/sentdm/models/webhook_rotate_secret_response.rb +74 -6
- data/lib/sentdm/models/webhook_test_response.rb +74 -6
- data/lib/sentdm/models/webhook_toggle_status_response.rb +229 -0
- data/lib/sentdm/models/webhook_update_response.rb +229 -0
- data/lib/sentdm/models.rb +11 -51
- data/lib/sentdm/resources/contacts.rb +30 -13
- data/lib/sentdm/resources/conversations.rb +12 -4
- data/lib/sentdm/resources/me.rb +6 -1
- data/lib/sentdm/resources/messages.rb +17 -5
- data/lib/sentdm/resources/numbers.rb +6 -1
- data/lib/sentdm/resources/profiles/campaigns.rb +47 -9
- data/lib/sentdm/resources/profiles.rb +137 -61
- data/lib/sentdm/resources/templates.rb +14 -8
- data/lib/sentdm/resources/users.rb +15 -10
- data/lib/sentdm/resources/webhooks.rb +19 -9
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +28 -32
- data/rbi/sentdm/client.rbi +71 -8
- data/rbi/sentdm/models/contact_create_response.rbi +407 -0
- data/rbi/sentdm/models/contact_delete_params.rbi +19 -2
- data/rbi/sentdm/models/contact_list_response.rbi +527 -21
- data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +397 -0
- data/rbi/sentdm/models/contact_retrieve_response.rbi +409 -0
- data/rbi/sentdm/models/contact_update_response.rbi +407 -0
- data/rbi/sentdm/models/conversation_list_messages_response.rbi +843 -0
- data/rbi/sentdm/models/conversation_list_response.rbi +819 -0
- data/rbi/sentdm/models/inbound_message_event.rbi +88 -0
- data/rbi/sentdm/models/inbound_message_event_payload.rbi +122 -0
- data/rbi/sentdm/models/me_retrieve_response.rbi +367 -16
- data/rbi/sentdm/models/message_event.rbi +86 -0
- data/rbi/sentdm/models/message_event_payload.rbi +132 -0
- data/rbi/sentdm/models/message_retrieve_activities_response.rbi +335 -11
- data/rbi/sentdm/models/message_retrieve_status_response.rbi +148 -8
- data/rbi/sentdm/models/message_send_response.rbi +178 -32
- data/rbi/sentdm/models/number_lookup_response.rbi +135 -8
- data/rbi/sentdm/models/profile_complete_response.rbi +137 -8
- data/rbi/sentdm/models/profile_create_params.rbi +592 -42
- data/rbi/sentdm/models/profile_create_response.rbi +1226 -0
- data/rbi/sentdm/models/profile_delete_params.rbi +19 -2
- data/rbi/sentdm/models/profile_list_response.rbi +1366 -18
- data/rbi/sentdm/models/profile_retrieve_response.rbi +1230 -0
- data/rbi/sentdm/models/profile_update_params.rbi +610 -30
- data/rbi/sentdm/models/profile_update_response.rbi +1226 -0
- data/rbi/sentdm/models/profiles/campaign_create_params.rbi +218 -4
- data/rbi/sentdm/models/profiles/campaign_create_response.rbi +674 -0
- data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +14 -1
- data/rbi/sentdm/models/profiles/campaign_list_response.rbi +667 -0
- data/rbi/sentdm/models/profiles/campaign_update_params.rbi +218 -4
- data/rbi/sentdm/models/profiles/campaign_update_response.rbi +674 -0
- data/rbi/sentdm/models/template_create_response.rbi +349 -0
- data/rbi/sentdm/models/template_event.rbi +84 -0
- data/rbi/sentdm/models/template_event_payload.rbi +131 -0
- data/rbi/sentdm/models/template_list_params.rbi +10 -2
- data/rbi/sentdm/models/template_list_response.rbi +469 -21
- data/rbi/sentdm/models/template_retrieve_response.rbi +355 -0
- data/rbi/sentdm/models/template_update_response.rbi +349 -0
- data/rbi/sentdm/models/user_invite_response.rbi +336 -0
- data/rbi/sentdm/models/user_list_response.rbi +463 -18
- data/rbi/sentdm/models/user_remove_params.rbi +19 -2
- data/rbi/sentdm/models/user_retrieve_response.rbi +336 -0
- data/rbi/sentdm/models/user_update_role_response.rbi +341 -0
- data/rbi/sentdm/models/webhook_create_response.rbi +361 -0
- data/rbi/sentdm/models/webhook_list_event_types_response.rbi +433 -16
- data/rbi/sentdm/models/webhook_list_events_response.rbi +379 -19
- data/rbi/sentdm/models/webhook_list_response.rbi +480 -19
- data/rbi/sentdm/models/webhook_retrieve_response.rbi +363 -0
- data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +14 -1
- data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +148 -8
- data/rbi/sentdm/models/webhook_test_response.rbi +135 -8
- data/rbi/sentdm/models/webhook_toggle_status_response.rbi +379 -0
- data/rbi/sentdm/models/webhook_update_response.rbi +361 -0
- data/rbi/sentdm/models.rbi +11 -53
- data/rbi/sentdm/resources/contacts.rbi +24 -9
- data/rbi/sentdm/resources/conversations.rbi +10 -2
- data/rbi/sentdm/resources/me.rbi +6 -1
- data/rbi/sentdm/resources/messages.rbi +17 -5
- data/rbi/sentdm/resources/numbers.rbi +6 -1
- data/rbi/sentdm/resources/profiles/campaigns.rbi +36 -6
- data/rbi/sentdm/resources/profiles.rbi +177 -68
- data/rbi/sentdm/resources/templates.rbi +15 -5
- data/rbi/sentdm/resources/users.rbi +12 -6
- data/rbi/sentdm/resources/webhooks.rbi +15 -5
- data/sig/sentdm/models/contact_create_response.rbs +216 -0
- data/sig/sentdm/models/contact_delete_params.rbs +10 -6
- data/sig/sentdm/models/contact_list_response.rbs +263 -20
- data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +182 -0
- data/sig/sentdm/models/contact_retrieve_response.rbs +216 -0
- data/sig/sentdm/models/contact_update_response.rbs +216 -0
- data/sig/sentdm/models/conversation_list_messages_response.rbs +404 -0
- data/sig/sentdm/models/conversation_list_response.rbs +404 -0
- data/sig/sentdm/models/inbound_message_event.rbs +39 -0
- data/sig/sentdm/models/inbound_message_event_payload.rbs +69 -0
- data/sig/sentdm/models/me_retrieve_response.rbs +176 -18
- data/sig/sentdm/models/message_event.rbs +39 -0
- data/sig/sentdm/models/message_event_payload.rbs +72 -0
- data/sig/sentdm/models/message_retrieve_activities_response.rbs +147 -12
- data/sig/sentdm/models/message_retrieve_status_response.rbs +71 -9
- data/sig/sentdm/models/message_send_response.rbs +71 -9
- data/sig/sentdm/models/number_lookup_response.rbs +71 -9
- data/sig/sentdm/models/profile_complete_response.rbs +71 -9
- data/sig/sentdm/models/profile_create_params.rbs +271 -24
- data/sig/sentdm/models/profile_create_response.rbs +559 -0
- data/sig/sentdm/models/profile_delete_params.rbs +10 -6
- data/sig/sentdm/models/profile_list_response.rbs +615 -15
- data/sig/sentdm/models/profile_retrieve_response.rbs +559 -0
- data/sig/sentdm/models/profile_update_params.rbs +263 -12
- data/sig/sentdm/models/profile_update_response.rbs +559 -0
- data/sig/sentdm/models/profiles/campaign_create_params.rbs +108 -4
- data/sig/sentdm/models/profiles/campaign_create_response.rbs +357 -0
- data/sig/sentdm/models/profiles/campaign_delete_params.rbs +15 -8
- data/sig/sentdm/models/profiles/campaign_list_response.rbs +357 -0
- data/sig/sentdm/models/profiles/campaign_update_params.rbs +108 -4
- data/sig/sentdm/models/profiles/campaign_update_response.rbs +357 -0
- data/sig/sentdm/models/template_create_response.rbs +182 -0
- data/sig/sentdm/models/template_event.rbs +39 -0
- data/sig/sentdm/models/template_event_payload.rbs +76 -0
- data/sig/sentdm/models/template_list_response.rbs +230 -19
- data/sig/sentdm/models/template_retrieve_response.rbs +182 -0
- data/sig/sentdm/models/template_update_response.rbs +182 -0
- data/sig/sentdm/models/user_invite_response.rbs +177 -0
- data/sig/sentdm/models/user_list_response.rbs +233 -15
- data/sig/sentdm/models/user_remove_params.rbs +10 -6
- data/sig/sentdm/models/user_retrieve_response.rbs +177 -0
- data/sig/sentdm/models/user_update_role_response.rbs +177 -0
- data/sig/sentdm/models/webhook_create_response.rbs +208 -0
- data/sig/sentdm/models/webhook_list_event_types_response.rbs +203 -15
- data/sig/sentdm/models/webhook_list_events_response.rbs +160 -19
- data/sig/sentdm/models/webhook_list_response.rbs +255 -20
- data/sig/sentdm/models/webhook_retrieve_response.rbs +208 -0
- data/sig/sentdm/models/webhook_rotate_secret_params.rbs +17 -8
- data/sig/sentdm/models/webhook_rotate_secret_response.rbs +71 -9
- data/sig/sentdm/models/webhook_test_response.rbs +71 -9
- data/sig/sentdm/models/webhook_toggle_status_response.rbs +208 -0
- data/sig/sentdm/models/webhook_update_response.rbs +208 -0
- data/sig/sentdm/models.rbs +11 -51
- data/sig/sentdm/resources/contacts.rbs +4 -4
- data/sig/sentdm/resources/conversations.rbs +2 -2
- data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
- data/sig/sentdm/resources/profiles.rbs +11 -11
- data/sig/sentdm/resources/templates.rbs +3 -3
- data/sig/sentdm/resources/users.rbs +3 -3
- data/sig/sentdm/resources/webhooks.rbs +4 -4
- metadata +86 -98
- data/lib/sentdm/models/api_meta.rb +0 -34
- data/lib/sentdm/models/api_response_of_contact.rb +0 -46
- data/lib/sentdm/models/api_response_of_contact_message_summary.rb +0 -43
- data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +0 -43
- data/lib/sentdm/models/api_response_of_profile_detail.rb +0 -43
- data/lib/sentdm/models/api_response_of_user.rb +0 -43
- data/lib/sentdm/models/api_response_template.rb +0 -43
- data/lib/sentdm/models/api_response_webhook.rb +0 -43
- data/lib/sentdm/models/billing_contact_info.rb +0 -47
- data/lib/sentdm/models/brand_business_info.rb +0 -114
- data/lib/sentdm/models/brand_compliance_info.rb +0 -67
- data/lib/sentdm/models/brand_contact_info.rb +0 -58
- data/lib/sentdm/models/brands_brand_data.rb +0 -34
- data/lib/sentdm/models/contact_message_summary.rb +0 -76
- data/lib/sentdm/models/contact_response.rb +0 -126
- data/lib/sentdm/models/conversation_messages_list.rb +0 -245
- data/lib/sentdm/models/error_detail.rb +0 -42
- data/lib/sentdm/models/mutation_request.rb +0 -20
- data/lib/sentdm/models/pagination_meta.rb +0 -80
- data/lib/sentdm/models/payment_details.rb +0 -44
- data/lib/sentdm/models/profile_detail.rb +0 -597
- data/lib/sentdm/models/profile_settings.rb +0 -66
- data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +0 -45
- data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +0 -45
- data/lib/sentdm/models/profiles/brand_campaign.rb +0 -247
- data/lib/sentdm/models/profiles/campaign_data.rb +0 -130
- data/lib/sentdm/models/profiles/campaign_use_case.rb +0 -71
- data/lib/sentdm/models/profiles/campaign_use_case_data.rb +0 -29
- data/lib/sentdm/models/template.rb +0 -90
- data/lib/sentdm/models/user_response.rb +0 -82
- data/lib/sentdm/models/webhook_event_type.rb +0 -45
- data/lib/sentdm/models/webhook_response.rb +0 -95
- data/rbi/sentdm/models/api_meta.rbi +0 -55
- data/rbi/sentdm/models/api_response_of_contact.rbi +0 -74
- data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +0 -79
- data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +0 -79
- data/rbi/sentdm/models/api_response_of_profile_detail.rbi +0 -74
- data/rbi/sentdm/models/api_response_of_user.rbi +0 -74
- data/rbi/sentdm/models/api_response_template.rbi +0 -74
- data/rbi/sentdm/models/api_response_webhook.rbi +0 -74
- data/rbi/sentdm/models/billing_contact_info.rbi +0 -65
- data/rbi/sentdm/models/brand_business_info.rbi +0 -162
- data/rbi/sentdm/models/brand_compliance_info.rbi +0 -84
- data/rbi/sentdm/models/brand_contact_info.rbi +0 -78
- data/rbi/sentdm/models/brands_brand_data.rbi +0 -65
- data/rbi/sentdm/models/contact_message_summary.rbi +0 -144
- data/rbi/sentdm/models/contact_response.rbi +0 -183
- data/rbi/sentdm/models/conversation_messages_list.rbi +0 -419
- data/rbi/sentdm/models/error_detail.rbi +0 -66
- data/rbi/sentdm/models/mutation_request.rbi +0 -32
- data/rbi/sentdm/models/pagination_meta.rbi +0 -135
- data/rbi/sentdm/models/payment_details.rbi +0 -59
- data/rbi/sentdm/models/profile_detail.rbi +0 -866
- data/rbi/sentdm/models/profile_settings.rbi +0 -86
- data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +0 -81
- data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +0 -76
- data/rbi/sentdm/models/profiles/brand_campaign.rbi +0 -299
- data/rbi/sentdm/models/profiles/campaign_data.rbi +0 -146
- data/rbi/sentdm/models/profiles/campaign_use_case.rbi +0 -110
- data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +0 -51
- data/rbi/sentdm/models/template.rbi +0 -129
- data/rbi/sentdm/models/user_response.rbi +0 -118
- data/rbi/sentdm/models/webhook_event_type.rbi +0 -74
- data/rbi/sentdm/models/webhook_response.rbi +0 -140
- data/sig/sentdm/models/api_meta.rbs +0 -27
- data/sig/sentdm/models/api_response_of_contact.rbs +0 -39
- data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +0 -39
- data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +0 -39
- data/sig/sentdm/models/api_response_of_profile_detail.rbs +0 -39
- data/sig/sentdm/models/api_response_of_user.rbs +0 -39
- data/sig/sentdm/models/api_response_template.rbs +0 -39
- data/sig/sentdm/models/api_response_webhook.rbs +0 -39
- data/sig/sentdm/models/billing_contact_info.rbs +0 -30
- data/sig/sentdm/models/brand_business_info.rbs +0 -89
- data/sig/sentdm/models/brand_compliance_info.rbs +0 -50
- data/sig/sentdm/models/brand_contact_info.rbs +0 -45
- data/sig/sentdm/models/brands_brand_data.rbs +0 -30
- data/sig/sentdm/models/contact_message_summary.rbs +0 -84
- data/sig/sentdm/models/contact_response.rbs +0 -111
- data/sig/sentdm/models/conversation_messages_list.rbs +0 -240
- data/sig/sentdm/models/error_detail.rbs +0 -39
- data/sig/sentdm/models/mutation_request.rbs +0 -15
- data/sig/sentdm/models/pagination_meta.rbs +0 -67
- data/sig/sentdm/models/payment_details.rbs +0 -30
- data/sig/sentdm/models/profile_detail.rbs +0 -469
- data/sig/sentdm/models/profile_settings.rbs +0 -50
- data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +0 -41
- data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +0 -41
- data/sig/sentdm/models/profiles/brand_campaign.rbs +0 -194
- data/sig/sentdm/models/profiles/campaign_data.rbs +0 -87
- data/sig/sentdm/models/profiles/campaign_use_case.rbs +0 -66
- data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +0 -27
- data/sig/sentdm/models/template.rbs +0 -79
- data/sig/sentdm/models/user_response.rbs +0 -72
- data/sig/sentdm/models/webhook_event_type.rbs +0 -51
- data/sig/sentdm/models/webhook_response.rbs +0 -103
data/lib/sentdm.rb
CHANGED
|
@@ -52,37 +52,29 @@ require_relative "sentdm/errors"
|
|
|
52
52
|
require_relative "sentdm/internal/transport/base_client"
|
|
53
53
|
require_relative "sentdm/internal/transport/pooled_net_requester"
|
|
54
54
|
require_relative "sentdm/client"
|
|
55
|
-
require_relative "sentdm/models/mutation_request"
|
|
56
|
-
require_relative "sentdm/models/api_meta"
|
|
57
|
-
require_relative "sentdm/models/api_response_of_contact"
|
|
58
|
-
require_relative "sentdm/models/api_response_of_contact_message_summary"
|
|
59
|
-
require_relative "sentdm/models/api_response_of_conversation_messages_list"
|
|
60
|
-
require_relative "sentdm/models/api_response_of_profile_detail"
|
|
61
|
-
require_relative "sentdm/models/api_response_of_user"
|
|
62
|
-
require_relative "sentdm/models/api_response_template"
|
|
63
|
-
require_relative "sentdm/models/api_response_webhook"
|
|
64
55
|
require_relative "sentdm/models/authentication_config"
|
|
65
|
-
require_relative "sentdm/models/billing_contact_info"
|
|
66
|
-
require_relative "sentdm/models/brand_business_info"
|
|
67
|
-
require_relative "sentdm/models/brand_compliance_info"
|
|
68
|
-
require_relative "sentdm/models/brand_contact_info"
|
|
69
|
-
require_relative "sentdm/models/brands_brand_data"
|
|
70
56
|
require_relative "sentdm/models/contact_create_params"
|
|
57
|
+
require_relative "sentdm/models/contact_create_response"
|
|
71
58
|
require_relative "sentdm/models/contact_delete_params"
|
|
72
59
|
require_relative "sentdm/models/contact_list_params"
|
|
73
60
|
require_relative "sentdm/models/contact_list_response"
|
|
74
|
-
require_relative "sentdm/models/contact_message_summary"
|
|
75
|
-
require_relative "sentdm/models/contact_response"
|
|
76
61
|
require_relative "sentdm/models/contact_retrieve_message_summary_params"
|
|
62
|
+
require_relative "sentdm/models/contact_retrieve_message_summary_response"
|
|
77
63
|
require_relative "sentdm/models/contact_retrieve_params"
|
|
64
|
+
require_relative "sentdm/models/contact_retrieve_response"
|
|
78
65
|
require_relative "sentdm/models/contact_update_params"
|
|
66
|
+
require_relative "sentdm/models/contact_update_response"
|
|
79
67
|
require_relative "sentdm/models/conversation_list_messages_params"
|
|
68
|
+
require_relative "sentdm/models/conversation_list_messages_response"
|
|
80
69
|
require_relative "sentdm/models/conversation_list_params"
|
|
81
|
-
require_relative "sentdm/models/
|
|
70
|
+
require_relative "sentdm/models/conversation_list_response"
|
|
82
71
|
require_relative "sentdm/models/destination_country"
|
|
83
|
-
require_relative "sentdm/models/
|
|
72
|
+
require_relative "sentdm/models/inbound_message_event"
|
|
73
|
+
require_relative "sentdm/models/inbound_message_event_payload"
|
|
84
74
|
require_relative "sentdm/models/me_retrieve_params"
|
|
85
75
|
require_relative "sentdm/models/me_retrieve_response"
|
|
76
|
+
require_relative "sentdm/models/message_event"
|
|
77
|
+
require_relative "sentdm/models/message_event_payload"
|
|
86
78
|
require_relative "sentdm/models/message_retrieve_activities_params"
|
|
87
79
|
require_relative "sentdm/models/message_retrieve_activities_response"
|
|
88
80
|
require_relative "sentdm/models/message_retrieve_status_params"
|
|
@@ -91,70 +83,74 @@ require_relative "sentdm/models/message_send_params"
|
|
|
91
83
|
require_relative "sentdm/models/message_send_response"
|
|
92
84
|
require_relative "sentdm/models/number_lookup_params"
|
|
93
85
|
require_relative "sentdm/models/number_lookup_response"
|
|
94
|
-
require_relative "sentdm/models/pagination_meta"
|
|
95
|
-
require_relative "sentdm/models/payment_details"
|
|
96
86
|
require_relative "sentdm/models/profile_complete_params"
|
|
97
87
|
require_relative "sentdm/models/profile_complete_response"
|
|
98
88
|
require_relative "sentdm/models/profile_create_params"
|
|
89
|
+
require_relative "sentdm/models/profile_create_response"
|
|
99
90
|
require_relative "sentdm/models/profile_delete_params"
|
|
100
|
-
require_relative "sentdm/models/profile_detail"
|
|
101
91
|
require_relative "sentdm/models/profile_list_params"
|
|
102
92
|
require_relative "sentdm/models/profile_list_response"
|
|
103
93
|
require_relative "sentdm/models/profile_retrieve_params"
|
|
104
|
-
require_relative "sentdm/models/
|
|
105
|
-
require_relative "sentdm/models/profiles/api_response_of_list_of_brand_campaign"
|
|
106
|
-
require_relative "sentdm/models/profiles/brand_campaign"
|
|
94
|
+
require_relative "sentdm/models/profile_retrieve_response"
|
|
107
95
|
require_relative "sentdm/models/profiles/campaign_create_params"
|
|
108
|
-
require_relative "sentdm/models/profiles/
|
|
96
|
+
require_relative "sentdm/models/profiles/campaign_create_response"
|
|
109
97
|
require_relative "sentdm/models/profiles/campaign_delete_params"
|
|
110
98
|
require_relative "sentdm/models/profiles/campaign_list_params"
|
|
99
|
+
require_relative "sentdm/models/profiles/campaign_list_response"
|
|
111
100
|
require_relative "sentdm/models/profiles/campaign_update_params"
|
|
112
|
-
require_relative "sentdm/models/profiles/
|
|
113
|
-
require_relative "sentdm/models/profiles/campaign_use_case_data"
|
|
101
|
+
require_relative "sentdm/models/profiles/campaign_update_response"
|
|
114
102
|
require_relative "sentdm/models/profiles/messaging_use_case_us"
|
|
115
|
-
require_relative "sentdm/models/profile_settings"
|
|
116
103
|
require_relative "sentdm/models/profile_update_params"
|
|
104
|
+
require_relative "sentdm/models/profile_update_response"
|
|
117
105
|
require_relative "sentdm/models/tcr_brand_relationship"
|
|
118
106
|
require_relative "sentdm/models/tcr_vertical"
|
|
119
|
-
require_relative "sentdm/models/template"
|
|
120
107
|
require_relative "sentdm/models/template_body"
|
|
121
108
|
require_relative "sentdm/models/template_body_content"
|
|
122
109
|
require_relative "sentdm/models/template_button"
|
|
123
110
|
require_relative "sentdm/models/template_button_props"
|
|
124
111
|
require_relative "sentdm/models/template_create_params"
|
|
112
|
+
require_relative "sentdm/models/template_create_response"
|
|
125
113
|
require_relative "sentdm/models/template_definition"
|
|
126
114
|
require_relative "sentdm/models/template_delete_params"
|
|
115
|
+
require_relative "sentdm/models/template_event"
|
|
116
|
+
require_relative "sentdm/models/template_event_payload"
|
|
127
117
|
require_relative "sentdm/models/template_footer"
|
|
128
118
|
require_relative "sentdm/models/template_header"
|
|
129
119
|
require_relative "sentdm/models/template_list_params"
|
|
130
120
|
require_relative "sentdm/models/template_list_response"
|
|
131
121
|
require_relative "sentdm/models/template_retrieve_params"
|
|
122
|
+
require_relative "sentdm/models/template_retrieve_response"
|
|
132
123
|
require_relative "sentdm/models/template_update_params"
|
|
124
|
+
require_relative "sentdm/models/template_update_response"
|
|
133
125
|
require_relative "sentdm/models/template_variable"
|
|
134
126
|
require_relative "sentdm/models/user_invite_params"
|
|
127
|
+
require_relative "sentdm/models/user_invite_response"
|
|
135
128
|
require_relative "sentdm/models/user_list_params"
|
|
136
129
|
require_relative "sentdm/models/user_list_response"
|
|
137
130
|
require_relative "sentdm/models/user_remove_params"
|
|
138
|
-
require_relative "sentdm/models/user_response"
|
|
139
131
|
require_relative "sentdm/models/user_retrieve_params"
|
|
132
|
+
require_relative "sentdm/models/user_retrieve_response"
|
|
140
133
|
require_relative "sentdm/models/user_update_role_params"
|
|
134
|
+
require_relative "sentdm/models/user_update_role_response"
|
|
141
135
|
require_relative "sentdm/models/webhook_create_params"
|
|
136
|
+
require_relative "sentdm/models/webhook_create_response"
|
|
142
137
|
require_relative "sentdm/models/webhook_delete_params"
|
|
143
|
-
require_relative "sentdm/models/webhook_event_type"
|
|
144
138
|
require_relative "sentdm/models/webhook_list_events_params"
|
|
145
139
|
require_relative "sentdm/models/webhook_list_events_response"
|
|
146
140
|
require_relative "sentdm/models/webhook_list_event_types_params"
|
|
147
141
|
require_relative "sentdm/models/webhook_list_event_types_response"
|
|
148
142
|
require_relative "sentdm/models/webhook_list_params"
|
|
149
143
|
require_relative "sentdm/models/webhook_list_response"
|
|
150
|
-
require_relative "sentdm/models/webhook_response"
|
|
151
144
|
require_relative "sentdm/models/webhook_retrieve_params"
|
|
145
|
+
require_relative "sentdm/models/webhook_retrieve_response"
|
|
152
146
|
require_relative "sentdm/models/webhook_rotate_secret_params"
|
|
153
147
|
require_relative "sentdm/models/webhook_rotate_secret_response"
|
|
154
148
|
require_relative "sentdm/models/webhook_test_params"
|
|
155
149
|
require_relative "sentdm/models/webhook_test_response"
|
|
156
150
|
require_relative "sentdm/models/webhook_toggle_status_params"
|
|
151
|
+
require_relative "sentdm/models/webhook_toggle_status_response"
|
|
157
152
|
require_relative "sentdm/models/webhook_update_params"
|
|
153
|
+
require_relative "sentdm/models/webhook_update_response"
|
|
158
154
|
require_relative "sentdm/models"
|
|
159
155
|
require_relative "sentdm/resources/contacts"
|
|
160
156
|
require_relative "sentdm/resources/conversations"
|
data/rbi/sentdm/client.rbi
CHANGED
|
@@ -15,38 +15,101 @@ module Sentdm
|
|
|
15
15
|
sig { returns(String) }
|
|
16
16
|
attr_reader :api_key
|
|
17
17
|
|
|
18
|
-
#
|
|
18
|
+
# Delivery reports and inbound messages, pushed to you.
|
|
19
|
+
#
|
|
20
|
+
# Subscribe an endpoint to the event types you care about —
|
|
21
|
+
# `GET /v3/webhooks/event-types` lists them — and we POST each one as it happens,
|
|
22
|
+
# retrying on failure. Polling `GET /v3/messages/{id}` works and does not scale.
|
|
23
|
+
#
|
|
24
|
+
# **Verify the signature.** Every delivery is signed with your endpoint's secret;
|
|
25
|
+
# an unverified endpoint is one anybody can post to. `rotate-secret` replaces it,
|
|
26
|
+
# `test` sends a specimen event, and `GET /v3/webhooks/{id}/events` shows what we
|
|
27
|
+
# tried to deliver and what your endpoint answered — which is the first place to
|
|
28
|
+
# look when something appears to be missing.
|
|
19
29
|
sig { returns(Sentdm::Resources::Webhooks) }
|
|
20
30
|
attr_reader :webhooks
|
|
21
31
|
|
|
22
|
-
#
|
|
32
|
+
# The people who can sign in to your organization, and what each may do.
|
|
33
|
+
#
|
|
34
|
+
# Users are dashboard access and nothing else — they do not send, and removing one
|
|
35
|
+
# does not affect traffic. An API key is not a user: it belongs to the
|
|
36
|
+
# organization or to a sender profile, so revoking a person's access leaves your
|
|
37
|
+
# integration running.
|
|
23
38
|
sig { returns(Sentdm::Resources::Users) }
|
|
24
39
|
attr_reader :users
|
|
25
40
|
|
|
26
|
-
#
|
|
41
|
+
# Reusable message bodies with named variables.
|
|
42
|
+
#
|
|
43
|
+
# A template is substituted at send time from the values you pass, so the copy
|
|
44
|
+
# lives here rather than in your application. WhatsApp templates additionally need
|
|
45
|
+
# Meta's approval before they can be sent, and a template's channel status reports
|
|
46
|
+
# where that stands — an approved SMS template and an unapproved WhatsApp one are
|
|
47
|
+
# the same template in two states.
|
|
27
48
|
sig { returns(Sentdm::Resources::Templates) }
|
|
28
49
|
attr_reader :templates
|
|
29
50
|
|
|
30
|
-
#
|
|
51
|
+
# **Deprecated — use Sender Profiles.**
|
|
52
|
+
#
|
|
53
|
+
# The original profile resource, kept because it has live callers. It still works,
|
|
54
|
+
# and its replacement is `/v3/sender-profiles`, which takes the identity and the
|
|
55
|
+
# campaign in one call instead of across three.
|
|
56
|
+
#
|
|
57
|
+
# New integrations should not start here.
|
|
31
58
|
sig { returns(Sentdm::Resources::Profiles) }
|
|
32
59
|
attr_reader :profiles
|
|
33
60
|
|
|
34
|
-
#
|
|
61
|
+
# What a phone number actually is, before you send to it.
|
|
62
|
+
#
|
|
63
|
+
# A lookup returns the number's country, line type and carrier, which is what
|
|
64
|
+
# decides whether it is reachable on a channel and what it costs. Worth doing on
|
|
65
|
+
# import rather than on send: a landline in a contact list is a message that can
|
|
66
|
+
# never be delivered.
|
|
35
67
|
sig { returns(Sentdm::Resources::Numbers) }
|
|
36
68
|
attr_reader :numbers
|
|
37
69
|
|
|
38
|
-
# Send and
|
|
70
|
+
# Send a message and follow what happened to it.
|
|
71
|
+
#
|
|
72
|
+
# One endpoint sends on any channel: pass `channel: "sent"` and we pick between
|
|
73
|
+
# SMS, WhatsApp and RCS per recipient using your routing rules, or name a channel
|
|
74
|
+
# to pin it. A send is accepted asynchronously — `POST /v3/messages` returns an
|
|
75
|
+
# id, and delivery is reported through `GET /v3/messages/{id}`, its activities, or
|
|
76
|
+
# a webhook.
|
|
77
|
+
#
|
|
78
|
+
# **A message needs a sender.** What you can send, where, and at what cost is
|
|
79
|
+
# decided by the markets under **Channels** — so a recipient in a country you hold
|
|
80
|
+
# no sender for is refused here rather than queued.
|
|
39
81
|
sig { returns(Sentdm::Resources::Messages) }
|
|
40
82
|
attr_reader :messages
|
|
41
83
|
|
|
42
|
-
#
|
|
84
|
+
# The people you message, and their channel identities.
|
|
85
|
+
#
|
|
86
|
+
# A contact holds one identity per channel — a phone number, a WhatsApp number —
|
|
87
|
+
# so routing can choose between them for the same person. Opt-out is recorded
|
|
88
|
+
# against the contact and honoured on every send, whichever channel it came
|
|
89
|
+
# through.
|
|
90
|
+
#
|
|
91
|
+
# `GET /v3/contacts/{id}/message-summary` is the per-contact view of what you have
|
|
92
|
+
# sent and what happened to it.
|
|
43
93
|
sig { returns(Sentdm::Resources::Contacts) }
|
|
44
94
|
attr_reader :contacts
|
|
45
95
|
|
|
96
|
+
# Inbound and outbound messages, grouped by the person they are with.
|
|
97
|
+
#
|
|
98
|
+
# A conversation is the thread for one contact across every channel — a reply by
|
|
99
|
+
# SMS and one by WhatsApp belong to the same conversation, because they are the
|
|
100
|
+
# same person talking to you.
|
|
101
|
+
#
|
|
102
|
+
# Read-only. Sending is **Messages**; a reply arrives here and through your
|
|
103
|
+
# webhooks.
|
|
46
104
|
sig { returns(Sentdm::Resources::Conversations) }
|
|
47
105
|
attr_reader :conversations
|
|
48
106
|
|
|
49
|
-
#
|
|
107
|
+
# Who the current key is.
|
|
108
|
+
#
|
|
109
|
+
# `GET /v3/me` answers with the account the key authenticates as, which is the
|
|
110
|
+
# quickest way to tell a live key from a test one, an organization key from a
|
|
111
|
+
# sender profile's, and to confirm `x-profile-id` resolved to the profile you
|
|
112
|
+
# meant.
|
|
50
113
|
sig { returns(Sentdm::Resources::Me) }
|
|
51
114
|
attr_reader :me
|
|
52
115
|
|
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class ContactCreateResponse < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
Sentdm::Models::ContactCreateResponse,
|
|
10
|
+
Sentdm::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Contact response for v3 API Uses snake_case for JSON property names
|
|
15
|
+
sig { returns(T.nilable(Sentdm::Models::ContactCreateResponse::Data)) }
|
|
16
|
+
attr_reader :data
|
|
17
|
+
|
|
18
|
+
sig do
|
|
19
|
+
params(
|
|
20
|
+
data: T.nilable(Sentdm::Models::ContactCreateResponse::Data::OrHash)
|
|
21
|
+
).void
|
|
22
|
+
end
|
|
23
|
+
attr_writer :data
|
|
24
|
+
|
|
25
|
+
# Error information
|
|
26
|
+
sig { returns(T.nilable(Sentdm::Models::ContactCreateResponse::Error)) }
|
|
27
|
+
attr_reader :error
|
|
28
|
+
|
|
29
|
+
sig do
|
|
30
|
+
params(
|
|
31
|
+
error: T.nilable(Sentdm::Models::ContactCreateResponse::Error::OrHash)
|
|
32
|
+
).void
|
|
33
|
+
end
|
|
34
|
+
attr_writer :error
|
|
35
|
+
|
|
36
|
+
# Request and response metadata
|
|
37
|
+
sig { returns(T.nilable(Sentdm::Models::ContactCreateResponse::Meta)) }
|
|
38
|
+
attr_reader :meta
|
|
39
|
+
|
|
40
|
+
sig do
|
|
41
|
+
params(meta: Sentdm::Models::ContactCreateResponse::Meta::OrHash).void
|
|
42
|
+
end
|
|
43
|
+
attr_writer :meta
|
|
44
|
+
|
|
45
|
+
# Indicates whether the request was successful
|
|
46
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
47
|
+
attr_reader :success
|
|
48
|
+
|
|
49
|
+
sig { params(success: T::Boolean).void }
|
|
50
|
+
attr_writer :success
|
|
51
|
+
|
|
52
|
+
# Standard API response envelope for all v3 endpoints
|
|
53
|
+
sig do
|
|
54
|
+
params(
|
|
55
|
+
data: T.nilable(Sentdm::Models::ContactCreateResponse::Data::OrHash),
|
|
56
|
+
error:
|
|
57
|
+
T.nilable(Sentdm::Models::ContactCreateResponse::Error::OrHash),
|
|
58
|
+
meta: Sentdm::Models::ContactCreateResponse::Meta::OrHash,
|
|
59
|
+
success: T::Boolean
|
|
60
|
+
).returns(T.attached_class)
|
|
61
|
+
end
|
|
62
|
+
def self.new(
|
|
63
|
+
# Contact response for v3 API Uses snake_case for JSON property names
|
|
64
|
+
data: nil,
|
|
65
|
+
# Error information
|
|
66
|
+
error: nil,
|
|
67
|
+
# Request and response metadata
|
|
68
|
+
meta: nil,
|
|
69
|
+
# Indicates whether the request was successful
|
|
70
|
+
success: nil
|
|
71
|
+
)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
sig do
|
|
75
|
+
override.returns(
|
|
76
|
+
{
|
|
77
|
+
data: T.nilable(Sentdm::Models::ContactCreateResponse::Data),
|
|
78
|
+
error: T.nilable(Sentdm::Models::ContactCreateResponse::Error),
|
|
79
|
+
meta: Sentdm::Models::ContactCreateResponse::Meta,
|
|
80
|
+
success: T::Boolean
|
|
81
|
+
}
|
|
82
|
+
)
|
|
83
|
+
end
|
|
84
|
+
def to_hash
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
class Data < Sentdm::Internal::Type::BaseModel
|
|
88
|
+
OrHash =
|
|
89
|
+
T.type_alias do
|
|
90
|
+
T.any(
|
|
91
|
+
Sentdm::Models::ContactCreateResponse::Data,
|
|
92
|
+
Sentdm::Internal::AnyHash
|
|
93
|
+
)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
# Unique identifier for the contact
|
|
97
|
+
sig { returns(T.nilable(String)) }
|
|
98
|
+
attr_reader :id
|
|
99
|
+
|
|
100
|
+
sig { params(id: String).void }
|
|
101
|
+
attr_writer :id
|
|
102
|
+
|
|
103
|
+
# Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
|
|
104
|
+
sig { returns(T.nilable(String)) }
|
|
105
|
+
attr_reader :available_channels
|
|
106
|
+
|
|
107
|
+
sig { params(available_channels: String).void }
|
|
108
|
+
attr_writer :available_channels
|
|
109
|
+
|
|
110
|
+
# Country calling code (e.g., 1 for US/Canada)
|
|
111
|
+
sig { returns(T.nilable(String)) }
|
|
112
|
+
attr_reader :country_code
|
|
113
|
+
|
|
114
|
+
sig { params(country_code: String).void }
|
|
115
|
+
attr_writer :country_code
|
|
116
|
+
|
|
117
|
+
# When the contact was created
|
|
118
|
+
sig { returns(T.nilable(Time)) }
|
|
119
|
+
attr_reader :created_at
|
|
120
|
+
|
|
121
|
+
sig { params(created_at: Time).void }
|
|
122
|
+
attr_writer :created_at
|
|
123
|
+
|
|
124
|
+
# Which customer owns this — the key's own, or the profile named in x-profile-id.
|
|
125
|
+
# Says whose resource this is, which the resource's own id does not.
|
|
126
|
+
sig { returns(T.nilable(String)) }
|
|
127
|
+
attr_reader :customer_id
|
|
128
|
+
|
|
129
|
+
sig { params(customer_id: String).void }
|
|
130
|
+
attr_writer :customer_id
|
|
131
|
+
|
|
132
|
+
# Default messaging channel to use (e.g., "sms" or "whatsapp")
|
|
133
|
+
sig { returns(T.nilable(String)) }
|
|
134
|
+
attr_reader :default_channel
|
|
135
|
+
|
|
136
|
+
sig { params(default_channel: String).void }
|
|
137
|
+
attr_writer :default_channel
|
|
138
|
+
|
|
139
|
+
# Phone number in E.164 format (e.g., +1234567890)
|
|
140
|
+
sig { returns(T.nilable(String)) }
|
|
141
|
+
attr_reader :format_e164
|
|
142
|
+
|
|
143
|
+
sig { params(format_e164: String).void }
|
|
144
|
+
attr_writer :format_e164
|
|
145
|
+
|
|
146
|
+
# Phone number in international format (e.g., +1 234-567-890)
|
|
147
|
+
sig { returns(T.nilable(String)) }
|
|
148
|
+
attr_reader :format_international
|
|
149
|
+
|
|
150
|
+
sig { params(format_international: String).void }
|
|
151
|
+
attr_writer :format_international
|
|
152
|
+
|
|
153
|
+
# Phone number in national format (e.g., (234) 567-890)
|
|
154
|
+
sig { returns(T.nilable(String)) }
|
|
155
|
+
attr_reader :format_national
|
|
156
|
+
|
|
157
|
+
sig { params(format_national: String).void }
|
|
158
|
+
attr_writer :format_national
|
|
159
|
+
|
|
160
|
+
# Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
|
|
161
|
+
sig { returns(T.nilable(String)) }
|
|
162
|
+
attr_reader :format_rfc
|
|
163
|
+
|
|
164
|
+
sig { params(format_rfc: String).void }
|
|
165
|
+
attr_writer :format_rfc
|
|
166
|
+
|
|
167
|
+
# Always false. Contacts are no longer shared or inherited between sender profiles
|
|
168
|
+
# — a profile sees only the contacts it owns. Retained so existing v3 clients
|
|
169
|
+
# reading is_inherited keep deserializing; it carries no information.
|
|
170
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
171
|
+
attr_reader :is_inherited
|
|
172
|
+
|
|
173
|
+
sig { params(is_inherited: T::Boolean).void }
|
|
174
|
+
attr_writer :is_inherited
|
|
175
|
+
|
|
176
|
+
# Whether the contact has opted out of messaging. Single source of truth — opt-out
|
|
177
|
+
# is per-contact, not per-channel.
|
|
178
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
179
|
+
attr_reader :opt_out
|
|
180
|
+
|
|
181
|
+
sig { params(opt_out: T::Boolean).void }
|
|
182
|
+
attr_writer :opt_out
|
|
183
|
+
|
|
184
|
+
# Phone number in original format
|
|
185
|
+
sig { returns(T.nilable(String)) }
|
|
186
|
+
attr_reader :phone_number
|
|
187
|
+
|
|
188
|
+
sig { params(phone_number: String).void }
|
|
189
|
+
attr_writer :phone_number
|
|
190
|
+
|
|
191
|
+
# ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
|
|
192
|
+
sig { returns(T.nilable(String)) }
|
|
193
|
+
attr_reader :region_code
|
|
194
|
+
|
|
195
|
+
sig { params(region_code: String).void }
|
|
196
|
+
attr_writer :region_code
|
|
197
|
+
|
|
198
|
+
# When the contact was last updated
|
|
199
|
+
sig { returns(T.nilable(Time)) }
|
|
200
|
+
attr_accessor :updated_at
|
|
201
|
+
|
|
202
|
+
# Contact response for v3 API Uses snake_case for JSON property names
|
|
203
|
+
sig do
|
|
204
|
+
params(
|
|
205
|
+
id: String,
|
|
206
|
+
available_channels: String,
|
|
207
|
+
country_code: String,
|
|
208
|
+
created_at: Time,
|
|
209
|
+
customer_id: String,
|
|
210
|
+
default_channel: String,
|
|
211
|
+
format_e164: String,
|
|
212
|
+
format_international: String,
|
|
213
|
+
format_national: String,
|
|
214
|
+
format_rfc: String,
|
|
215
|
+
is_inherited: T::Boolean,
|
|
216
|
+
opt_out: T::Boolean,
|
|
217
|
+
phone_number: String,
|
|
218
|
+
region_code: String,
|
|
219
|
+
updated_at: T.nilable(Time)
|
|
220
|
+
).returns(T.attached_class)
|
|
221
|
+
end
|
|
222
|
+
def self.new(
|
|
223
|
+
# Unique identifier for the contact
|
|
224
|
+
id: nil,
|
|
225
|
+
# Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
|
|
226
|
+
available_channels: nil,
|
|
227
|
+
# Country calling code (e.g., 1 for US/Canada)
|
|
228
|
+
country_code: nil,
|
|
229
|
+
# When the contact was created
|
|
230
|
+
created_at: nil,
|
|
231
|
+
# Which customer owns this — the key's own, or the profile named in x-profile-id.
|
|
232
|
+
# Says whose resource this is, which the resource's own id does not.
|
|
233
|
+
customer_id: nil,
|
|
234
|
+
# Default messaging channel to use (e.g., "sms" or "whatsapp")
|
|
235
|
+
default_channel: nil,
|
|
236
|
+
# Phone number in E.164 format (e.g., +1234567890)
|
|
237
|
+
format_e164: nil,
|
|
238
|
+
# Phone number in international format (e.g., +1 234-567-890)
|
|
239
|
+
format_international: nil,
|
|
240
|
+
# Phone number in national format (e.g., (234) 567-890)
|
|
241
|
+
format_national: nil,
|
|
242
|
+
# Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
|
|
243
|
+
format_rfc: nil,
|
|
244
|
+
# Always false. Contacts are no longer shared or inherited between sender profiles
|
|
245
|
+
# — a profile sees only the contacts it owns. Retained so existing v3 clients
|
|
246
|
+
# reading is_inherited keep deserializing; it carries no information.
|
|
247
|
+
is_inherited: nil,
|
|
248
|
+
# Whether the contact has opted out of messaging. Single source of truth — opt-out
|
|
249
|
+
# is per-contact, not per-channel.
|
|
250
|
+
opt_out: nil,
|
|
251
|
+
# Phone number in original format
|
|
252
|
+
phone_number: nil,
|
|
253
|
+
# ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
|
|
254
|
+
region_code: nil,
|
|
255
|
+
# When the contact was last updated
|
|
256
|
+
updated_at: nil
|
|
257
|
+
)
|
|
258
|
+
end
|
|
259
|
+
|
|
260
|
+
sig do
|
|
261
|
+
override.returns(
|
|
262
|
+
{
|
|
263
|
+
id: String,
|
|
264
|
+
available_channels: String,
|
|
265
|
+
country_code: String,
|
|
266
|
+
created_at: Time,
|
|
267
|
+
customer_id: String,
|
|
268
|
+
default_channel: String,
|
|
269
|
+
format_e164: String,
|
|
270
|
+
format_international: String,
|
|
271
|
+
format_national: String,
|
|
272
|
+
format_rfc: String,
|
|
273
|
+
is_inherited: T::Boolean,
|
|
274
|
+
opt_out: T::Boolean,
|
|
275
|
+
phone_number: String,
|
|
276
|
+
region_code: String,
|
|
277
|
+
updated_at: T.nilable(Time)
|
|
278
|
+
}
|
|
279
|
+
)
|
|
280
|
+
end
|
|
281
|
+
def to_hash
|
|
282
|
+
end
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
class Error < Sentdm::Internal::Type::BaseModel
|
|
286
|
+
OrHash =
|
|
287
|
+
T.type_alias do
|
|
288
|
+
T.any(
|
|
289
|
+
Sentdm::Models::ContactCreateResponse::Error,
|
|
290
|
+
Sentdm::Internal::AnyHash
|
|
291
|
+
)
|
|
292
|
+
end
|
|
293
|
+
|
|
294
|
+
# Machine-readable error code (e.g., "RESOURCE_001")
|
|
295
|
+
sig { returns(T.nilable(String)) }
|
|
296
|
+
attr_reader :code
|
|
297
|
+
|
|
298
|
+
sig { params(code: String).void }
|
|
299
|
+
attr_writer :code
|
|
300
|
+
|
|
301
|
+
# Additional validation error details (field-level errors)
|
|
302
|
+
sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
|
|
303
|
+
attr_accessor :details
|
|
304
|
+
|
|
305
|
+
# URL to documentation about this error
|
|
306
|
+
sig { returns(T.nilable(String)) }
|
|
307
|
+
attr_accessor :doc_url
|
|
308
|
+
|
|
309
|
+
# Human-readable error message
|
|
310
|
+
sig { returns(T.nilable(String)) }
|
|
311
|
+
attr_reader :message
|
|
312
|
+
|
|
313
|
+
sig { params(message: String).void }
|
|
314
|
+
attr_writer :message
|
|
315
|
+
|
|
316
|
+
# Error information
|
|
317
|
+
sig do
|
|
318
|
+
params(
|
|
319
|
+
code: String,
|
|
320
|
+
details: T.nilable(T::Hash[Symbol, T::Array[String]]),
|
|
321
|
+
doc_url: T.nilable(String),
|
|
322
|
+
message: String
|
|
323
|
+
).returns(T.attached_class)
|
|
324
|
+
end
|
|
325
|
+
def self.new(
|
|
326
|
+
# Machine-readable error code (e.g., "RESOURCE_001")
|
|
327
|
+
code: nil,
|
|
328
|
+
# Additional validation error details (field-level errors)
|
|
329
|
+
details: nil,
|
|
330
|
+
# URL to documentation about this error
|
|
331
|
+
doc_url: nil,
|
|
332
|
+
# Human-readable error message
|
|
333
|
+
message: nil
|
|
334
|
+
)
|
|
335
|
+
end
|
|
336
|
+
|
|
337
|
+
sig do
|
|
338
|
+
override.returns(
|
|
339
|
+
{
|
|
340
|
+
code: String,
|
|
341
|
+
details: T.nilable(T::Hash[Symbol, T::Array[String]]),
|
|
342
|
+
doc_url: T.nilable(String),
|
|
343
|
+
message: String
|
|
344
|
+
}
|
|
345
|
+
)
|
|
346
|
+
end
|
|
347
|
+
def to_hash
|
|
348
|
+
end
|
|
349
|
+
end
|
|
350
|
+
|
|
351
|
+
class Meta < Sentdm::Internal::Type::BaseModel
|
|
352
|
+
OrHash =
|
|
353
|
+
T.type_alias do
|
|
354
|
+
T.any(
|
|
355
|
+
Sentdm::Models::ContactCreateResponse::Meta,
|
|
356
|
+
Sentdm::Internal::AnyHash
|
|
357
|
+
)
|
|
358
|
+
end
|
|
359
|
+
|
|
360
|
+
# Unique identifier for this request (for tracing and support)
|
|
361
|
+
sig { returns(T.nilable(String)) }
|
|
362
|
+
attr_reader :request_id
|
|
363
|
+
|
|
364
|
+
sig { params(request_id: String).void }
|
|
365
|
+
attr_writer :request_id
|
|
366
|
+
|
|
367
|
+
# Server timestamp when the response was generated
|
|
368
|
+
sig { returns(T.nilable(Time)) }
|
|
369
|
+
attr_reader :timestamp
|
|
370
|
+
|
|
371
|
+
sig { params(timestamp: Time).void }
|
|
372
|
+
attr_writer :timestamp
|
|
373
|
+
|
|
374
|
+
# API version used for this request
|
|
375
|
+
sig { returns(T.nilable(String)) }
|
|
376
|
+
attr_reader :version
|
|
377
|
+
|
|
378
|
+
sig { params(version: String).void }
|
|
379
|
+
attr_writer :version
|
|
380
|
+
|
|
381
|
+
# Request and response metadata
|
|
382
|
+
sig do
|
|
383
|
+
params(request_id: String, timestamp: Time, version: String).returns(
|
|
384
|
+
T.attached_class
|
|
385
|
+
)
|
|
386
|
+
end
|
|
387
|
+
def self.new(
|
|
388
|
+
# Unique identifier for this request (for tracing and support)
|
|
389
|
+
request_id: nil,
|
|
390
|
+
# Server timestamp when the response was generated
|
|
391
|
+
timestamp: nil,
|
|
392
|
+
# API version used for this request
|
|
393
|
+
version: nil
|
|
394
|
+
)
|
|
395
|
+
end
|
|
396
|
+
|
|
397
|
+
sig do
|
|
398
|
+
override.returns(
|
|
399
|
+
{ request_id: String, timestamp: Time, version: String }
|
|
400
|
+
)
|
|
401
|
+
end
|
|
402
|
+
def to_hash
|
|
403
|
+
end
|
|
404
|
+
end
|
|
405
|
+
end
|
|
406
|
+
end
|
|
407
|
+
end
|