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
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class WebhookUpdateResponse < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
Sentdm::Models::WebhookUpdateResponse,
|
|
10
|
+
Sentdm::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# The response data (null if error)
|
|
15
|
+
sig { returns(T.nilable(Sentdm::Models::WebhookUpdateResponse::Data)) }
|
|
16
|
+
attr_reader :data
|
|
17
|
+
|
|
18
|
+
sig do
|
|
19
|
+
params(
|
|
20
|
+
data: T.nilable(Sentdm::Models::WebhookUpdateResponse::Data::OrHash)
|
|
21
|
+
).void
|
|
22
|
+
end
|
|
23
|
+
attr_writer :data
|
|
24
|
+
|
|
25
|
+
# Error information
|
|
26
|
+
sig { returns(T.nilable(Sentdm::Models::WebhookUpdateResponse::Error)) }
|
|
27
|
+
attr_reader :error
|
|
28
|
+
|
|
29
|
+
sig do
|
|
30
|
+
params(
|
|
31
|
+
error: T.nilable(Sentdm::Models::WebhookUpdateResponse::Error::OrHash)
|
|
32
|
+
).void
|
|
33
|
+
end
|
|
34
|
+
attr_writer :error
|
|
35
|
+
|
|
36
|
+
# Request and response metadata
|
|
37
|
+
sig { returns(T.nilable(Sentdm::Models::WebhookUpdateResponse::Meta)) }
|
|
38
|
+
attr_reader :meta
|
|
39
|
+
|
|
40
|
+
sig do
|
|
41
|
+
params(meta: Sentdm::Models::WebhookUpdateResponse::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::WebhookUpdateResponse::Data::OrHash),
|
|
56
|
+
error:
|
|
57
|
+
T.nilable(Sentdm::Models::WebhookUpdateResponse::Error::OrHash),
|
|
58
|
+
meta: Sentdm::Models::WebhookUpdateResponse::Meta::OrHash,
|
|
59
|
+
success: T::Boolean
|
|
60
|
+
).returns(T.attached_class)
|
|
61
|
+
end
|
|
62
|
+
def self.new(
|
|
63
|
+
# The response data (null if error)
|
|
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::WebhookUpdateResponse::Data),
|
|
78
|
+
error: T.nilable(Sentdm::Models::WebhookUpdateResponse::Error),
|
|
79
|
+
meta: Sentdm::Models::WebhookUpdateResponse::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::WebhookUpdateResponse::Data,
|
|
92
|
+
Sentdm::Internal::AnyHash
|
|
93
|
+
)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
sig { returns(T.nilable(String)) }
|
|
97
|
+
attr_reader :id
|
|
98
|
+
|
|
99
|
+
sig { params(id: String).void }
|
|
100
|
+
attr_writer :id
|
|
101
|
+
|
|
102
|
+
sig { returns(T.nilable(Integer)) }
|
|
103
|
+
attr_reader :consecutive_failures
|
|
104
|
+
|
|
105
|
+
sig { params(consecutive_failures: Integer).void }
|
|
106
|
+
attr_writer :consecutive_failures
|
|
107
|
+
|
|
108
|
+
sig { returns(T.nilable(Time)) }
|
|
109
|
+
attr_reader :created_at
|
|
110
|
+
|
|
111
|
+
sig { params(created_at: Time).void }
|
|
112
|
+
attr_writer :created_at
|
|
113
|
+
|
|
114
|
+
# Which customer owns this — the key's own, or the profile named in x-profile-id.
|
|
115
|
+
# Says whose resource this is, which the resource's own id does not.
|
|
116
|
+
sig { returns(T.nilable(String)) }
|
|
117
|
+
attr_reader :customer_id
|
|
118
|
+
|
|
119
|
+
sig { params(customer_id: String).void }
|
|
120
|
+
attr_writer :customer_id
|
|
121
|
+
|
|
122
|
+
sig { returns(T.nilable(String)) }
|
|
123
|
+
attr_reader :display_name
|
|
124
|
+
|
|
125
|
+
sig { params(display_name: String).void }
|
|
126
|
+
attr_writer :display_name
|
|
127
|
+
|
|
128
|
+
sig { returns(T.nilable(String)) }
|
|
129
|
+
attr_reader :endpoint_url
|
|
130
|
+
|
|
131
|
+
sig { params(endpoint_url: String).void }
|
|
132
|
+
attr_writer :endpoint_url
|
|
133
|
+
|
|
134
|
+
sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
|
|
135
|
+
attr_accessor :event_filters
|
|
136
|
+
|
|
137
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
138
|
+
attr_reader :event_types
|
|
139
|
+
|
|
140
|
+
sig { params(event_types: T::Array[String]).void }
|
|
141
|
+
attr_writer :event_types
|
|
142
|
+
|
|
143
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
144
|
+
attr_reader :is_active
|
|
145
|
+
|
|
146
|
+
sig { params(is_active: T::Boolean).void }
|
|
147
|
+
attr_writer :is_active
|
|
148
|
+
|
|
149
|
+
sig { returns(T.nilable(Time)) }
|
|
150
|
+
attr_accessor :last_delivery_attempt_at
|
|
151
|
+
|
|
152
|
+
sig { returns(T.nilable(Time)) }
|
|
153
|
+
attr_accessor :last_successful_delivery_at
|
|
154
|
+
|
|
155
|
+
sig { returns(T.nilable(Integer)) }
|
|
156
|
+
attr_reader :retry_count
|
|
157
|
+
|
|
158
|
+
sig { params(retry_count: Integer).void }
|
|
159
|
+
attr_writer :retry_count
|
|
160
|
+
|
|
161
|
+
sig { returns(T.nilable(String)) }
|
|
162
|
+
attr_accessor :signing_secret
|
|
163
|
+
|
|
164
|
+
sig { returns(T.nilable(Integer)) }
|
|
165
|
+
attr_reader :timeout_seconds
|
|
166
|
+
|
|
167
|
+
sig { params(timeout_seconds: Integer).void }
|
|
168
|
+
attr_writer :timeout_seconds
|
|
169
|
+
|
|
170
|
+
sig { returns(T.nilable(Time)) }
|
|
171
|
+
attr_accessor :updated_at
|
|
172
|
+
|
|
173
|
+
# The response data (null if error)
|
|
174
|
+
sig do
|
|
175
|
+
params(
|
|
176
|
+
id: String,
|
|
177
|
+
consecutive_failures: Integer,
|
|
178
|
+
created_at: Time,
|
|
179
|
+
customer_id: String,
|
|
180
|
+
display_name: String,
|
|
181
|
+
endpoint_url: String,
|
|
182
|
+
event_filters: T.nilable(T::Hash[Symbol, T::Array[String]]),
|
|
183
|
+
event_types: T::Array[String],
|
|
184
|
+
is_active: T::Boolean,
|
|
185
|
+
last_delivery_attempt_at: T.nilable(Time),
|
|
186
|
+
last_successful_delivery_at: T.nilable(Time),
|
|
187
|
+
retry_count: Integer,
|
|
188
|
+
signing_secret: T.nilable(String),
|
|
189
|
+
timeout_seconds: Integer,
|
|
190
|
+
updated_at: T.nilable(Time)
|
|
191
|
+
).returns(T.attached_class)
|
|
192
|
+
end
|
|
193
|
+
def self.new(
|
|
194
|
+
id: nil,
|
|
195
|
+
consecutive_failures: nil,
|
|
196
|
+
created_at: nil,
|
|
197
|
+
# Which customer owns this — the key's own, or the profile named in x-profile-id.
|
|
198
|
+
# Says whose resource this is, which the resource's own id does not.
|
|
199
|
+
customer_id: nil,
|
|
200
|
+
display_name: nil,
|
|
201
|
+
endpoint_url: nil,
|
|
202
|
+
event_filters: nil,
|
|
203
|
+
event_types: nil,
|
|
204
|
+
is_active: nil,
|
|
205
|
+
last_delivery_attempt_at: nil,
|
|
206
|
+
last_successful_delivery_at: nil,
|
|
207
|
+
retry_count: nil,
|
|
208
|
+
signing_secret: nil,
|
|
209
|
+
timeout_seconds: nil,
|
|
210
|
+
updated_at: nil
|
|
211
|
+
)
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
sig do
|
|
215
|
+
override.returns(
|
|
216
|
+
{
|
|
217
|
+
id: String,
|
|
218
|
+
consecutive_failures: Integer,
|
|
219
|
+
created_at: Time,
|
|
220
|
+
customer_id: String,
|
|
221
|
+
display_name: String,
|
|
222
|
+
endpoint_url: String,
|
|
223
|
+
event_filters: T.nilable(T::Hash[Symbol, T::Array[String]]),
|
|
224
|
+
event_types: T::Array[String],
|
|
225
|
+
is_active: T::Boolean,
|
|
226
|
+
last_delivery_attempt_at: T.nilable(Time),
|
|
227
|
+
last_successful_delivery_at: T.nilable(Time),
|
|
228
|
+
retry_count: Integer,
|
|
229
|
+
signing_secret: T.nilable(String),
|
|
230
|
+
timeout_seconds: Integer,
|
|
231
|
+
updated_at: T.nilable(Time)
|
|
232
|
+
}
|
|
233
|
+
)
|
|
234
|
+
end
|
|
235
|
+
def to_hash
|
|
236
|
+
end
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
class Error < Sentdm::Internal::Type::BaseModel
|
|
240
|
+
OrHash =
|
|
241
|
+
T.type_alias do
|
|
242
|
+
T.any(
|
|
243
|
+
Sentdm::Models::WebhookUpdateResponse::Error,
|
|
244
|
+
Sentdm::Internal::AnyHash
|
|
245
|
+
)
|
|
246
|
+
end
|
|
247
|
+
|
|
248
|
+
# Machine-readable error code (e.g., "RESOURCE_001")
|
|
249
|
+
sig { returns(T.nilable(String)) }
|
|
250
|
+
attr_reader :code
|
|
251
|
+
|
|
252
|
+
sig { params(code: String).void }
|
|
253
|
+
attr_writer :code
|
|
254
|
+
|
|
255
|
+
# Additional validation error details (field-level errors)
|
|
256
|
+
sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
|
|
257
|
+
attr_accessor :details
|
|
258
|
+
|
|
259
|
+
# URL to documentation about this error
|
|
260
|
+
sig { returns(T.nilable(String)) }
|
|
261
|
+
attr_accessor :doc_url
|
|
262
|
+
|
|
263
|
+
# Human-readable error message
|
|
264
|
+
sig { returns(T.nilable(String)) }
|
|
265
|
+
attr_reader :message
|
|
266
|
+
|
|
267
|
+
sig { params(message: String).void }
|
|
268
|
+
attr_writer :message
|
|
269
|
+
|
|
270
|
+
# Error information
|
|
271
|
+
sig do
|
|
272
|
+
params(
|
|
273
|
+
code: String,
|
|
274
|
+
details: T.nilable(T::Hash[Symbol, T::Array[String]]),
|
|
275
|
+
doc_url: T.nilable(String),
|
|
276
|
+
message: String
|
|
277
|
+
).returns(T.attached_class)
|
|
278
|
+
end
|
|
279
|
+
def self.new(
|
|
280
|
+
# Machine-readable error code (e.g., "RESOURCE_001")
|
|
281
|
+
code: nil,
|
|
282
|
+
# Additional validation error details (field-level errors)
|
|
283
|
+
details: nil,
|
|
284
|
+
# URL to documentation about this error
|
|
285
|
+
doc_url: nil,
|
|
286
|
+
# Human-readable error message
|
|
287
|
+
message: nil
|
|
288
|
+
)
|
|
289
|
+
end
|
|
290
|
+
|
|
291
|
+
sig do
|
|
292
|
+
override.returns(
|
|
293
|
+
{
|
|
294
|
+
code: String,
|
|
295
|
+
details: T.nilable(T::Hash[Symbol, T::Array[String]]),
|
|
296
|
+
doc_url: T.nilable(String),
|
|
297
|
+
message: String
|
|
298
|
+
}
|
|
299
|
+
)
|
|
300
|
+
end
|
|
301
|
+
def to_hash
|
|
302
|
+
end
|
|
303
|
+
end
|
|
304
|
+
|
|
305
|
+
class Meta < Sentdm::Internal::Type::BaseModel
|
|
306
|
+
OrHash =
|
|
307
|
+
T.type_alias do
|
|
308
|
+
T.any(
|
|
309
|
+
Sentdm::Models::WebhookUpdateResponse::Meta,
|
|
310
|
+
Sentdm::Internal::AnyHash
|
|
311
|
+
)
|
|
312
|
+
end
|
|
313
|
+
|
|
314
|
+
# Unique identifier for this request (for tracing and support)
|
|
315
|
+
sig { returns(T.nilable(String)) }
|
|
316
|
+
attr_reader :request_id
|
|
317
|
+
|
|
318
|
+
sig { params(request_id: String).void }
|
|
319
|
+
attr_writer :request_id
|
|
320
|
+
|
|
321
|
+
# Server timestamp when the response was generated
|
|
322
|
+
sig { returns(T.nilable(Time)) }
|
|
323
|
+
attr_reader :timestamp
|
|
324
|
+
|
|
325
|
+
sig { params(timestamp: Time).void }
|
|
326
|
+
attr_writer :timestamp
|
|
327
|
+
|
|
328
|
+
# API version used for this request
|
|
329
|
+
sig { returns(T.nilable(String)) }
|
|
330
|
+
attr_reader :version
|
|
331
|
+
|
|
332
|
+
sig { params(version: String).void }
|
|
333
|
+
attr_writer :version
|
|
334
|
+
|
|
335
|
+
# Request and response metadata
|
|
336
|
+
sig do
|
|
337
|
+
params(request_id: String, timestamp: Time, version: String).returns(
|
|
338
|
+
T.attached_class
|
|
339
|
+
)
|
|
340
|
+
end
|
|
341
|
+
def self.new(
|
|
342
|
+
# Unique identifier for this request (for tracing and support)
|
|
343
|
+
request_id: nil,
|
|
344
|
+
# Server timestamp when the response was generated
|
|
345
|
+
timestamp: nil,
|
|
346
|
+
# API version used for this request
|
|
347
|
+
version: nil
|
|
348
|
+
)
|
|
349
|
+
end
|
|
350
|
+
|
|
351
|
+
sig do
|
|
352
|
+
override.returns(
|
|
353
|
+
{ request_id: String, timestamp: Time, version: String }
|
|
354
|
+
)
|
|
355
|
+
end
|
|
356
|
+
def to_hash
|
|
357
|
+
end
|
|
358
|
+
end
|
|
359
|
+
end
|
|
360
|
+
end
|
|
361
|
+
end
|
data/rbi/sentdm/models.rbi
CHANGED
|
@@ -1,46 +1,14 @@
|
|
|
1
1
|
# typed: strong
|
|
2
2
|
|
|
3
3
|
module Sentdm
|
|
4
|
-
APIMeta = Sentdm::Models::APIMeta
|
|
5
|
-
|
|
6
|
-
APIResponseOfContact = Sentdm::Models::APIResponseOfContact
|
|
7
|
-
|
|
8
|
-
APIResponseOfContactMessageSummary =
|
|
9
|
-
Sentdm::Models::APIResponseOfContactMessageSummary
|
|
10
|
-
|
|
11
|
-
APIResponseOfConversationMessagesList =
|
|
12
|
-
Sentdm::Models::APIResponseOfConversationMessagesList
|
|
13
|
-
|
|
14
|
-
APIResponseOfProfileDetail = Sentdm::Models::APIResponseOfProfileDetail
|
|
15
|
-
|
|
16
|
-
APIResponseOfUser = Sentdm::Models::APIResponseOfUser
|
|
17
|
-
|
|
18
|
-
APIResponseTemplate = Sentdm::Models::APIResponseTemplate
|
|
19
|
-
|
|
20
|
-
APIResponseWebhook = Sentdm::Models::APIResponseWebhook
|
|
21
|
-
|
|
22
4
|
AuthenticationConfig = Sentdm::Models::AuthenticationConfig
|
|
23
5
|
|
|
24
|
-
BillingContactInfo = Sentdm::Models::BillingContactInfo
|
|
25
|
-
|
|
26
|
-
BrandBusinessInfo = Sentdm::Models::BrandBusinessInfo
|
|
27
|
-
|
|
28
|
-
BrandComplianceInfo = Sentdm::Models::BrandComplianceInfo
|
|
29
|
-
|
|
30
|
-
BrandContactInfo = Sentdm::Models::BrandContactInfo
|
|
31
|
-
|
|
32
|
-
BrandsBrandData = Sentdm::Models::BrandsBrandData
|
|
33
|
-
|
|
34
6
|
ContactCreateParams = Sentdm::Models::ContactCreateParams
|
|
35
7
|
|
|
36
8
|
ContactDeleteParams = Sentdm::Models::ContactDeleteParams
|
|
37
9
|
|
|
38
10
|
ContactListParams = Sentdm::Models::ContactListParams
|
|
39
11
|
|
|
40
|
-
ContactMessageSummary = Sentdm::Models::ContactMessageSummary
|
|
41
|
-
|
|
42
|
-
ContactResponse = Sentdm::Models::ContactResponse
|
|
43
|
-
|
|
44
12
|
ContactRetrieveMessageSummaryParams =
|
|
45
13
|
Sentdm::Models::ContactRetrieveMessageSummaryParams
|
|
46
14
|
|
|
@@ -53,14 +21,18 @@ module Sentdm
|
|
|
53
21
|
|
|
54
22
|
ConversationListParams = Sentdm::Models::ConversationListParams
|
|
55
23
|
|
|
56
|
-
ConversationMessagesList = Sentdm::Models::ConversationMessagesList
|
|
57
|
-
|
|
58
24
|
DestinationCountry = Sentdm::Models::DestinationCountry
|
|
59
25
|
|
|
60
|
-
|
|
26
|
+
InboundMessageEvent = Sentdm::Models::InboundMessageEvent
|
|
27
|
+
|
|
28
|
+
InboundMessageEventPayload = Sentdm::Models::InboundMessageEventPayload
|
|
61
29
|
|
|
62
30
|
MeRetrieveParams = Sentdm::Models::MeRetrieveParams
|
|
63
31
|
|
|
32
|
+
MessageEvent = Sentdm::Models::MessageEvent
|
|
33
|
+
|
|
34
|
+
MessageEventPayload = Sentdm::Models::MessageEventPayload
|
|
35
|
+
|
|
64
36
|
MessageRetrieveActivitiesParams =
|
|
65
37
|
Sentdm::Models::MessageRetrieveActivitiesParams
|
|
66
38
|
|
|
@@ -68,38 +40,26 @@ module Sentdm
|
|
|
68
40
|
|
|
69
41
|
MessageSendParams = Sentdm::Models::MessageSendParams
|
|
70
42
|
|
|
71
|
-
MutationRequest = Sentdm::Models::MutationRequest
|
|
72
|
-
|
|
73
43
|
NumberLookupParams = Sentdm::Models::NumberLookupParams
|
|
74
44
|
|
|
75
|
-
PaginationMeta = Sentdm::Models::PaginationMeta
|
|
76
|
-
|
|
77
|
-
PaymentDetails = Sentdm::Models::PaymentDetails
|
|
78
|
-
|
|
79
45
|
ProfileCompleteParams = Sentdm::Models::ProfileCompleteParams
|
|
80
46
|
|
|
81
47
|
ProfileCreateParams = Sentdm::Models::ProfileCreateParams
|
|
82
48
|
|
|
83
49
|
ProfileDeleteParams = Sentdm::Models::ProfileDeleteParams
|
|
84
50
|
|
|
85
|
-
ProfileDetail = Sentdm::Models::ProfileDetail
|
|
86
|
-
|
|
87
51
|
ProfileListParams = Sentdm::Models::ProfileListParams
|
|
88
52
|
|
|
89
53
|
ProfileRetrieveParams = Sentdm::Models::ProfileRetrieveParams
|
|
90
54
|
|
|
91
55
|
Profiles = Sentdm::Models::Profiles
|
|
92
56
|
|
|
93
|
-
ProfileSettings = Sentdm::Models::ProfileSettings
|
|
94
|
-
|
|
95
57
|
ProfileUpdateParams = Sentdm::Models::ProfileUpdateParams
|
|
96
58
|
|
|
97
59
|
TcrBrandRelationship = Sentdm::Models::TcrBrandRelationship
|
|
98
60
|
|
|
99
61
|
TcrVertical = Sentdm::Models::TcrVertical
|
|
100
62
|
|
|
101
|
-
Template = Sentdm::Models::Template
|
|
102
|
-
|
|
103
63
|
TemplateBody = Sentdm::Models::TemplateBody
|
|
104
64
|
|
|
105
65
|
TemplateBodyContent = Sentdm::Models::TemplateBodyContent
|
|
@@ -114,6 +74,10 @@ module Sentdm
|
|
|
114
74
|
|
|
115
75
|
TemplateDeleteParams = Sentdm::Models::TemplateDeleteParams
|
|
116
76
|
|
|
77
|
+
TemplateEvent = Sentdm::Models::TemplateEvent
|
|
78
|
+
|
|
79
|
+
TemplateEventPayload = Sentdm::Models::TemplateEventPayload
|
|
80
|
+
|
|
117
81
|
TemplateFooter = Sentdm::Models::TemplateFooter
|
|
118
82
|
|
|
119
83
|
TemplateHeader = Sentdm::Models::TemplateHeader
|
|
@@ -132,8 +96,6 @@ module Sentdm
|
|
|
132
96
|
|
|
133
97
|
UserRemoveParams = Sentdm::Models::UserRemoveParams
|
|
134
98
|
|
|
135
|
-
UserResponse = Sentdm::Models::UserResponse
|
|
136
|
-
|
|
137
99
|
UserRetrieveParams = Sentdm::Models::UserRetrieveParams
|
|
138
100
|
|
|
139
101
|
UserUpdateRoleParams = Sentdm::Models::UserUpdateRoleParams
|
|
@@ -142,16 +104,12 @@ module Sentdm
|
|
|
142
104
|
|
|
143
105
|
WebhookDeleteParams = Sentdm::Models::WebhookDeleteParams
|
|
144
106
|
|
|
145
|
-
WebhookEventType = Sentdm::Models::WebhookEventType
|
|
146
|
-
|
|
147
107
|
WebhookListEventsParams = Sentdm::Models::WebhookListEventsParams
|
|
148
108
|
|
|
149
109
|
WebhookListEventTypesParams = Sentdm::Models::WebhookListEventTypesParams
|
|
150
110
|
|
|
151
111
|
WebhookListParams = Sentdm::Models::WebhookListParams
|
|
152
112
|
|
|
153
|
-
WebhookResponse = Sentdm::Models::WebhookResponse
|
|
154
|
-
|
|
155
113
|
WebhookRetrieveParams = Sentdm::Models::WebhookRetrieveParams
|
|
156
114
|
|
|
157
115
|
WebhookRotateSecretParams = Sentdm::Models::WebhookRotateSecretParams
|
|
@@ -2,7 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Resources
|
|
5
|
-
#
|
|
5
|
+
# The people you message, and their channel identities.
|
|
6
|
+
#
|
|
7
|
+
# A contact holds one identity per channel — a phone number, a WhatsApp number —
|
|
8
|
+
# so routing can choose between them for the same person. Opt-out is recorded
|
|
9
|
+
# against the contact and honoured on every send, whichever channel it came
|
|
10
|
+
# through.
|
|
11
|
+
#
|
|
12
|
+
# `GET /v3/contacts/{id}/message-summary` is the per-contact view of what you have
|
|
13
|
+
# sent and what happened to it.
|
|
6
14
|
class Contacts
|
|
7
15
|
# Creates a new contact by phone number and associates it with the authenticated
|
|
8
16
|
# customer.
|
|
@@ -13,7 +21,7 @@ module Sentdm
|
|
|
13
21
|
idempotency_key: String,
|
|
14
22
|
x_profile_id: String,
|
|
15
23
|
request_options: Sentdm::RequestOptions::OrHash
|
|
16
|
-
).returns(Sentdm::
|
|
24
|
+
).returns(Sentdm::Models::ContactCreateResponse)
|
|
17
25
|
end
|
|
18
26
|
def create(
|
|
19
27
|
# Body param: Phone number of the contact to create
|
|
@@ -41,7 +49,7 @@ module Sentdm
|
|
|
41
49
|
id: String,
|
|
42
50
|
x_profile_id: String,
|
|
43
51
|
request_options: Sentdm::RequestOptions::OrHash
|
|
44
|
-
).returns(Sentdm::
|
|
52
|
+
).returns(Sentdm::Models::ContactRetrieveResponse)
|
|
45
53
|
end
|
|
46
54
|
def retrieve(
|
|
47
55
|
# Contact ID from route parameter
|
|
@@ -53,8 +61,7 @@ module Sentdm
|
|
|
53
61
|
)
|
|
54
62
|
end
|
|
55
63
|
|
|
56
|
-
# Updates a contact's default channel and/or opt-out status.
|
|
57
|
-
# cannot be updated.
|
|
64
|
+
# Updates a contact's default channel and/or opt-out status.
|
|
58
65
|
sig do
|
|
59
66
|
params(
|
|
60
67
|
id: String,
|
|
@@ -64,7 +71,7 @@ module Sentdm
|
|
|
64
71
|
idempotency_key: String,
|
|
65
72
|
x_profile_id: String,
|
|
66
73
|
request_options: Sentdm::RequestOptions::OrHash
|
|
67
|
-
).returns(Sentdm::
|
|
74
|
+
).returns(Sentdm::Models::ContactUpdateResponse)
|
|
68
75
|
end
|
|
69
76
|
def update(
|
|
70
77
|
# Path param: Contact ID from route parameter
|
|
@@ -121,8 +128,16 @@ module Sentdm
|
|
|
121
128
|
)
|
|
122
129
|
end
|
|
123
130
|
|
|
124
|
-
#
|
|
125
|
-
# be
|
|
131
|
+
# **Deprecated.** Use `PATCH /v3/contacts/{id}` with `{"opt_out": true}` instead,
|
|
132
|
+
# and expect this to be removed in a future release. It still behaves exactly as
|
|
133
|
+
# before, so nothing needs to change today.
|
|
134
|
+
#
|
|
135
|
+
# Opting a contact out stops every send to them, which is what deleting one was
|
|
136
|
+
# mostly used for — and it keeps the record of who they were and that they asked.
|
|
137
|
+
# A delete discards the consent history along with the contact, which is the part
|
|
138
|
+
# you need if anyone ever asks why you stopped, or why you started again.
|
|
139
|
+
#
|
|
140
|
+
# Dissociates a contact from the authenticated customer.
|
|
126
141
|
sig do
|
|
127
142
|
params(
|
|
128
143
|
id: String,
|
|
@@ -154,7 +169,7 @@ module Sentdm
|
|
|
154
169
|
contact_id: String,
|
|
155
170
|
x_profile_id: String,
|
|
156
171
|
request_options: Sentdm::RequestOptions::OrHash
|
|
157
|
-
).returns(Sentdm::
|
|
172
|
+
).returns(Sentdm::Models::ContactRetrieveMessageSummaryResponse)
|
|
158
173
|
end
|
|
159
174
|
def retrieve_message_summary(
|
|
160
175
|
contact_id,
|
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Resources
|
|
5
|
+
# Inbound and outbound messages, grouped by the person they are with.
|
|
6
|
+
#
|
|
7
|
+
# A conversation is the thread for one contact across every channel — a reply by
|
|
8
|
+
# SMS and one by WhatsApp belong to the same conversation, because they are the
|
|
9
|
+
# same person talking to you.
|
|
10
|
+
#
|
|
11
|
+
# Read-only. Sending is **Messages**; a reply arrives here and through your
|
|
12
|
+
# webhooks.
|
|
5
13
|
class Conversations
|
|
6
14
|
# Retrieves a paginated list of the authenticated customer's messages across all
|
|
7
15
|
# conversations, ordered by created date (most recent first).
|
|
@@ -11,7 +19,7 @@ module Sentdm
|
|
|
11
19
|
page_size: Integer,
|
|
12
20
|
x_profile_id: String,
|
|
13
21
|
request_options: Sentdm::RequestOptions::OrHash
|
|
14
|
-
).returns(Sentdm::
|
|
22
|
+
).returns(Sentdm::Models::ConversationListResponse)
|
|
15
23
|
end
|
|
16
24
|
def list(
|
|
17
25
|
# Query param
|
|
@@ -35,7 +43,7 @@ module Sentdm
|
|
|
35
43
|
page_size: Integer,
|
|
36
44
|
x_profile_id: String,
|
|
37
45
|
request_options: Sentdm::RequestOptions::OrHash
|
|
38
|
-
).returns(Sentdm::
|
|
46
|
+
).returns(Sentdm::Models::ConversationListMessagesResponse)
|
|
39
47
|
end
|
|
40
48
|
def list_messages(
|
|
41
49
|
# Path param: Conversation id from the route.
|
data/rbi/sentdm/resources/me.rbi
CHANGED
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Resources
|
|
5
|
-
#
|
|
5
|
+
# Who the current key is.
|
|
6
|
+
#
|
|
7
|
+
# `GET /v3/me` answers with the account the key authenticates as, which is the
|
|
8
|
+
# quickest way to tell a live key from a test one, an organization key from a
|
|
9
|
+
# sender profile's, and to confirm `x-profile-id` resolved to the profile you
|
|
10
|
+
# meant.
|
|
6
11
|
class Me
|
|
7
12
|
# Returns the account associated with the provided API key. The response includes
|
|
8
13
|
# account identity, contact information, messaging channel configuration, and —
|
|
@@ -2,7 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Resources
|
|
5
|
-
# Send and
|
|
5
|
+
# Send a message and follow what happened to it.
|
|
6
|
+
#
|
|
7
|
+
# One endpoint sends on any channel: pass `channel: "sent"` and we pick between
|
|
8
|
+
# SMS, WhatsApp and RCS per recipient using your routing rules, or name a channel
|
|
9
|
+
# to pin it. A send is accepted asynchronously — `POST /v3/messages` returns an
|
|
10
|
+
# id, and delivery is reported through `GET /v3/messages/{id}`, its activities, or
|
|
11
|
+
# a webhook.
|
|
12
|
+
#
|
|
13
|
+
# **A message needs a sender.** What you can send, where, and at what cost is
|
|
14
|
+
# decided by the markets under **Channels** — so a recipient in a country you hold
|
|
15
|
+
# no sender for is refused here rather than queued.
|
|
6
16
|
class Messages
|
|
7
17
|
# Retrieves the activity log for a specific message. Activities track the message
|
|
8
18
|
# lifecycle including acceptance, processing, sending, delivery, and any errors.
|
|
@@ -46,10 +56,12 @@ module Sentdm
|
|
|
46
56
|
# multi-channel broadcast — when multiple channels are specified (e.g. ["sms",
|
|
47
57
|
# "whatsapp"]), a separate message is created for each (recipient, channel) pair.
|
|
48
58
|
# Returns immediately with per-recipient message IDs for async tracking via
|
|
49
|
-
# webhooks or the GET /messages/{id} endpoint.
|
|
50
|
-
#
|
|
51
|
-
#
|
|
52
|
-
#
|
|
59
|
+
# webhooks or the GET /messages/{id} endpoint. Sends gated before any delivery
|
|
60
|
+
# attempt do not reject the request — an account-level precondition such as
|
|
61
|
+
# insufficient balance, a template not approved for sending, or free-form content
|
|
62
|
+
# with no open conversation with the contact. The send is accepted with 202 and
|
|
63
|
+
# the affected messages are reported as BLOCKED on GET /messages/{id} and the
|
|
64
|
+
# message.blocked webhook.
|
|
53
65
|
sig do
|
|
54
66
|
params(
|
|
55
67
|
channel: T.nilable(T::Array[String]),
|
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Resources
|
|
5
|
-
#
|
|
5
|
+
# What a phone number actually is, before you send to it.
|
|
6
|
+
#
|
|
7
|
+
# A lookup returns the number's country, line type and carrier, which is what
|
|
8
|
+
# decides whether it is reachable on a channel and what it costs. Worth doing on
|
|
9
|
+
# import rather than on send: a landline in a contact list is a message that can
|
|
10
|
+
# never be delivered.
|
|
6
11
|
class Numbers
|
|
7
12
|
# Retrieves detailed information about a phone number including carrier, line
|
|
8
13
|
# type, porting status, and VoIP detection. Uses the customer's messaging provider
|