sentdm 0.29.0 → 0.31.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 +24 -0
- data/README.md +55 -1
- data/lib/sentdm/internal/contacts_page.rb +115 -0
- data/lib/sentdm/internal/conversations_page.rb +115 -0
- data/lib/sentdm/internal/templates_page.rb +115 -0
- data/lib/sentdm/internal/type/base_model.rb +5 -5
- data/lib/sentdm/internal/webhook_events_page.rb +115 -0
- data/lib/sentdm/internal/webhooks_page.rb +115 -0
- data/lib/sentdm/models/api_meta.rb +34 -0
- data/lib/sentdm/models/api_response_of_contact.rb +46 -0
- data/lib/sentdm/models/api_response_of_contact_message_summary.rb +43 -0
- data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +42 -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/billing_contact_info.rb +47 -0
- data/lib/sentdm/models/brand_business_info.rb +114 -0
- data/lib/sentdm/models/brand_compliance_info.rb +59 -0
- data/lib/sentdm/models/brand_contact_info.rb +58 -0
- data/lib/sentdm/models/brands_brand_data.rb +34 -0
- data/lib/sentdm/models/contact_delete_params.rb +2 -16
- data/lib/sentdm/models/contact_list_params.rb +13 -13
- data/lib/sentdm/models/contact_message_summary.rb +76 -0
- data/lib/sentdm/models/contact_response.rb +140 -0
- data/lib/sentdm/models/conversation_list_messages_params.rb +5 -5
- data/lib/sentdm/models/conversation_list_params.rb +5 -5
- data/lib/sentdm/models/conversation_messages_list.rb +245 -0
- data/lib/sentdm/models/error_detail.rb +42 -0
- data/lib/sentdm/models/me_retrieve_response.rb +12 -242
- data/lib/sentdm/models/message_retrieve_activities_response.rb +9 -159
- data/lib/sentdm/models/message_retrieve_status_response.rb +6 -74
- data/lib/sentdm/models/message_send_response.rb +6 -74
- data/lib/sentdm/models/mutation_request.rb +20 -0
- data/lib/sentdm/models/number_lookup_response.rb +6 -74
- data/lib/sentdm/models/pagination_meta.rb +84 -0
- data/lib/sentdm/models/payment_details.rb +40 -0
- data/lib/sentdm/models/profile_complete_response.rb +6 -74
- data/lib/sentdm/models/profile_create_params.rb +9 -345
- data/lib/sentdm/models/profile_delete_params.rb +2 -16
- data/lib/sentdm/models/profile_detail.rb +650 -0
- data/lib/sentdm/models/profile_list_response.rb +12 -815
- data/lib/sentdm/models/profile_settings.rb +85 -0
- data/lib/sentdm/models/profile_update_params.rb +9 -345
- data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +45 -0
- data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +45 -0
- data/lib/sentdm/models/profiles/brand_campaign.rb +247 -0
- data/lib/sentdm/models/profiles/campaign_create_params.rb +3 -156
- data/lib/sentdm/models/profiles/campaign_data.rb +136 -0
- data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -17
- data/lib/sentdm/models/profiles/campaign_update_params.rb +3 -156
- data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
- data/lib/sentdm/models/profiles/campaign_use_case_data.rb +29 -0
- data/lib/sentdm/models/template.rb +103 -0
- data/lib/sentdm/models/template_list_params.rb +17 -17
- data/lib/sentdm/models/user_list_response.rb +12 -249
- data/lib/sentdm/models/user_remove_params.rb +2 -16
- data/lib/sentdm/models/user_response.rb +94 -0
- data/lib/sentdm/models/webhook_event_type.rb +45 -0
- data/lib/sentdm/models/webhook_list_event_types_response.rb +12 -203
- data/lib/sentdm/models/webhook_list_events_params.rb +5 -5
- data/lib/sentdm/models/webhook_list_events_response.rb +87 -295
- data/lib/sentdm/models/webhook_list_params.rb +11 -11
- data/lib/sentdm/models/webhook_response.rb +121 -0
- data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -17
- data/lib/sentdm/models/webhook_rotate_secret_response.rb +6 -74
- data/lib/sentdm/models/webhook_test_response.rb +6 -74
- data/lib/sentdm/models.rb +52 -0
- data/lib/sentdm/resources/contacts.rb +16 -15
- data/lib/sentdm/resources/conversations.rb +10 -8
- data/lib/sentdm/resources/profiles/campaigns.rb +8 -8
- data/lib/sentdm/resources/profiles.rb +12 -12
- data/lib/sentdm/resources/templates.rb +16 -15
- data/lib/sentdm/resources/users.rb +6 -6
- data/lib/sentdm/resources/webhooks.rb +20 -18
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +37 -25
- data/rbi/sentdm/internal/contacts_page.rbi +71 -0
- data/rbi/sentdm/internal/conversations_page.rbi +71 -0
- data/rbi/sentdm/internal/templates_page.rbi +71 -0
- data/rbi/sentdm/internal/webhook_events_page.rbi +71 -0
- data/rbi/sentdm/internal/webhooks_page.rbi +71 -0
- data/rbi/sentdm/models/api_meta.rbi +55 -0
- data/rbi/sentdm/models/api_response_of_contact.rbi +74 -0
- data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +79 -0
- data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +79 -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/billing_contact_info.rbi +65 -0
- data/rbi/sentdm/models/brand_business_info.rbi +162 -0
- data/rbi/sentdm/models/brand_compliance_info.rbi +76 -0
- data/rbi/sentdm/models/brand_contact_info.rbi +78 -0
- data/rbi/sentdm/models/brands_brand_data.rbi +65 -0
- data/rbi/sentdm/models/contact_delete_params.rbi +2 -19
- data/rbi/sentdm/models/contact_list_params.rbi +19 -13
- data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
- data/rbi/sentdm/models/contact_response.rbi +200 -0
- data/rbi/sentdm/models/conversation_list_messages_params.rbi +12 -6
- data/rbi/sentdm/models/conversation_list_params.rbi +16 -5
- data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
- data/rbi/sentdm/models/error_detail.rbi +66 -0
- data/rbi/sentdm/models/me_retrieve_response.rbi +16 -367
- data/rbi/sentdm/models/message_retrieve_activities_response.rbi +12 -325
- data/rbi/sentdm/models/message_retrieve_status_response.rbi +8 -148
- data/rbi/sentdm/models/message_send_response.rbi +8 -135
- data/rbi/sentdm/models/mutation_request.rbi +32 -0
- data/rbi/sentdm/models/number_lookup_response.rbi +8 -135
- data/rbi/sentdm/models/pagination_meta.rbi +135 -0
- data/rbi/sentdm/models/payment_details.rbi +56 -0
- data/rbi/sentdm/models/profile_complete_response.rbi +8 -137
- data/rbi/sentdm/models/profile_create_params.rbi +12 -546
- data/rbi/sentdm/models/profile_delete_params.rbi +2 -19
- data/rbi/sentdm/models/profile_detail.rbi +918 -0
- data/rbi/sentdm/models/profile_list_response.rbi +16 -1347
- data/rbi/sentdm/models/profile_settings.rbi +102 -0
- data/rbi/sentdm/models/profile_update_params.rbi +12 -546
- data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +81 -0
- data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +76 -0
- data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
- data/rbi/sentdm/models/profiles/campaign_create_params.rbi +4 -218
- data/rbi/sentdm/models/profiles/campaign_data.rbi +158 -0
- data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -14
- data/rbi/sentdm/models/profiles/campaign_update_params.rbi +4 -218
- data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
- data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +51 -0
- data/rbi/sentdm/models/template.rbi +139 -0
- data/rbi/sentdm/models/template_list_params.rbi +22 -16
- data/rbi/sentdm/models/user_list_response.rbi +16 -444
- data/rbi/sentdm/models/user_remove_params.rbi +2 -19
- data/rbi/sentdm/models/user_response.rbi +131 -0
- data/rbi/sentdm/models/webhook_event_type.rbi +74 -0
- data/rbi/sentdm/models/webhook_list_event_types_response.rbi +16 -414
- data/rbi/sentdm/models/webhook_list_events_params.rbi +12 -6
- data/rbi/sentdm/models/webhook_list_events_response.rbi +113 -564
- data/rbi/sentdm/models/webhook_list_params.rbi +16 -10
- data/rbi/sentdm/models/webhook_response.rbi +153 -0
- data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -14
- data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +8 -148
- data/rbi/sentdm/models/webhook_test_response.rbi +8 -135
- data/rbi/sentdm/models.rbi +54 -0
- data/rbi/sentdm/resources/contacts.rbi +10 -10
- data/rbi/sentdm/resources/conversations.rbi +14 -6
- data/rbi/sentdm/resources/profiles/campaigns.rbi +5 -5
- data/rbi/sentdm/resources/profiles.rbi +9 -13
- data/rbi/sentdm/resources/templates.rbi +10 -10
- data/rbi/sentdm/resources/users.rbi +3 -3
- data/rbi/sentdm/resources/webhooks.rbi +16 -12
- data/sig/sentdm/internal/contacts_page.rbs +41 -0
- data/sig/sentdm/internal/conversations_page.rbs +41 -0
- data/sig/sentdm/internal/templates_page.rbs +44 -0
- data/sig/sentdm/internal/webhook_events_page.rbs +41 -0
- data/sig/sentdm/internal/webhooks_page.rbs +41 -0
- data/sig/sentdm/models/api_meta.rbs +27 -0
- data/sig/sentdm/models/api_response_of_contact.rbs +39 -0
- data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +39 -0
- data/sig/sentdm/models/api_response_of_conversation_messages_list.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/billing_contact_info.rbs +30 -0
- data/sig/sentdm/models/brand_business_info.rbs +89 -0
- data/sig/sentdm/models/brand_compliance_info.rbs +45 -0
- data/sig/sentdm/models/brand_contact_info.rbs +45 -0
- data/sig/sentdm/models/brands_brand_data.rbs +30 -0
- data/sig/sentdm/models/contact_delete_params.rbs +6 -10
- data/sig/sentdm/models/contact_list_params.rbs +11 -7
- data/sig/sentdm/models/contact_message_summary.rbs +84 -0
- data/sig/sentdm/models/contact_response.rbs +118 -0
- data/sig/sentdm/models/conversation_list_messages_params.rbs +8 -4
- data/sig/sentdm/models/conversation_list_params.rbs +8 -4
- data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
- data/sig/sentdm/models/error_detail.rbs +39 -0
- data/sig/sentdm/models/me_retrieve_response.rbs +18 -176
- data/sig/sentdm/models/message_retrieve_activities_response.rbs +14 -142
- data/sig/sentdm/models/message_retrieve_status_response.rbs +9 -71
- data/sig/sentdm/models/message_send_response.rbs +9 -71
- data/sig/sentdm/models/mutation_request.rbs +15 -0
- data/sig/sentdm/models/number_lookup_response.rbs +9 -71
- data/sig/sentdm/models/pagination_meta.rbs +67 -0
- data/sig/sentdm/models/payment_details.rbs +30 -0
- data/sig/sentdm/models/profile_complete_response.rbs +9 -71
- data/sig/sentdm/models/profile_create_params.rbs +12 -263
- data/sig/sentdm/models/profile_delete_params.rbs +6 -10
- data/sig/sentdm/models/profile_detail.rbs +461 -0
- data/sig/sentdm/models/profile_list_response.rbs +20 -606
- data/sig/sentdm/models/profile_settings.rbs +50 -0
- data/sig/sentdm/models/profile_update_params.rbs +12 -263
- data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +41 -0
- data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +41 -0
- data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
- data/sig/sentdm/models/profiles/campaign_create_params.rbs +4 -108
- data/sig/sentdm/models/profiles/campaign_data.rbs +87 -0
- data/sig/sentdm/models/profiles/campaign_delete_params.rbs +8 -15
- data/sig/sentdm/models/profiles/campaign_update_params.rbs +4 -108
- data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
- data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +27 -0
- data/sig/sentdm/models/template.rbs +84 -0
- data/sig/sentdm/models/template_list_params.rbs +14 -10
- data/sig/sentdm/models/user_list_response.rbs +20 -224
- data/sig/sentdm/models/user_remove_params.rbs +6 -10
- data/sig/sentdm/models/user_response.rbs +79 -0
- data/sig/sentdm/models/webhook_event_type.rbs +51 -0
- data/sig/sentdm/models/webhook_list_event_types_response.rbs +20 -196
- data/sig/sentdm/models/webhook_list_events_params.rbs +8 -4
- data/sig/sentdm/models/webhook_list_events_response.rbs +63 -255
- data/sig/sentdm/models/webhook_list_params.rbs +11 -7
- data/sig/sentdm/models/webhook_response.rbs +110 -0
- data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -17
- data/sig/sentdm/models/webhook_rotate_secret_response.rbs +9 -71
- data/sig/sentdm/models/webhook_test_response.rbs +9 -71
- data/sig/sentdm/models.rbs +52 -0
- data/sig/sentdm/resources/contacts.rbs +7 -7
- data/sig/sentdm/resources/conversations.rbs +6 -6
- data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
- data/sig/sentdm/resources/profiles.rbs +9 -9
- data/sig/sentdm/resources/templates.rbs +6 -6
- data/sig/sentdm/resources/users.rbs +3 -3
- data/sig/sentdm/resources/webhooks.rbs +10 -10
- metadata +113 -77
- data/lib/sentdm/models/contact_create_response.rb +0 -249
- data/lib/sentdm/models/contact_list_response.rb +0 -348
- data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +0 -186
- data/lib/sentdm/models/contact_retrieve_response.rb +0 -249
- data/lib/sentdm/models/contact_update_response.rb +0 -249
- data/lib/sentdm/models/conversation_list_messages_response.rb +0 -436
- data/lib/sentdm/models/conversation_list_response.rb +0 -433
- data/lib/sentdm/models/profile_create_response.rb +0 -760
- data/lib/sentdm/models/profile_retrieve_response.rb +0 -762
- data/lib/sentdm/models/profile_update_response.rb +0 -760
- data/lib/sentdm/models/profiles/campaign_create_response.rb +0 -420
- data/lib/sentdm/models/profiles/campaign_list_response.rb +0 -421
- data/lib/sentdm/models/profiles/campaign_update_response.rb +0 -420
- data/lib/sentdm/models/template_create_response.rb +0 -209
- data/lib/sentdm/models/template_list_response.rb +0 -311
- data/lib/sentdm/models/template_retrieve_response.rb +0 -209
- data/lib/sentdm/models/template_update_response.rb +0 -209
- data/lib/sentdm/models/user_invite_response.rb +0 -201
- data/lib/sentdm/models/user_retrieve_response.rb +0 -201
- data/lib/sentdm/models/user_update_role_response.rb +0 -201
- data/lib/sentdm/models/webhook_create_response.rb +0 -229
- data/lib/sentdm/models/webhook_list_response.rb +0 -329
- data/lib/sentdm/models/webhook_retrieve_response.rb +0 -229
- data/lib/sentdm/models/webhook_toggle_status_response.rb +0 -229
- data/lib/sentdm/models/webhook_update_response.rb +0 -229
- data/rbi/sentdm/models/contact_create_response.rbi +0 -407
- data/rbi/sentdm/models/contact_list_response.rbi +0 -634
- data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +0 -397
- data/rbi/sentdm/models/contact_retrieve_response.rbi +0 -409
- data/rbi/sentdm/models/contact_update_response.rbi +0 -407
- data/rbi/sentdm/models/conversation_list_messages_response.rbi +0 -843
- data/rbi/sentdm/models/conversation_list_response.rbi +0 -819
- data/rbi/sentdm/models/profile_create_response.rbi +0 -1226
- data/rbi/sentdm/models/profile_retrieve_response.rbi +0 -1230
- data/rbi/sentdm/models/profile_update_response.rbi +0 -1226
- data/rbi/sentdm/models/profiles/campaign_create_response.rbi +0 -674
- data/rbi/sentdm/models/profiles/campaign_list_response.rbi +0 -667
- data/rbi/sentdm/models/profiles/campaign_update_response.rbi +0 -674
- data/rbi/sentdm/models/template_create_response.rbi +0 -349
- data/rbi/sentdm/models/template_list_response.rbi +0 -576
- data/rbi/sentdm/models/template_retrieve_response.rbi +0 -355
- data/rbi/sentdm/models/template_update_response.rbi +0 -349
- data/rbi/sentdm/models/user_invite_response.rbi +0 -336
- data/rbi/sentdm/models/user_retrieve_response.rbi +0 -336
- data/rbi/sentdm/models/user_update_role_response.rbi +0 -341
- data/rbi/sentdm/models/webhook_create_response.rbi +0 -361
- data/rbi/sentdm/models/webhook_list_response.rbi +0 -587
- data/rbi/sentdm/models/webhook_retrieve_response.rbi +0 -363
- data/rbi/sentdm/models/webhook_toggle_status_response.rbi +0 -379
- data/rbi/sentdm/models/webhook_update_response.rbi +0 -361
- data/sig/sentdm/models/contact_create_response.rbs +0 -216
- data/sig/sentdm/models/contact_list_response.rbs +0 -310
- data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +0 -182
- data/sig/sentdm/models/contact_retrieve_response.rbs +0 -216
- data/sig/sentdm/models/contact_update_response.rbs +0 -216
- data/sig/sentdm/models/conversation_list_messages_response.rbs +0 -404
- data/sig/sentdm/models/conversation_list_response.rbs +0 -404
- data/sig/sentdm/models/profile_create_response.rbs +0 -559
- data/sig/sentdm/models/profile_retrieve_response.rbs +0 -559
- data/sig/sentdm/models/profile_update_response.rbs +0 -559
- data/sig/sentdm/models/profiles/campaign_create_response.rbs +0 -357
- data/sig/sentdm/models/profiles/campaign_list_response.rbs +0 -357
- data/sig/sentdm/models/profiles/campaign_update_response.rbs +0 -357
- data/sig/sentdm/models/template_create_response.rbs +0 -182
- data/sig/sentdm/models/template_list_response.rbs +0 -276
- data/sig/sentdm/models/template_retrieve_response.rbs +0 -182
- data/sig/sentdm/models/template_update_response.rbs +0 -182
- data/sig/sentdm/models/user_invite_response.rbs +0 -177
- data/sig/sentdm/models/user_retrieve_response.rbs +0 -177
- data/sig/sentdm/models/user_update_role_response.rbs +0 -177
- data/sig/sentdm/models/webhook_create_response.rbs +0 -208
- data/sig/sentdm/models/webhook_list_response.rbs +0 -302
- data/sig/sentdm/models/webhook_retrieve_response.rbs +0 -208
- data/sig/sentdm/models/webhook_toggle_status_response.rbs +0 -208
- data/sig/sentdm/models/webhook_update_response.rbs +0 -208
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class BrandContactInfo < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute name
|
|
7
|
+
# Primary contact name (required)
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
required :name, String
|
|
11
|
+
|
|
12
|
+
# @!attribute business_name
|
|
13
|
+
# Business/brand name
|
|
14
|
+
#
|
|
15
|
+
# @return [String, nil]
|
|
16
|
+
optional :business_name, String, api_name: :businessName, nil?: true
|
|
17
|
+
|
|
18
|
+
# @!attribute email
|
|
19
|
+
# Contact email address
|
|
20
|
+
#
|
|
21
|
+
# @return [String, nil]
|
|
22
|
+
optional :email, String, nil?: true
|
|
23
|
+
|
|
24
|
+
# @!attribute phone
|
|
25
|
+
# Contact phone number in E.164 format
|
|
26
|
+
#
|
|
27
|
+
# @return [String, nil]
|
|
28
|
+
optional :phone, String, nil?: true
|
|
29
|
+
|
|
30
|
+
# @!attribute phone_country_code
|
|
31
|
+
# Contact phone country code (e.g., "1" for US)
|
|
32
|
+
#
|
|
33
|
+
# @return [String, nil]
|
|
34
|
+
optional :phone_country_code, String, api_name: :phoneCountryCode, nil?: true
|
|
35
|
+
|
|
36
|
+
# @!attribute role
|
|
37
|
+
# Contact's role in the business
|
|
38
|
+
#
|
|
39
|
+
# @return [String, nil]
|
|
40
|
+
optional :role, String, nil?: true
|
|
41
|
+
|
|
42
|
+
# @!method initialize(name:, business_name: nil, email: nil, phone: nil, phone_country_code: nil, role: nil)
|
|
43
|
+
# Contact information for brand KYC
|
|
44
|
+
#
|
|
45
|
+
# @param name [String] Primary contact name (required)
|
|
46
|
+
#
|
|
47
|
+
# @param business_name [String, nil] Business/brand name
|
|
48
|
+
#
|
|
49
|
+
# @param email [String, nil] Contact email address
|
|
50
|
+
#
|
|
51
|
+
# @param phone [String, nil] Contact phone number in E.164 format
|
|
52
|
+
#
|
|
53
|
+
# @param phone_country_code [String, nil] Contact phone country code (e.g., "1" for US)
|
|
54
|
+
#
|
|
55
|
+
# @param role [String, nil] Contact's role in the business
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class BrandsBrandData < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute compliance
|
|
7
|
+
# Compliance and TCR information for brand registration
|
|
8
|
+
#
|
|
9
|
+
# @return [Sentdm::Models::BrandComplianceInfo]
|
|
10
|
+
required :compliance, -> { Sentdm::BrandComplianceInfo }
|
|
11
|
+
|
|
12
|
+
# @!attribute contact
|
|
13
|
+
# Contact information for brand KYC
|
|
14
|
+
#
|
|
15
|
+
# @return [Sentdm::Models::BrandContactInfo]
|
|
16
|
+
required :contact, -> { Sentdm::BrandContactInfo }
|
|
17
|
+
|
|
18
|
+
# @!attribute business
|
|
19
|
+
# Business details and address for brand KYC
|
|
20
|
+
#
|
|
21
|
+
# @return [Sentdm::Models::BrandBusinessInfo, nil]
|
|
22
|
+
optional :business, -> { Sentdm::BrandBusinessInfo }, nil?: true
|
|
23
|
+
|
|
24
|
+
# @!method initialize(compliance:, contact:, business: nil)
|
|
25
|
+
# Brand and KYC data grouped into contact, business, and compliance sections
|
|
26
|
+
#
|
|
27
|
+
# @param compliance [Sentdm::Models::BrandComplianceInfo] Compliance and TCR information for brand registration
|
|
28
|
+
#
|
|
29
|
+
# @param contact [Sentdm::Models::BrandContactInfo] Contact information for brand KYC
|
|
30
|
+
#
|
|
31
|
+
# @param business [Sentdm::Models::BrandBusinessInfo, nil] Business details and address for brand KYC
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Models
|
|
5
5
|
# @see Sentdm::Resources::Contacts#delete
|
|
6
|
-
class ContactDeleteParams < Sentdm::
|
|
6
|
+
class ContactDeleteParams < Sentdm::Models::MutationRequest
|
|
7
7
|
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
8
8
|
include Sentdm::Internal::Type::RequestParameters
|
|
9
9
|
|
|
@@ -12,28 +12,14 @@ module Sentdm
|
|
|
12
12
|
# @return [String]
|
|
13
13
|
required :id, String
|
|
14
14
|
|
|
15
|
-
# @!attribute sandbox
|
|
16
|
-
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
17
|
-
# for testing integrations without actual execution
|
|
18
|
-
#
|
|
19
|
-
# @return [Boolean, nil]
|
|
20
|
-
optional :sandbox, Sentdm::Internal::Type::Boolean
|
|
21
|
-
|
|
22
15
|
# @!attribute x_profile_id
|
|
23
16
|
#
|
|
24
17
|
# @return [String, nil]
|
|
25
18
|
optional :x_profile_id, String
|
|
26
19
|
|
|
27
|
-
# @!method initialize(id:,
|
|
28
|
-
# Some parameter documentations has been truncated, see
|
|
29
|
-
# {Sentdm::Models::ContactDeleteParams} for more details.
|
|
30
|
-
#
|
|
20
|
+
# @!method initialize(id:, x_profile_id: nil, request_options: {})
|
|
31
21
|
# @param id [String]
|
|
32
|
-
#
|
|
33
|
-
# @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
|
|
34
|
-
#
|
|
35
22
|
# @param x_profile_id [String]
|
|
36
|
-
#
|
|
37
23
|
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
|
|
38
24
|
end
|
|
39
25
|
end
|
|
@@ -7,23 +7,23 @@ module Sentdm
|
|
|
7
7
|
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
8
8
|
include Sentdm::Internal::Type::RequestParameters
|
|
9
9
|
|
|
10
|
+
# @!attribute channel
|
|
11
|
+
# Optional channel filter (sms, whatsapp)
|
|
12
|
+
#
|
|
13
|
+
# @return [String, nil]
|
|
14
|
+
optional :channel, String, nil?: true
|
|
15
|
+
|
|
10
16
|
# @!attribute page
|
|
11
17
|
# Page number (1-indexed)
|
|
12
18
|
#
|
|
13
|
-
# @return [Integer]
|
|
14
|
-
|
|
19
|
+
# @return [Integer, nil]
|
|
20
|
+
optional :page, Integer
|
|
15
21
|
|
|
16
22
|
# @!attribute page_size
|
|
17
23
|
# Number of items per page
|
|
18
24
|
#
|
|
19
|
-
# @return [Integer]
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
# @!attribute channel
|
|
23
|
-
# Optional channel filter (sms, whatsapp)
|
|
24
|
-
#
|
|
25
|
-
# @return [String, nil]
|
|
26
|
-
optional :channel, String, nil?: true
|
|
25
|
+
# @return [Integer, nil]
|
|
26
|
+
optional :page_size, Integer
|
|
27
27
|
|
|
28
28
|
# @!attribute phone
|
|
29
29
|
# Optional phone number filter (alternative to list view)
|
|
@@ -42,13 +42,13 @@ module Sentdm
|
|
|
42
42
|
# @return [String, nil]
|
|
43
43
|
optional :x_profile_id, String
|
|
44
44
|
|
|
45
|
-
# @!method initialize(page
|
|
45
|
+
# @!method initialize(channel: nil, page: nil, page_size: nil, phone: nil, search: nil, x_profile_id: nil, request_options: {})
|
|
46
|
+
# @param channel [String, nil] Optional channel filter (sms, whatsapp)
|
|
47
|
+
#
|
|
46
48
|
# @param page [Integer] Page number (1-indexed)
|
|
47
49
|
#
|
|
48
50
|
# @param page_size [Integer] Number of items per page
|
|
49
51
|
#
|
|
50
|
-
# @param channel [String, nil] Optional channel filter (sms, whatsapp)
|
|
51
|
-
#
|
|
52
52
|
# @param phone [String, nil] Optional phone number filter (alternative to list view)
|
|
53
53
|
#
|
|
54
54
|
# @param search [String, nil] Optional search term for filtering contacts
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class ContactMessageSummary < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute channel_scores
|
|
7
|
+
#
|
|
8
|
+
# @return [Array<Sentdm::Models::ContactMessageSummary::ChannelScore>, nil]
|
|
9
|
+
optional :channel_scores,
|
|
10
|
+
-> { Sentdm::Internal::Type::ArrayOf[Sentdm::ContactMessageSummary::ChannelScore] }
|
|
11
|
+
|
|
12
|
+
# @!attribute channels_used
|
|
13
|
+
#
|
|
14
|
+
# @return [Array<String>, nil]
|
|
15
|
+
optional :channels_used, Sentdm::Internal::Type::ArrayOf[String]
|
|
16
|
+
|
|
17
|
+
# @!attribute contact_id
|
|
18
|
+
#
|
|
19
|
+
# @return [String, nil]
|
|
20
|
+
optional :contact_id, String
|
|
21
|
+
|
|
22
|
+
# @!attribute first_message_at
|
|
23
|
+
#
|
|
24
|
+
# @return [Time, nil]
|
|
25
|
+
optional :first_message_at, Time, nil?: true
|
|
26
|
+
|
|
27
|
+
# @!attribute last_message_at
|
|
28
|
+
#
|
|
29
|
+
# @return [Time, nil]
|
|
30
|
+
optional :last_message_at, Time, nil?: true
|
|
31
|
+
|
|
32
|
+
# @!attribute message_count
|
|
33
|
+
#
|
|
34
|
+
# @return [Integer, nil]
|
|
35
|
+
optional :message_count, Integer
|
|
36
|
+
|
|
37
|
+
# @!method initialize(channel_scores: nil, channels_used: nil, contact_id: nil, first_message_at: nil, last_message_at: nil, message_count: nil)
|
|
38
|
+
# @param channel_scores [Array<Sentdm::Models::ContactMessageSummary::ChannelScore>]
|
|
39
|
+
# @param channels_used [Array<String>]
|
|
40
|
+
# @param contact_id [String]
|
|
41
|
+
# @param first_message_at [Time, nil]
|
|
42
|
+
# @param last_message_at [Time, nil]
|
|
43
|
+
# @param message_count [Integer]
|
|
44
|
+
|
|
45
|
+
class ChannelScore < Sentdm::Internal::Type::BaseModel
|
|
46
|
+
# @!attribute channel
|
|
47
|
+
#
|
|
48
|
+
# @return [String, nil]
|
|
49
|
+
optional :channel, String
|
|
50
|
+
|
|
51
|
+
# @!attribute fail_score
|
|
52
|
+
# Percentage (0-100) of messages on this channel that ended in FAILED.
|
|
53
|
+
#
|
|
54
|
+
# @return [Integer, nil]
|
|
55
|
+
optional :fail_score, Integer
|
|
56
|
+
|
|
57
|
+
# @!attribute success_score
|
|
58
|
+
# Percentage (0-100) of messages on this channel that reached a successful
|
|
59
|
+
# terminal state: SENT/DELIVERED/READ for outbound, RECEIVED for inbound.
|
|
60
|
+
#
|
|
61
|
+
# @return [Integer, nil]
|
|
62
|
+
optional :success_score, Integer
|
|
63
|
+
|
|
64
|
+
# @!method initialize(channel: nil, fail_score: nil, success_score: nil)
|
|
65
|
+
# Some parameter documentations has been truncated, see
|
|
66
|
+
# {Sentdm::Models::ContactMessageSummary::ChannelScore} for more details.
|
|
67
|
+
#
|
|
68
|
+
# @param channel [String]
|
|
69
|
+
#
|
|
70
|
+
# @param fail_score [Integer] Percentage (0-100) of messages on this channel that ended in FAILED.
|
|
71
|
+
#
|
|
72
|
+
# @param success_score [Integer] Percentage (0-100) of messages on this channel that reached a successful termina
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
# @see Sentdm::Resources::Contacts#list
|
|
6
|
+
class ContactResponse < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute id
|
|
8
|
+
# Unique identifier for the contact
|
|
9
|
+
#
|
|
10
|
+
# @return [String, nil]
|
|
11
|
+
optional :id, String
|
|
12
|
+
|
|
13
|
+
# @!attribute available_channels
|
|
14
|
+
# Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
|
|
15
|
+
#
|
|
16
|
+
# @return [String, nil]
|
|
17
|
+
optional :available_channels, String
|
|
18
|
+
|
|
19
|
+
# @!attribute country_code
|
|
20
|
+
# Country calling code (e.g., 1 for US/Canada)
|
|
21
|
+
#
|
|
22
|
+
# @return [String, nil]
|
|
23
|
+
optional :country_code, String
|
|
24
|
+
|
|
25
|
+
# @!attribute created_at
|
|
26
|
+
# When the contact was created
|
|
27
|
+
#
|
|
28
|
+
# @return [Time, nil]
|
|
29
|
+
optional :created_at, Time
|
|
30
|
+
|
|
31
|
+
# @!attribute customer_id
|
|
32
|
+
# Which customer owns this — the key's own, or the profile named in x-profile-id.
|
|
33
|
+
# Says whose resource this is, which the resource's own id does not.
|
|
34
|
+
#
|
|
35
|
+
# @return [String, nil]
|
|
36
|
+
optional :customer_id, String
|
|
37
|
+
|
|
38
|
+
# @!attribute default_channel
|
|
39
|
+
# Default messaging channel to use (e.g., "sms" or "whatsapp")
|
|
40
|
+
#
|
|
41
|
+
# @return [String, nil]
|
|
42
|
+
optional :default_channel, String
|
|
43
|
+
|
|
44
|
+
# @!attribute format_e164
|
|
45
|
+
# Phone number in E.164 format (e.g., +1234567890)
|
|
46
|
+
#
|
|
47
|
+
# @return [String, nil]
|
|
48
|
+
optional :format_e164, String
|
|
49
|
+
|
|
50
|
+
# @!attribute format_international
|
|
51
|
+
# Phone number in international format (e.g., +1 234-567-890)
|
|
52
|
+
#
|
|
53
|
+
# @return [String, nil]
|
|
54
|
+
optional :format_international, String
|
|
55
|
+
|
|
56
|
+
# @!attribute format_national
|
|
57
|
+
# Phone number in national format (e.g., (234) 567-890)
|
|
58
|
+
#
|
|
59
|
+
# @return [String, nil]
|
|
60
|
+
optional :format_national, String
|
|
61
|
+
|
|
62
|
+
# @!attribute format_rfc
|
|
63
|
+
# Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
|
|
64
|
+
#
|
|
65
|
+
# @return [String, nil]
|
|
66
|
+
optional :format_rfc, String
|
|
67
|
+
|
|
68
|
+
# @!attribute is_inherited
|
|
69
|
+
# @deprecated
|
|
70
|
+
#
|
|
71
|
+
# Always false. Contacts are no longer shared or inherited between sender profiles
|
|
72
|
+
# — a profile sees only the contacts it owns. Retained so existing v3 clients
|
|
73
|
+
# reading is_inherited keep deserializing; it carries no information.
|
|
74
|
+
#
|
|
75
|
+
# @return [Boolean, nil]
|
|
76
|
+
optional :is_inherited, Sentdm::Internal::Type::Boolean
|
|
77
|
+
|
|
78
|
+
# @!attribute opt_out
|
|
79
|
+
# Whether the contact has opted out of messaging. Single source of truth — opt-out
|
|
80
|
+
# is per-contact, not per-channel.
|
|
81
|
+
#
|
|
82
|
+
# @return [Boolean, nil]
|
|
83
|
+
optional :opt_out, Sentdm::Internal::Type::Boolean
|
|
84
|
+
|
|
85
|
+
# @!attribute phone_number
|
|
86
|
+
# Phone number in original format
|
|
87
|
+
#
|
|
88
|
+
# @return [String, nil]
|
|
89
|
+
optional :phone_number, String
|
|
90
|
+
|
|
91
|
+
# @!attribute region_code
|
|
92
|
+
# ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
|
|
93
|
+
#
|
|
94
|
+
# @return [String, nil]
|
|
95
|
+
optional :region_code, String
|
|
96
|
+
|
|
97
|
+
# @!attribute updated_at
|
|
98
|
+
# When the contact was last updated
|
|
99
|
+
#
|
|
100
|
+
# @return [Time, nil]
|
|
101
|
+
optional :updated_at, Time, nil?: true
|
|
102
|
+
|
|
103
|
+
# @!method initialize(id: nil, available_channels: nil, country_code: nil, created_at: nil, customer_id: nil, default_channel: nil, format_e164: nil, format_international: nil, format_national: nil, format_rfc: nil, is_inherited: nil, opt_out: nil, phone_number: nil, region_code: nil, updated_at: nil)
|
|
104
|
+
# Some parameter documentations has been truncated, see
|
|
105
|
+
# {Sentdm::Models::ContactResponse} for more details.
|
|
106
|
+
#
|
|
107
|
+
# Contact response for v3 API Uses snake_case for JSON property names
|
|
108
|
+
#
|
|
109
|
+
# @param id [String] Unique identifier for the contact
|
|
110
|
+
#
|
|
111
|
+
# @param available_channels [String] Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
|
|
112
|
+
#
|
|
113
|
+
# @param country_code [String] Country calling code (e.g., 1 for US/Canada)
|
|
114
|
+
#
|
|
115
|
+
# @param created_at [Time] When the contact was created
|
|
116
|
+
#
|
|
117
|
+
# @param customer_id [String] Which customer owns this — the key's own, or the profile named in x-profile-id.
|
|
118
|
+
#
|
|
119
|
+
# @param default_channel [String] Default messaging channel to use (e.g., "sms" or "whatsapp")
|
|
120
|
+
#
|
|
121
|
+
# @param format_e164 [String] Phone number in E.164 format (e.g., +1234567890)
|
|
122
|
+
#
|
|
123
|
+
# @param format_international [String] Phone number in international format (e.g., +1 234-567-890)
|
|
124
|
+
#
|
|
125
|
+
# @param format_national [String] Phone number in national format (e.g., (234) 567-890)
|
|
126
|
+
#
|
|
127
|
+
# @param format_rfc [String] Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
|
|
128
|
+
#
|
|
129
|
+
# @param is_inherited [Boolean] Always false. Contacts are no longer shared or inherited between sender profiles
|
|
130
|
+
#
|
|
131
|
+
# @param opt_out [Boolean] Whether the contact has opted out of messaging. Single source of truth — opt-out
|
|
132
|
+
#
|
|
133
|
+
# @param phone_number [String] Phone number in original format
|
|
134
|
+
#
|
|
135
|
+
# @param region_code [String] ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
|
|
136
|
+
#
|
|
137
|
+
# @param updated_at [Time, nil] When the contact was last updated
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
end
|
|
@@ -14,20 +14,20 @@ module Sentdm
|
|
|
14
14
|
|
|
15
15
|
# @!attribute page
|
|
16
16
|
#
|
|
17
|
-
# @return [Integer]
|
|
18
|
-
|
|
17
|
+
# @return [Integer, nil]
|
|
18
|
+
optional :page, Integer
|
|
19
19
|
|
|
20
20
|
# @!attribute page_size
|
|
21
21
|
#
|
|
22
|
-
# @return [Integer]
|
|
23
|
-
|
|
22
|
+
# @return [Integer, nil]
|
|
23
|
+
optional :page_size, Integer
|
|
24
24
|
|
|
25
25
|
# @!attribute x_profile_id
|
|
26
26
|
#
|
|
27
27
|
# @return [String, nil]
|
|
28
28
|
optional :x_profile_id, String
|
|
29
29
|
|
|
30
|
-
# @!method initialize(id:, page
|
|
30
|
+
# @!method initialize(id:, page: nil, page_size: nil, x_profile_id: nil, request_options: {})
|
|
31
31
|
# @param id [String]
|
|
32
32
|
# @param page [Integer]
|
|
33
33
|
# @param page_size [Integer]
|
|
@@ -9,20 +9,20 @@ module Sentdm
|
|
|
9
9
|
|
|
10
10
|
# @!attribute page
|
|
11
11
|
#
|
|
12
|
-
# @return [Integer]
|
|
13
|
-
|
|
12
|
+
# @return [Integer, nil]
|
|
13
|
+
optional :page, Integer
|
|
14
14
|
|
|
15
15
|
# @!attribute page_size
|
|
16
16
|
#
|
|
17
|
-
# @return [Integer]
|
|
18
|
-
|
|
17
|
+
# @return [Integer, nil]
|
|
18
|
+
optional :page_size, Integer
|
|
19
19
|
|
|
20
20
|
# @!attribute x_profile_id
|
|
21
21
|
#
|
|
22
22
|
# @return [String, nil]
|
|
23
23
|
optional :x_profile_id, String
|
|
24
24
|
|
|
25
|
-
# @!method initialize(page
|
|
25
|
+
# @!method initialize(page: nil, page_size: nil, x_profile_id: nil, request_options: {})
|
|
26
26
|
# @param page [Integer]
|
|
27
27
|
# @param page_size [Integer]
|
|
28
28
|
# @param x_profile_id [String]
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class ConversationMessagesList < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute messages
|
|
7
|
+
# The messages on this page.
|
|
8
|
+
#
|
|
9
|
+
# @return [Array<Sentdm::Models::ConversationMessagesList::Message>, nil]
|
|
10
|
+
optional :messages, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::ConversationMessagesList::Message] }
|
|
11
|
+
|
|
12
|
+
# @!attribute pagination
|
|
13
|
+
# Pagination metadata for list responses
|
|
14
|
+
#
|
|
15
|
+
# @return [Sentdm::Models::PaginationMeta, nil]
|
|
16
|
+
optional :pagination, -> { Sentdm::PaginationMeta }
|
|
17
|
+
|
|
18
|
+
# @!method initialize(messages: nil, pagination: nil)
|
|
19
|
+
# A paginated list of messages — used by both conversation read endpoints.
|
|
20
|
+
#
|
|
21
|
+
# @param messages [Array<Sentdm::Models::ConversationMessagesList::Message>] The messages on this page.
|
|
22
|
+
#
|
|
23
|
+
# @param pagination [Sentdm::Models::PaginationMeta] Pagination metadata for list responses
|
|
24
|
+
|
|
25
|
+
class Message < Sentdm::Internal::Type::BaseModel
|
|
26
|
+
# @!attribute id
|
|
27
|
+
#
|
|
28
|
+
# @return [String, nil]
|
|
29
|
+
optional :id, String
|
|
30
|
+
|
|
31
|
+
# @!attribute active_contact_price
|
|
32
|
+
#
|
|
33
|
+
# @return [Float, nil]
|
|
34
|
+
optional :active_contact_price, Float, nil?: true
|
|
35
|
+
|
|
36
|
+
# @!attribute channel
|
|
37
|
+
#
|
|
38
|
+
# @return [String, nil]
|
|
39
|
+
optional :channel, String
|
|
40
|
+
|
|
41
|
+
# @!attribute contact_id
|
|
42
|
+
#
|
|
43
|
+
# @return [String, nil]
|
|
44
|
+
optional :contact_id, String
|
|
45
|
+
|
|
46
|
+
# @!attribute created_at
|
|
47
|
+
#
|
|
48
|
+
# @return [Time, nil]
|
|
49
|
+
optional :created_at, Time
|
|
50
|
+
|
|
51
|
+
# @!attribute customer_id
|
|
52
|
+
#
|
|
53
|
+
# @return [String, nil]
|
|
54
|
+
optional :customer_id, String
|
|
55
|
+
|
|
56
|
+
# @!attribute direction
|
|
57
|
+
#
|
|
58
|
+
# @return [String, nil]
|
|
59
|
+
optional :direction, String
|
|
60
|
+
|
|
61
|
+
# @!attribute events
|
|
62
|
+
#
|
|
63
|
+
# @return [Array<Sentdm::Models::ConversationMessagesList::Message::Event>, nil]
|
|
64
|
+
optional :events,
|
|
65
|
+
-> { Sentdm::Internal::Type::ArrayOf[Sentdm::ConversationMessagesList::Message::Event] },
|
|
66
|
+
nil?: true
|
|
67
|
+
|
|
68
|
+
# @!attribute message_body
|
|
69
|
+
# Structured message body format for database storage. Preserves channel-specific
|
|
70
|
+
# components (header, body, footer, buttons).
|
|
71
|
+
#
|
|
72
|
+
# @return [Sentdm::Models::ConversationMessagesList::Message::MessageBody, nil]
|
|
73
|
+
optional :message_body, -> { Sentdm::ConversationMessagesList::Message::MessageBody }, nil?: true
|
|
74
|
+
|
|
75
|
+
# @!attribute phone
|
|
76
|
+
#
|
|
77
|
+
# @return [String, nil]
|
|
78
|
+
optional :phone, String
|
|
79
|
+
|
|
80
|
+
# @!attribute phone_international
|
|
81
|
+
#
|
|
82
|
+
# @return [String, nil]
|
|
83
|
+
optional :phone_international, String
|
|
84
|
+
|
|
85
|
+
# @!attribute price
|
|
86
|
+
#
|
|
87
|
+
# @return [Float, nil]
|
|
88
|
+
optional :price, Float, nil?: true
|
|
89
|
+
|
|
90
|
+
# @!attribute region_code
|
|
91
|
+
#
|
|
92
|
+
# @return [String, nil]
|
|
93
|
+
optional :region_code, String
|
|
94
|
+
|
|
95
|
+
# @!attribute status
|
|
96
|
+
#
|
|
97
|
+
# @return [String, nil]
|
|
98
|
+
optional :status, String
|
|
99
|
+
|
|
100
|
+
# @!attribute template_category
|
|
101
|
+
#
|
|
102
|
+
# @return [String, nil]
|
|
103
|
+
optional :template_category, String, nil?: true
|
|
104
|
+
|
|
105
|
+
# @!attribute template_id
|
|
106
|
+
#
|
|
107
|
+
# @return [String, nil]
|
|
108
|
+
optional :template_id, String, nil?: true
|
|
109
|
+
|
|
110
|
+
# @!attribute template_name
|
|
111
|
+
#
|
|
112
|
+
# @return [String, nil]
|
|
113
|
+
optional :template_name, String, nil?: true
|
|
114
|
+
|
|
115
|
+
# @!method initialize(id: nil, active_contact_price: nil, channel: nil, contact_id: nil, created_at: nil, customer_id: nil, direction: nil, events: nil, message_body: nil, phone: nil, phone_international: nil, price: nil, region_code: nil, status: nil, template_category: nil, template_id: nil, template_name: nil)
|
|
116
|
+
# Some parameter documentations has been truncated, see
|
|
117
|
+
# {Sentdm::Models::ConversationMessagesList::Message} for more details.
|
|
118
|
+
#
|
|
119
|
+
# Message response for v3 API — same shape as v2 with snake_case JSON conventions
|
|
120
|
+
#
|
|
121
|
+
# @param id [String]
|
|
122
|
+
#
|
|
123
|
+
# @param active_contact_price [Float, nil]
|
|
124
|
+
#
|
|
125
|
+
# @param channel [String]
|
|
126
|
+
#
|
|
127
|
+
# @param contact_id [String]
|
|
128
|
+
#
|
|
129
|
+
# @param created_at [Time]
|
|
130
|
+
#
|
|
131
|
+
# @param customer_id [String]
|
|
132
|
+
#
|
|
133
|
+
# @param direction [String]
|
|
134
|
+
#
|
|
135
|
+
# @param events [Array<Sentdm::Models::ConversationMessagesList::Message::Event>, nil]
|
|
136
|
+
#
|
|
137
|
+
# @param message_body [Sentdm::Models::ConversationMessagesList::Message::MessageBody, nil] Structured message body format for database storage.
|
|
138
|
+
#
|
|
139
|
+
# @param phone [String]
|
|
140
|
+
#
|
|
141
|
+
# @param phone_international [String]
|
|
142
|
+
#
|
|
143
|
+
# @param price [Float, nil]
|
|
144
|
+
#
|
|
145
|
+
# @param region_code [String]
|
|
146
|
+
#
|
|
147
|
+
# @param status [String]
|
|
148
|
+
#
|
|
149
|
+
# @param template_category [String, nil]
|
|
150
|
+
#
|
|
151
|
+
# @param template_id [String, nil]
|
|
152
|
+
#
|
|
153
|
+
# @param template_name [String, nil]
|
|
154
|
+
|
|
155
|
+
class Event < Sentdm::Internal::Type::BaseModel
|
|
156
|
+
# @!attribute status
|
|
157
|
+
#
|
|
158
|
+
# @return [String]
|
|
159
|
+
required :status, String
|
|
160
|
+
|
|
161
|
+
# @!attribute timestamp
|
|
162
|
+
#
|
|
163
|
+
# @return [Time]
|
|
164
|
+
required :timestamp, Time
|
|
165
|
+
|
|
166
|
+
# @!attribute description
|
|
167
|
+
#
|
|
168
|
+
# @return [String, nil]
|
|
169
|
+
optional :description, String, nil?: true
|
|
170
|
+
|
|
171
|
+
# @!method initialize(status:, timestamp:, description: nil)
|
|
172
|
+
# Represents a status change event in a message's lifecycle (v3)
|
|
173
|
+
#
|
|
174
|
+
# @param status [String]
|
|
175
|
+
# @param timestamp [Time]
|
|
176
|
+
# @param description [String, nil]
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
# @see Sentdm::Models::ConversationMessagesList::Message#message_body
|
|
180
|
+
class MessageBody < Sentdm::Internal::Type::BaseModel
|
|
181
|
+
# @!attribute buttons
|
|
182
|
+
#
|
|
183
|
+
# @return [Array<Sentdm::Models::ConversationMessagesList::Message::MessageBody::Button>, nil]
|
|
184
|
+
optional :buttons,
|
|
185
|
+
-> {
|
|
186
|
+
Sentdm::Internal::Type::ArrayOf[Sentdm::ConversationMessagesList::Message::MessageBody::Button]
|
|
187
|
+
},
|
|
188
|
+
nil?: true
|
|
189
|
+
|
|
190
|
+
# @!attribute content
|
|
191
|
+
#
|
|
192
|
+
# @return [String, nil]
|
|
193
|
+
optional :content, String
|
|
194
|
+
|
|
195
|
+
# @!attribute footer
|
|
196
|
+
#
|
|
197
|
+
# @return [String, nil]
|
|
198
|
+
optional :footer, String, nil?: true
|
|
199
|
+
|
|
200
|
+
# @!attribute header
|
|
201
|
+
#
|
|
202
|
+
# @return [String, nil]
|
|
203
|
+
optional :header, String, nil?: true
|
|
204
|
+
|
|
205
|
+
# @!method initialize(buttons: nil, content: nil, footer: nil, header: nil)
|
|
206
|
+
# Structured message body format for database storage. Preserves channel-specific
|
|
207
|
+
# components (header, body, footer, buttons).
|
|
208
|
+
#
|
|
209
|
+
# @param buttons [Array<Sentdm::Models::ConversationMessagesList::Message::MessageBody::Button>, nil]
|
|
210
|
+
# @param content [String]
|
|
211
|
+
# @param footer [String, nil]
|
|
212
|
+
# @param header [String, nil]
|
|
213
|
+
|
|
214
|
+
class Button < Sentdm::Internal::Type::BaseModel
|
|
215
|
+
# @!attribute postback_data
|
|
216
|
+
#
|
|
217
|
+
# @return [String, nil]
|
|
218
|
+
optional :postback_data, String, api_name: :postbackData, nil?: true
|
|
219
|
+
|
|
220
|
+
# @!attribute text
|
|
221
|
+
#
|
|
222
|
+
# @return [String, nil]
|
|
223
|
+
optional :text, String, nil?: true
|
|
224
|
+
|
|
225
|
+
# @!attribute type
|
|
226
|
+
#
|
|
227
|
+
# @return [String, nil]
|
|
228
|
+
optional :type, String
|
|
229
|
+
|
|
230
|
+
# @!attribute value
|
|
231
|
+
#
|
|
232
|
+
# @return [String, nil]
|
|
233
|
+
optional :value, String
|
|
234
|
+
|
|
235
|
+
# @!method initialize(postback_data: nil, text: nil, type: nil, value: nil)
|
|
236
|
+
# @param postback_data [String, nil]
|
|
237
|
+
# @param text [String, nil]
|
|
238
|
+
# @param type [String]
|
|
239
|
+
# @param value [String]
|
|
240
|
+
end
|
|
241
|
+
end
|
|
242
|
+
end
|
|
243
|
+
end
|
|
244
|
+
end
|
|
245
|
+
end
|