sentdm 0.28.0 → 0.30.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 +19 -0
- data/README.md +27 -1
- data/lib/sentdm/internal/type/base_model.rb +5 -5
- 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 +43 -0
- data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
- data/lib/sentdm/models/api_response_of_user.rb +43 -0
- data/lib/sentdm/models/api_response_template.rb +43 -0
- data/lib/sentdm/models/api_response_webhook.rb +43 -0
- data/lib/sentdm/models/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_response.rb +12 -295
- data/lib/sentdm/models/contact_message_summary.rb +76 -0
- data/lib/sentdm/models/contact_response.rb +139 -0
- data/lib/sentdm/models/conversation_messages_list.rb +245 -0
- data/lib/sentdm/models/error_detail.rb +42 -0
- data/lib/sentdm/models/inbound_message_event_payload.rb +17 -17
- data/lib/sentdm/models/me_retrieve_response.rb +43 -243
- data/lib/sentdm/models/message_event_payload.rb +11 -11
- 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 +102 -0
- data/lib/sentdm/models/template_event_payload.rb +18 -18
- data/lib/sentdm/models/template_list_response.rb +12 -258
- 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_response.rb +9 -157
- data/lib/sentdm/models/webhook_list_response.rb +12 -276
- data/lib/sentdm/models/webhook_response.rb +120 -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 +8 -8
- data/lib/sentdm/resources/conversations.rb +4 -4
- data/lib/sentdm/resources/me.rb +11 -0
- data/lib/sentdm/resources/profiles/campaigns.rb +8 -8
- data/lib/sentdm/resources/profiles.rb +12 -12
- data/lib/sentdm/resources/templates.rb +6 -6
- data/lib/sentdm/resources/users.rb +6 -6
- data/lib/sentdm/resources/webhooks.rb +8 -8
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +32 -22
- 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_response.rbi +16 -522
- data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
- data/rbi/sentdm/models/contact_response.rbi +200 -0
- data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
- data/rbi/sentdm/models/error_detail.rbi +66 -0
- data/rbi/sentdm/models/inbound_message_event_payload.rbi +16 -22
- data/rbi/sentdm/models/me_retrieve_response.rbi +60 -367
- data/rbi/sentdm/models/message_event_payload.rbi +12 -15
- 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_event_payload.rbi +21 -27
- data/rbi/sentdm/models/template_list_response.rbi +16 -464
- 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_response.rbi +12 -314
- data/rbi/sentdm/models/webhook_list_response.rbi +16 -475
- 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 +4 -4
- data/rbi/sentdm/resources/conversations.rbi +2 -2
- data/rbi/sentdm/resources/me.rbi +11 -0
- data/rbi/sentdm/resources/profiles/campaigns.rbi +5 -5
- data/rbi/sentdm/resources/profiles.rbi +9 -13
- data/rbi/sentdm/resources/templates.rbi +3 -3
- data/rbi/sentdm/resources/users.rbi +3 -3
- data/rbi/sentdm/resources/webhooks.rbi +4 -4
- 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_response.rbs +20 -263
- data/sig/sentdm/models/contact_message_summary.rbs +84 -0
- data/sig/sentdm/models/contact_response.rbs +118 -0
- data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
- data/sig/sentdm/models/error_detail.rbs +39 -0
- data/sig/sentdm/models/inbound_message_event_payload.rbs +10 -14
- data/sig/sentdm/models/me_retrieve_response.rbs +28 -176
- data/sig/sentdm/models/message_event_payload.rbs +5 -7
- 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_event_payload.rbs +13 -17
- data/sig/sentdm/models/template_list_response.rbs +19 -230
- 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_response.rbs +14 -142
- data/sig/sentdm/models/webhook_list_response.rbs +20 -255
- 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 +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 +9 -9
- 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 +98 -68
- data/lib/sentdm/models/contact_create_response.rb +0 -249
- 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_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_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_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_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_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_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_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_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,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
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class ErrorDetail < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute code
|
|
7
|
+
# Machine-readable error code (e.g., "RESOURCE_001")
|
|
8
|
+
#
|
|
9
|
+
# @return [String, nil]
|
|
10
|
+
optional :code, String
|
|
11
|
+
|
|
12
|
+
# @!attribute details
|
|
13
|
+
# Additional validation error details (field-level errors)
|
|
14
|
+
#
|
|
15
|
+
# @return [Hash{Symbol=>Array<String>}, nil]
|
|
16
|
+
optional :details, Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::ArrayOf[String]], nil?: true
|
|
17
|
+
|
|
18
|
+
# @!attribute doc_url
|
|
19
|
+
# URL to documentation about this error
|
|
20
|
+
#
|
|
21
|
+
# @return [String, nil]
|
|
22
|
+
optional :doc_url, String, nil?: true
|
|
23
|
+
|
|
24
|
+
# @!attribute message
|
|
25
|
+
# Human-readable error message
|
|
26
|
+
#
|
|
27
|
+
# @return [String, nil]
|
|
28
|
+
optional :message, String
|
|
29
|
+
|
|
30
|
+
# @!method initialize(code: nil, details: nil, doc_url: nil, message: nil)
|
|
31
|
+
# Error information
|
|
32
|
+
#
|
|
33
|
+
# @param code [String] Machine-readable error code (e.g., "RESOURCE_001")
|
|
34
|
+
#
|
|
35
|
+
# @param details [Hash{Symbol=>Array<String>}, nil] Additional validation error details (field-level errors)
|
|
36
|
+
#
|
|
37
|
+
# @param doc_url [String, nil] URL to documentation about this error
|
|
38
|
+
#
|
|
39
|
+
# @param message [String] Human-readable error message
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -3,6 +3,18 @@
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Models
|
|
5
5
|
class InboundMessageEventPayload < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute inbound_number
|
|
7
|
+
# The contact's number in E.164 format, meaning the number the message came from.
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
required :inbound_number, String
|
|
11
|
+
|
|
12
|
+
# @!attribute received_at
|
|
13
|
+
# When the message was received, in UTC (yyyy-MM-ddTHH:mm:ssZ).
|
|
14
|
+
#
|
|
15
|
+
# @return [String]
|
|
16
|
+
required :received_at, String
|
|
17
|
+
|
|
6
18
|
# @!attribute account_id
|
|
7
19
|
# The account the message belongs to.
|
|
8
20
|
#
|
|
@@ -15,12 +27,6 @@ module Sentdm
|
|
|
15
27
|
# @return [String, nil]
|
|
16
28
|
optional :channel, String
|
|
17
29
|
|
|
18
|
-
# @!attribute inbound_number
|
|
19
|
-
# The contact's number in E.164 format, meaning the number the message came from.
|
|
20
|
-
#
|
|
21
|
-
# @return [String, nil]
|
|
22
|
-
optional :inbound_number, String
|
|
23
|
-
|
|
24
30
|
# @!attribute message_id
|
|
25
31
|
# The inbound message.
|
|
26
32
|
#
|
|
@@ -33,12 +39,6 @@ module Sentdm
|
|
|
33
39
|
# @return [String, nil]
|
|
34
40
|
optional :outbound_number, String
|
|
35
41
|
|
|
36
|
-
# @!attribute received_at
|
|
37
|
-
# When the message was received, in UTC (yyyy-MM-ddTHH:mm:ssZ).
|
|
38
|
-
#
|
|
39
|
-
# @return [String, nil]
|
|
40
|
-
optional :received_at, String
|
|
41
|
-
|
|
42
42
|
# @!attribute text
|
|
43
43
|
# The message body. Sent as null when the inbound message carried no text, for
|
|
44
44
|
# example a media-only message. The field is always present, so read it and check
|
|
@@ -54,25 +54,25 @@ module Sentdm
|
|
|
54
54
|
# @return [String, nil]
|
|
55
55
|
optional :updated_at, String
|
|
56
56
|
|
|
57
|
-
# @!method initialize(account_id: nil, channel: nil,
|
|
57
|
+
# @!method initialize(inbound_number:, received_at:, account_id: nil, channel: nil, message_id: nil, outbound_number: nil, text: nil, updated_at: nil)
|
|
58
58
|
# Some parameter documentations has been truncated, see
|
|
59
59
|
# {Sentdm::Models::InboundMessageEventPayload} for more details.
|
|
60
60
|
#
|
|
61
61
|
# Body of a message.received event. Delivered when a contact messages one of your
|
|
62
62
|
# numbers.
|
|
63
63
|
#
|
|
64
|
+
# @param inbound_number [String] The contact's number in E.164 format, meaning the number the message came from.
|
|
65
|
+
#
|
|
66
|
+
# @param received_at [String] When the message was received, in UTC (yyyy-MM-ddTHH:mm:ssZ).
|
|
67
|
+
#
|
|
64
68
|
# @param account_id [String] The account the message belongs to.
|
|
65
69
|
#
|
|
66
70
|
# @param channel [String] The channel the message arrived on, for example sms or whatsapp.
|
|
67
71
|
#
|
|
68
|
-
# @param inbound_number [String] The contact's number in E.164 format, meaning the number the message came from.
|
|
69
|
-
#
|
|
70
72
|
# @param message_id [String] The inbound message.
|
|
71
73
|
#
|
|
72
74
|
# @param outbound_number [String] Your number in E.164 format, meaning the number the message was addressed to.
|
|
73
75
|
#
|
|
74
|
-
# @param received_at [String] When the message was received, in UTC (yyyy-MM-ddTHH:mm:ssZ).
|
|
75
|
-
#
|
|
76
76
|
# @param text [String, nil] The message body. Sent as null when the inbound message carried no text, for
|
|
77
77
|
#
|
|
78
78
|
# @param updated_at [String] When the message was received, in UTC (yyyy-MM-ddTHH:mm:ssZ). Same value as
|