sentdm 0.25.0 → 0.27.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 +39 -0
- data/README.md +7 -11
- data/lib/sentdm/client.rb +4 -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/{sent_dm_services_common_contracts_poc_os_authentication_config.rb → authentication_config.rb} +2 -3
- data/lib/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rb → brand_business_info.rb} +5 -7
- data/lib/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rb → brand_compliance_info.rb} +2 -10
- data/lib/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rb → brand_contact_info.rb} +1 -1
- data/lib/sentdm/models/brands_brand_data.rb +9 -13
- data/lib/sentdm/models/contact_message_summary.rb +76 -0
- data/lib/sentdm/models/contact_retrieve_message_summary_params.rb +26 -0
- data/lib/sentdm/models/conversation_list_messages_params.rb +38 -0
- data/lib/sentdm/models/conversation_list_params.rb +32 -0
- data/lib/sentdm/models/conversation_messages_list.rb +245 -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/message_event.rb +53 -0
- data/lib/sentdm/models/message_event_payload.rb +92 -0
- data/lib/sentdm/models/message_send_response.rb +2 -6
- data/lib/sentdm/models/profile_detail.rb +13 -13
- data/lib/sentdm/models/profile_update_params.rb +2 -2
- data/lib/sentdm/models/profiles/{api_response_of_tcr_campaign_with_use_cases.rb → api_response_of_brand_campaign.rb} +5 -5
- data/lib/sentdm/models/profiles/{campaign_list_response.rb → api_response_of_list_of_brand_campaign.rb} +4 -6
- data/lib/sentdm/models/profiles/{tcr_campaign_with_use_cases.rb → brand_campaign.rb} +63 -111
- data/lib/sentdm/models/profiles/campaign_data.rb +13 -6
- data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
- data/lib/sentdm/models/profiles/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rb → campaign_use_case_data.rb} +1 -1
- data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_body.rb → template_body.rb} +2 -3
- data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button.rb → template_button.rb} +5 -6
- data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button_props.rb → template_button_props.rb} +2 -3
- data/lib/sentdm/models/template_definition.rb +15 -19
- data/lib/sentdm/models/template_event.rb +52 -0
- data/lib/sentdm/models/template_event_payload.rb +88 -0
- data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_footer.rb → template_footer.rb} +1 -1
- data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_header.rb → template_header.rb} +2 -3
- data/lib/sentdm/models/webhook_list_events_response.rb +45 -3
- data/lib/sentdm/models.rb +44 -27
- data/lib/sentdm/resources/contacts.rb +30 -0
- data/lib/sentdm/resources/conversations.rb +82 -0
- data/lib/sentdm/resources/messages.rb +6 -1
- data/lib/sentdm/resources/profiles/campaigns.rb +6 -6
- data/lib/sentdm/resources/profiles.rb +34 -22
- data/lib/sentdm/resources/users.rb +3 -3
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +28 -14
- data/rbi/sentdm/client.rbi +3 -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/{sent_dm_services_common_contracts_poc_os_authentication_config.rbi → authentication_config.rbi} +2 -5
- data/rbi/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbi → brand_business_info.rbi} +12 -30
- data/rbi/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbi → brand_compliance_info.rbi} +2 -13
- data/rbi/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbi → brand_contact_info.rbi} +2 -5
- data/rbi/sentdm/models/brands_brand_data.rbi +12 -51
- data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
- data/rbi/sentdm/models/contact_retrieve_message_summary_params.rbi +49 -0
- data/rbi/sentdm/models/conversation_list_messages_params.rbi +65 -0
- data/rbi/sentdm/models/conversation_list_params.rbi +51 -0
- data/rbi/sentdm/models/conversation_messages_list.rbi +419 -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/message_event.rbi +86 -0
- data/rbi/sentdm/models/message_event_payload.rbi +132 -0
- data/rbi/sentdm/models/message_send_response.rbi +2 -4
- data/rbi/sentdm/models/profile_detail.rbi +10 -12
- data/rbi/sentdm/models/profile_update_params.rbi +2 -2
- data/rbi/sentdm/models/profiles/{api_response_of_tcr_campaign_with_use_cases.rbi → api_response_of_brand_campaign.rbi} +8 -10
- data/rbi/sentdm/models/profiles/{campaign_list_response.rbi → api_response_of_list_of_brand_campaign.rbi} +5 -13
- data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
- data/rbi/sentdm/models/profiles/campaign_data.rbi +16 -18
- data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
- data/rbi/sentdm/models/profiles/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbi → campaign_use_case_data.rbi} +2 -2
- data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_body.rbi → template_body.rbi} +2 -7
- data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button.rbi → template_button.rbi} +6 -22
- data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button_props.rbi → template_button_props.rbi} +2 -5
- data/rbi/sentdm/models/template_definition.rbi +19 -87
- data/rbi/sentdm/models/template_event.rbi +84 -0
- data/rbi/sentdm/models/template_event_payload.rbi +131 -0
- data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_footer.rbi → template_footer.rbi} +2 -5
- data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_header.rbi → template_header.rbi} +2 -5
- data/rbi/sentdm/models/webhook_list_events_response.rbi +60 -4
- data/rbi/sentdm/models.rbi +48 -27
- data/rbi/sentdm/resources/contacts.rbi +20 -0
- data/rbi/sentdm/resources/conversations.rbi +61 -0
- data/rbi/sentdm/resources/messages.rbi +6 -1
- data/rbi/sentdm/resources/profiles/campaigns.rbi +3 -3
- data/rbi/sentdm/resources/profiles.rbi +32 -20
- data/rbi/sentdm/resources/users.rbi +3 -2
- data/sig/sentdm/client.rbs +2 -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/{sent_dm_services_common_contracts_poc_os_authentication_config.rbs → authentication_config.rbs} +2 -2
- data/sig/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbs → brand_business_info.rbs} +7 -7
- data/sig/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbs → brand_compliance_info.rbs} +2 -7
- data/sig/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbs → brand_contact_info.rbs} +2 -2
- data/sig/sentdm/models/brands_brand_data.rbs +12 -12
- data/sig/sentdm/models/contact_message_summary.rbs +84 -0
- data/sig/sentdm/models/contact_retrieve_message_summary_params.rbs +30 -0
- data/sig/sentdm/models/conversation_list_messages_params.rbs +38 -0
- data/sig/sentdm/models/conversation_list_params.rbs +34 -0
- data/sig/sentdm/models/conversation_messages_list.rbs +240 -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/message_event.rbs +39 -0
- data/sig/sentdm/models/message_event_payload.rbs +72 -0
- data/sig/sentdm/models/profile_detail.rbs +0 -5
- data/sig/sentdm/models/profiles/{campaign_list_response.rbs → api_response_of_brand_campaign.rbs} +6 -6
- data/sig/sentdm/models/profiles/{api_response_of_tcr_campaign_with_use_cases.rbs → api_response_of_list_of_brand_campaign.rbs} +6 -6
- data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
- data/sig/sentdm/models/profiles/campaign_data.rbs +12 -7
- data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
- data/sig/sentdm/models/profiles/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbs → campaign_use_case_data.rbs} +2 -2
- data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_body.rbs → template_body.rbs} +2 -2
- data/sig/sentdm/models/template_button.rbs +28 -0
- data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button_props.rbs → template_button_props.rbs} +2 -2
- data/sig/sentdm/models/template_definition.rbs +20 -20
- data/sig/sentdm/models/template_event.rbs +39 -0
- data/sig/sentdm/models/template_event_payload.rbs +76 -0
- data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_footer.rbs → template_footer.rbs} +2 -2
- data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_header.rbs → template_header.rbs} +2 -2
- data/sig/sentdm/models/webhook_list_events_response.rbs +18 -5
- data/sig/sentdm/models.rbs +44 -18
- data/sig/sentdm/resources/contacts.rbs +6 -0
- data/sig/sentdm/resources/conversations.rbs +22 -0
- data/sig/sentdm/resources/profiles/campaigns.rbs +3 -3
- metadata +86 -44
- data/lib/sentdm/models/profiles/base_dto.rb +0 -32
- data/rbi/sentdm/models/profiles/base_dto.rbi +0 -53
- data/rbi/sentdm/models/profiles/tcr_campaign_with_use_cases.rbi +0 -425
- data/sig/sentdm/models/profiles/base_dto.rbs +0 -27
- data/sig/sentdm/models/profiles/tcr_campaign_with_use_cases.rbs +0 -306
- data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbs +0 -32
|
@@ -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, most recent first.
|
|
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, most recent first.
|
|
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,52 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class InboundMessageEvent < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute event
|
|
7
|
+
# The specific event within the family, for example message.delivered or
|
|
8
|
+
# message.received. Absent on events that have no subtype, so treat it as
|
|
9
|
+
# optional.
|
|
10
|
+
#
|
|
11
|
+
# @return [String, nil]
|
|
12
|
+
optional :event, String, nil?: true
|
|
13
|
+
|
|
14
|
+
# @!attribute field
|
|
15
|
+
# The event family, for example message or templates. Route on this first, then on
|
|
16
|
+
# event for the specific change.
|
|
17
|
+
#
|
|
18
|
+
# @return [String, nil]
|
|
19
|
+
optional :field, String
|
|
20
|
+
|
|
21
|
+
# @!attribute payload
|
|
22
|
+
# Body of a message.received event. Delivered when a contact messages one of your
|
|
23
|
+
# numbers.
|
|
24
|
+
#
|
|
25
|
+
# @return [Sentdm::Models::InboundMessageEventPayload, nil]
|
|
26
|
+
optional :payload, -> { Sentdm::InboundMessageEventPayload }, nil?: true
|
|
27
|
+
|
|
28
|
+
# @!attribute timestamp
|
|
29
|
+
# When Sent emitted the event, in UTC (yyyy-MM-ddTHH:mm:ssZ). This is the emission
|
|
30
|
+
# time, not the time the underlying change happened. Use the timestamp inside the
|
|
31
|
+
# payload for the latter.
|
|
32
|
+
#
|
|
33
|
+
# @return [String, nil]
|
|
34
|
+
optional :timestamp, String
|
|
35
|
+
|
|
36
|
+
# @!method initialize(event: nil, field: nil, payload: nil, timestamp: nil)
|
|
37
|
+
# Some parameter documentations has been truncated, see
|
|
38
|
+
# {Sentdm::Models::InboundMessageEvent} for more details.
|
|
39
|
+
#
|
|
40
|
+
# The envelope Sent POSTs to a subscribed webhook endpoint. Every event shares
|
|
41
|
+
# this shape and varies only in Payload.
|
|
42
|
+
#
|
|
43
|
+
# @param event [String, nil] The specific event within the family, for example message.delivered or
|
|
44
|
+
#
|
|
45
|
+
# @param field [String] The event family, for example message or templates. Route on this first, then
|
|
46
|
+
#
|
|
47
|
+
# @param payload [Sentdm::Models::InboundMessageEventPayload, nil] Body of a message.received event. Delivered when a contact messages one of your
|
|
48
|
+
#
|
|
49
|
+
# @param timestamp [String] When Sent emitted the event, in UTC (yyyy-MM-ddTHH:mm:ssZ). This is the emission
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class InboundMessageEventPayload < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute account_id
|
|
7
|
+
# The account the message belongs to.
|
|
8
|
+
#
|
|
9
|
+
# @return [String, nil]
|
|
10
|
+
optional :account_id, String
|
|
11
|
+
|
|
12
|
+
# @!attribute channel
|
|
13
|
+
# The channel the message arrived on, for example sms or whatsapp.
|
|
14
|
+
#
|
|
15
|
+
# @return [String, nil]
|
|
16
|
+
optional :channel, String
|
|
17
|
+
|
|
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
|
+
# @!attribute message_id
|
|
25
|
+
# The inbound message.
|
|
26
|
+
#
|
|
27
|
+
# @return [String, nil]
|
|
28
|
+
optional :message_id, String
|
|
29
|
+
|
|
30
|
+
# @!attribute outbound_number
|
|
31
|
+
# Your number in E.164 format, meaning the number the message was addressed to.
|
|
32
|
+
#
|
|
33
|
+
# @return [String, nil]
|
|
34
|
+
optional :outbound_number, String
|
|
35
|
+
|
|
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
|
+
# @!attribute text
|
|
43
|
+
# The message body. Sent as null when the inbound message carried no text, for
|
|
44
|
+
# example a media-only message. The field is always present, so read it and check
|
|
45
|
+
# for null rather than checking whether the key exists.
|
|
46
|
+
#
|
|
47
|
+
# @return [String, nil]
|
|
48
|
+
optional :text, String, nil?: true
|
|
49
|
+
|
|
50
|
+
# @!attribute updated_at
|
|
51
|
+
# When the message was received, in UTC (yyyy-MM-ddTHH:mm:ssZ). Same value as
|
|
52
|
+
# ReceivedAt, kept for envelope consistency with outbound events.
|
|
53
|
+
#
|
|
54
|
+
# @return [String, nil]
|
|
55
|
+
optional :updated_at, String
|
|
56
|
+
|
|
57
|
+
# @!method initialize(account_id: nil, channel: nil, inbound_number: nil, message_id: nil, outbound_number: nil, received_at: nil, text: nil, updated_at: nil)
|
|
58
|
+
# Some parameter documentations has been truncated, see
|
|
59
|
+
# {Sentdm::Models::InboundMessageEventPayload} for more details.
|
|
60
|
+
#
|
|
61
|
+
# Body of a message.received event. Delivered when a contact messages one of your
|
|
62
|
+
# numbers.
|
|
63
|
+
#
|
|
64
|
+
# @param account_id [String] The account the message belongs to.
|
|
65
|
+
#
|
|
66
|
+
# @param channel [String] The channel the message arrived on, for example sms or whatsapp.
|
|
67
|
+
#
|
|
68
|
+
# @param inbound_number [String] The contact's number in E.164 format, meaning the number the message came from.
|
|
69
|
+
#
|
|
70
|
+
# @param message_id [String] The inbound message.
|
|
71
|
+
#
|
|
72
|
+
# @param outbound_number [String] Your number in E.164 format, meaning the number the message was addressed to.
|
|
73
|
+
#
|
|
74
|
+
# @param received_at [String] When the message was received, in UTC (yyyy-MM-ddTHH:mm:ssZ).
|
|
75
|
+
#
|
|
76
|
+
# @param text [String, nil] The message body. Sent as null when the inbound message carried no text, for
|
|
77
|
+
#
|
|
78
|
+
# @param updated_at [String] When the message was received, in UTC (yyyy-MM-ddTHH:mm:ssZ). Same value as
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class MessageEvent < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute event
|
|
7
|
+
# The specific event within the family, for example message.delivered or
|
|
8
|
+
# message.received. Absent on events that have no subtype, so treat it as
|
|
9
|
+
# optional.
|
|
10
|
+
#
|
|
11
|
+
# @return [String, nil]
|
|
12
|
+
optional :event, String, nil?: true
|
|
13
|
+
|
|
14
|
+
# @!attribute field
|
|
15
|
+
# The event family, for example message or templates. Route on this first, then on
|
|
16
|
+
# event for the specific change.
|
|
17
|
+
#
|
|
18
|
+
# @return [String, nil]
|
|
19
|
+
optional :field, String
|
|
20
|
+
|
|
21
|
+
# @!attribute payload
|
|
22
|
+
# Body of an outbound message lifecycle event. Delivered once per status change,
|
|
23
|
+
# so a single message produces several of these as it moves toward a terminal
|
|
24
|
+
# status.
|
|
25
|
+
#
|
|
26
|
+
# @return [Sentdm::Models::MessageEventPayload, nil]
|
|
27
|
+
optional :payload, -> { Sentdm::MessageEventPayload }, nil?: true
|
|
28
|
+
|
|
29
|
+
# @!attribute timestamp
|
|
30
|
+
# When Sent emitted the event, in UTC (yyyy-MM-ddTHH:mm:ssZ). This is the emission
|
|
31
|
+
# time, not the time the underlying change happened. Use the timestamp inside the
|
|
32
|
+
# payload for the latter.
|
|
33
|
+
#
|
|
34
|
+
# @return [String, nil]
|
|
35
|
+
optional :timestamp, String
|
|
36
|
+
|
|
37
|
+
# @!method initialize(event: nil, field: nil, payload: nil, timestamp: nil)
|
|
38
|
+
# Some parameter documentations has been truncated, see
|
|
39
|
+
# {Sentdm::Models::MessageEvent} for more details.
|
|
40
|
+
#
|
|
41
|
+
# The envelope Sent POSTs to a subscribed webhook endpoint. Every event shares
|
|
42
|
+
# this shape and varies only in Payload.
|
|
43
|
+
#
|
|
44
|
+
# @param event [String, nil] The specific event within the family, for example message.delivered or
|
|
45
|
+
#
|
|
46
|
+
# @param field [String] The event family, for example message or templates. Route on this first, then
|
|
47
|
+
#
|
|
48
|
+
# @param payload [Sentdm::Models::MessageEventPayload, nil] Body of an outbound message lifecycle event. Delivered once per status change, s
|
|
49
|
+
#
|
|
50
|
+
# @param timestamp [String] When Sent emitted the event, in UTC (yyyy-MM-ddTHH:mm:ssZ). This is the emission
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class MessageEventPayload < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute account_id
|
|
7
|
+
# The account the message belongs to.
|
|
8
|
+
#
|
|
9
|
+
# @return [String, nil]
|
|
10
|
+
optional :account_id, String
|
|
11
|
+
|
|
12
|
+
# @!attribute agent_id
|
|
13
|
+
# The agent attributed to the send, when the send was attributed to one.
|
|
14
|
+
#
|
|
15
|
+
# @return [String, nil]
|
|
16
|
+
optional :agent_id, String, nil?: true
|
|
17
|
+
|
|
18
|
+
# @!attribute channel
|
|
19
|
+
# The channel the message went out on, for example sms or whatsapp. A message that
|
|
20
|
+
# falls back to another channel reports the channel actually used.
|
|
21
|
+
#
|
|
22
|
+
# @return [String, nil]
|
|
23
|
+
optional :channel, String
|
|
24
|
+
|
|
25
|
+
# @!attribute message_id
|
|
26
|
+
# The message this event describes. Stable across every event in the message's
|
|
27
|
+
# lifecycle, so use it to correlate them.
|
|
28
|
+
#
|
|
29
|
+
# @return [String, nil]
|
|
30
|
+
optional :message_id, String
|
|
31
|
+
|
|
32
|
+
# @!attribute message_status
|
|
33
|
+
# The status the message just reached, for example SENT, DELIVERED, or FAILED.
|
|
34
|
+
# Sent means dispatched and delivered means confirmed, so treat them as distinct
|
|
35
|
+
# outcomes.
|
|
36
|
+
#
|
|
37
|
+
# @return [String, nil]
|
|
38
|
+
optional :message_status, String
|
|
39
|
+
|
|
40
|
+
# @!attribute outbound_number
|
|
41
|
+
# The recipient's number in E.164 format.
|
|
42
|
+
#
|
|
43
|
+
# @return [String, nil]
|
|
44
|
+
optional :outbound_number, String
|
|
45
|
+
|
|
46
|
+
# @!attribute template_id
|
|
47
|
+
# The template the message was sent from, when it was sent from one.
|
|
48
|
+
#
|
|
49
|
+
# @return [String, nil]
|
|
50
|
+
optional :template_id, String, nil?: true
|
|
51
|
+
|
|
52
|
+
# @!attribute template_name
|
|
53
|
+
# Name of the template the message was sent from. Omitted when the message wasn't
|
|
54
|
+
# template-based.
|
|
55
|
+
#
|
|
56
|
+
# @return [String, nil]
|
|
57
|
+
optional :template_name, String, nil?: true
|
|
58
|
+
|
|
59
|
+
# @!attribute updated_at
|
|
60
|
+
# When the message reached MessageStatus, in UTC (yyyy-MM-ddTHH:mm:ssZ).
|
|
61
|
+
#
|
|
62
|
+
# @return [String, nil]
|
|
63
|
+
optional :updated_at, String
|
|
64
|
+
|
|
65
|
+
# @!method initialize(account_id: nil, agent_id: nil, channel: nil, message_id: nil, message_status: nil, outbound_number: nil, template_id: nil, template_name: nil, updated_at: nil)
|
|
66
|
+
# Some parameter documentations has been truncated, see
|
|
67
|
+
# {Sentdm::Models::MessageEventPayload} for more details.
|
|
68
|
+
#
|
|
69
|
+
# Body of an outbound message lifecycle event. Delivered once per status change,
|
|
70
|
+
# so a single message produces several of these as it moves toward a terminal
|
|
71
|
+
# status.
|
|
72
|
+
#
|
|
73
|
+
# @param account_id [String] The account the message belongs to.
|
|
74
|
+
#
|
|
75
|
+
# @param agent_id [String, nil] The agent attributed to the send, when the send was attributed to one.
|
|
76
|
+
#
|
|
77
|
+
# @param channel [String] The channel the message went out on, for example sms or whatsapp. A message
|
|
78
|
+
#
|
|
79
|
+
# @param message_id [String] The message this event describes. Stable across every event in the message's lif
|
|
80
|
+
#
|
|
81
|
+
# @param message_status [String] The status the message just reached, for example SENT, DELIVERED, or
|
|
82
|
+
#
|
|
83
|
+
# @param outbound_number [String] The recipient's number in E.164 format.
|
|
84
|
+
#
|
|
85
|
+
# @param template_id [String, nil] The template the message was sent from, when it was sent from one.
|
|
86
|
+
#
|
|
87
|
+
# @param template_name [String, nil] Name of the template the message was sent from. Omitted when the message wasn't
|
|
88
|
+
#
|
|
89
|
+
# @param updated_at [String] When the message reached MessageStatus, in UTC
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
@@ -49,8 +49,7 @@ module Sentdm
|
|
|
49
49
|
-> { Sentdm::Internal::Type::ArrayOf[Sentdm::Models::MessageSendResponse::Data::Recipient] }
|
|
50
50
|
|
|
51
51
|
# @!attribute status
|
|
52
|
-
# Overall request status: "QUEUED" when the batch has been accepted
|
|
53
|
-
# to Kafka.
|
|
52
|
+
# Overall request status: "QUEUED" when the batch has been accepted for delivery.
|
|
54
53
|
#
|
|
55
54
|
# @return [String, nil]
|
|
56
55
|
optional :status, String
|
|
@@ -68,14 +67,11 @@ module Sentdm
|
|
|
68
67
|
optional :template_name, String
|
|
69
68
|
|
|
70
69
|
# @!method initialize(recipients: nil, status: nil, template_id: nil, template_name: nil)
|
|
71
|
-
# Some parameter documentations has been truncated, see
|
|
72
|
-
# {Sentdm::Models::MessageSendResponse::Data} for more details.
|
|
73
|
-
#
|
|
74
70
|
# Response for the multi-recipient send message endpoint
|
|
75
71
|
#
|
|
76
72
|
# @param recipients [Array<Sentdm::Models::MessageSendResponse::Data::Recipient>] Per-recipient message results
|
|
77
73
|
#
|
|
78
|
-
# @param status [String] Overall request status: "QUEUED" when the batch has been accepted
|
|
74
|
+
# @param status [String] Overall request status: "QUEUED" when the batch has been accepted for delivery.
|
|
79
75
|
#
|
|
80
76
|
# @param template_id [String] Template ID that was used
|
|
81
77
|
#
|
|
@@ -113,7 +113,7 @@ module Sentdm
|
|
|
113
113
|
optional :sending_phone_number, String, nil?: true
|
|
114
114
|
|
|
115
115
|
# @!attribute sending_phone_number_profile_id
|
|
116
|
-
# Reference to another profile
|
|
116
|
+
# Reference to another profile whose SMS configuration this profile uses
|
|
117
117
|
#
|
|
118
118
|
# @return [String, nil]
|
|
119
119
|
optional :sending_phone_number_profile_id, String, nil?: true
|
|
@@ -198,7 +198,7 @@ module Sentdm
|
|
|
198
198
|
#
|
|
199
199
|
# @param sending_phone_number [String, nil] Direct SMS phone number
|
|
200
200
|
#
|
|
201
|
-
# @param sending_phone_number_profile_id [String, nil] Reference to another profile
|
|
201
|
+
# @param sending_phone_number_profile_id [String, nil] Reference to another profile whose SMS configuration this profile uses
|
|
202
202
|
#
|
|
203
203
|
# @param sending_whatsapp_number_profile_id [String, nil] Reference to another profile for WhatsApp configuration
|
|
204
204
|
#
|
|
@@ -276,7 +276,12 @@ module Sentdm
|
|
|
276
276
|
optional :created_at, Time
|
|
277
277
|
|
|
278
278
|
# @!attribute csp_id
|
|
279
|
-
#
|
|
279
|
+
# @deprecated
|
|
280
|
+
#
|
|
281
|
+
# Deprecated and scheduled for removal. Identifies the Campaign Service Provider
|
|
282
|
+
# that registered the brand, which is Sent, so the value is the same for every
|
|
283
|
+
# brand and every account. Nothing on your side can act on it and there is no
|
|
284
|
+
# replacement. Stop reading it.
|
|
280
285
|
#
|
|
281
286
|
# @return [String, nil]
|
|
282
287
|
optional :csp_id, String, nil?: true
|
|
@@ -328,6 +333,9 @@ module Sentdm
|
|
|
328
333
|
optional :updated_at, Time, nil?: true
|
|
329
334
|
|
|
330
335
|
# @!method initialize(id: nil, business: nil, compliance: nil, contact: nil, created_at: nil, csp_id: nil, identity_status: nil, is_inherited: nil, status: nil, submitted_at: nil, submitted_to_tcr: nil, tcr_brand_id: nil, universal_ein: nil, updated_at: nil)
|
|
336
|
+
# Some parameter documentations has been truncated, see
|
|
337
|
+
# {Sentdm::Models::ProfileDetail::Brand} for more details.
|
|
338
|
+
#
|
|
331
339
|
# Brand response with nested contact, business, and compliance sections — mirrors
|
|
332
340
|
# the request structure.
|
|
333
341
|
#
|
|
@@ -341,7 +349,7 @@ module Sentdm
|
|
|
341
349
|
#
|
|
342
350
|
# @param created_at [Time] When the brand was created
|
|
343
351
|
#
|
|
344
|
-
# @param csp_id [String, nil]
|
|
352
|
+
# @param csp_id [String, nil] Deprecated and scheduled for removal. Identifies the Campaign Service Provider t
|
|
345
353
|
#
|
|
346
354
|
# @param identity_status [Symbol, Sentdm::Models::ProfileDetail::Brand::IdentityStatus, nil]
|
|
347
355
|
#
|
|
@@ -466,12 +474,6 @@ module Sentdm
|
|
|
466
474
|
# @return [Array<Sentdm::Models::DestinationCountry>, nil]
|
|
467
475
|
optional :destination_countries, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::DestinationCountry] }
|
|
468
476
|
|
|
469
|
-
# @!attribute expected_messaging_volume
|
|
470
|
-
# Expected daily messaging volume
|
|
471
|
-
#
|
|
472
|
-
# @return [String, nil]
|
|
473
|
-
optional :expected_messaging_volume, String, nil?: true
|
|
474
|
-
|
|
475
477
|
# @!attribute is_tcr_application
|
|
476
478
|
# Whether this is a TCR (Campaign Registry) application
|
|
477
479
|
#
|
|
@@ -501,15 +503,13 @@ module Sentdm
|
|
|
501
503
|
# @return [Symbol, Sentdm::Models::TcrVertical, nil]
|
|
502
504
|
optional :vertical, enum: -> { Sentdm::TcrVertical }, nil?: true
|
|
503
505
|
|
|
504
|
-
# @!method initialize(brand_relationship: nil, destination_countries: nil,
|
|
506
|
+
# @!method initialize(brand_relationship: nil, destination_countries: nil, is_tcr_application: nil, notes: nil, phone_number_prefix: nil, primary_use_case: nil, vertical: nil)
|
|
505
507
|
# Compliance and TCR-related information
|
|
506
508
|
#
|
|
507
509
|
# @param brand_relationship [Symbol, Sentdm::Models::TcrBrandRelationship, nil]
|
|
508
510
|
#
|
|
509
511
|
# @param destination_countries [Array<Sentdm::Models::DestinationCountry>] List of destination countries for messaging
|
|
510
512
|
#
|
|
511
|
-
# @param expected_messaging_volume [String, nil] Expected daily messaging volume
|
|
512
|
-
#
|
|
513
513
|
# @param is_tcr_application [Boolean] Whether this is a TCR (Campaign Registry) application
|
|
514
514
|
#
|
|
515
515
|
# @param notes [String, nil] Additional notes about the business or use case
|
|
@@ -119,7 +119,7 @@ module Sentdm
|
|
|
119
119
|
optional :sending_phone_number, String, nil?: true
|
|
120
120
|
|
|
121
121
|
# @!attribute sending_phone_number_profile_id
|
|
122
|
-
# Reference to another profile to use for SMS
|
|
122
|
+
# Reference to another profile to use for SMS configuration (optional)
|
|
123
123
|
#
|
|
124
124
|
# @return [String, nil]
|
|
125
125
|
optional :sending_phone_number_profile_id, String, nil?: true
|
|
@@ -192,7 +192,7 @@ module Sentdm
|
|
|
192
192
|
#
|
|
193
193
|
# @param sending_phone_number [String, nil] Direct phone number for SMS sending (optional)
|
|
194
194
|
#
|
|
195
|
-
# @param sending_phone_number_profile_id [String, nil] Reference to another profile to use for SMS
|
|
195
|
+
# @param sending_phone_number_profile_id [String, nil] Reference to another profile to use for SMS configuration (optional)
|
|
196
196
|
#
|
|
197
197
|
# @param sending_whatsapp_number_profile_id [String, nil] Reference to another profile to use for WhatsApp configuration (optional)
|
|
198
198
|
#
|
|
@@ -4,12 +4,12 @@ module Sentdm
|
|
|
4
4
|
module Models
|
|
5
5
|
module Profiles
|
|
6
6
|
# @see Sentdm::Resources::Profiles::Campaigns#create
|
|
7
|
-
class
|
|
7
|
+
class APIResponseOfBrandCampaign < Sentdm::Internal::Type::BaseModel
|
|
8
8
|
# @!attribute data
|
|
9
|
-
#
|
|
9
|
+
# A 10DLC campaign registered for a brand.
|
|
10
10
|
#
|
|
11
|
-
# @return [Sentdm::Models::Profiles::
|
|
12
|
-
optional :data, -> { Sentdm::Profiles::
|
|
11
|
+
# @return [Sentdm::Models::Profiles::BrandCampaign, nil]
|
|
12
|
+
optional :data, -> { Sentdm::Profiles::BrandCampaign }, nil?: true
|
|
13
13
|
|
|
14
14
|
# @!attribute error
|
|
15
15
|
# Error information
|
|
@@ -32,7 +32,7 @@ module Sentdm
|
|
|
32
32
|
# @!method initialize(data: nil, error: nil, meta: nil, success: nil)
|
|
33
33
|
# Standard API response envelope for all v3 endpoints
|
|
34
34
|
#
|
|
35
|
-
# @param data [Sentdm::Models::Profiles::
|
|
35
|
+
# @param data [Sentdm::Models::Profiles::BrandCampaign, nil] A 10DLC campaign registered for a brand.
|
|
36
36
|
#
|
|
37
37
|
# @param error [Sentdm::Models::ErrorDetail, nil] Error information
|
|
38
38
|
#
|