sentdm 0.47.0 → 0.48.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 +7 -0
- data/README.md +1 -1
- data/lib/sentdm/models/channels/sms/api_response_of_supplied_compliance.rb +67 -0
- data/lib/sentdm/models/channels/sms/ten_dlc_add_campaign_params.rb +161 -0
- data/lib/sentdm/models/channels/sms/ten_dlc_add_numbers_params.rb +65 -0
- data/lib/sentdm/models/channels/sms/ten_dlc_campaign_use_case.rb +56 -0
- data/lib/sentdm/models/channels/sms/ten_dlc_retrieve_compliance_params.rb +24 -0
- data/lib/sentdm/models/channels/sms/ten_dlc_update_campaign_params.rb +168 -0
- data/lib/sentdm/resources/channels/sms/ten_dlc.rb +310 -0
- data/lib/sentdm/resources/channels/sms.rb +31 -0
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +7 -0
- data/rbi/sentdm/models/channels/sms/api_response_of_supplied_compliance.rbi +117 -0
- data/rbi/sentdm/models/channels/sms/ten_dlc_add_campaign_params.rbi +255 -0
- data/rbi/sentdm/models/channels/sms/ten_dlc_add_numbers_params.rbi +100 -0
- data/rbi/sentdm/models/channels/sms/ten_dlc_campaign_use_case.rbi +143 -0
- data/rbi/sentdm/models/channels/sms/ten_dlc_retrieve_compliance_params.rbi +45 -0
- data/rbi/sentdm/models/channels/sms/ten_dlc_update_campaign_params.rbi +264 -0
- data/rbi/sentdm/resources/channels/sms/ten_dlc.rbi +358 -0
- data/rbi/sentdm/resources/channels/sms.rbi +30 -0
- data/sig/sentdm/models/channels/sms/api_response_of_supplied_compliance.rbs +43 -0
- data/sig/sentdm/models/channels/sms/ten_dlc_add_campaign_params.rbs +130 -0
- data/sig/sentdm/models/channels/sms/ten_dlc_add_numbers_params.rbs +54 -0
- data/sig/sentdm/models/channels/sms/ten_dlc_campaign_use_case.rbs +60 -0
- data/sig/sentdm/models/channels/sms/ten_dlc_retrieve_compliance_params.rbs +29 -0
- data/sig/sentdm/models/channels/sms/ten_dlc_update_campaign_params.rbs +137 -0
- data/sig/sentdm/resources/channels/sms/ten_dlc.rbs +64 -0
- data/sig/sentdm/resources/channels/sms.rbs +2 -0
- metadata +22 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d38c44fc0e4e6d7b1e17992e546d60c09313b6d3a6713e00a57b307b92b08a0f
|
|
4
|
+
data.tar.gz: 13b0a8172433b58b21c01bb556247b9fbae2d8ffa5a059f27fdcb4299053945d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5ff32390e560a211ac42f30d920b6ba078cb125e6af8fc10df9da6646724736955cedb6c0638cff56fe80b48e8cd4de56ea0fc390d6dcf11c1486c35d70daf6c
|
|
7
|
+
data.tar.gz: 6f1fa6cc5cb690d1a0f5a3ae4df2009219e3fbb863dbfe38cb09f2d06265ee1fdcf128c538a6b47fa2c9653a8d22e13ddd40ca17f148dc818db2cd8d8512f9c4
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.48.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.47.0...v0.48.0) (2026-11-12)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **api:** methods for the US 10DLC campaigns, numbers and market compliance ([ebf5826](https://github.com/sentdm/sent-dm-ruby/commit/ebf582605d11941f03d1bc9b251fb3f6599be090))
|
|
9
|
+
|
|
3
10
|
## [0.47.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.46.0...v0.47.0) (2026-11-12)
|
|
4
11
|
|
|
5
12
|
|
data/README.md
CHANGED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
module SMS
|
|
7
|
+
# @see Sentdm::Resources::Channels::SMS::TenDlc#retrieve_compliance
|
|
8
|
+
class APIResponseOfSuppliedCompliance < Sentdm::Internal::Type::BaseModel
|
|
9
|
+
# @!attribute data
|
|
10
|
+
# What a market has been given: the identity it registers under, its programme,
|
|
11
|
+
# and any documents attached.
|
|
12
|
+
#
|
|
13
|
+
# What it does not carry is what the market asks for. That is the subject of GET
|
|
14
|
+
# /v3/compliance/requirements, and it is the same answer for every caller — a
|
|
15
|
+
# description of what a compliance regime wants, not a record of one customer's
|
|
16
|
+
# progress through it. It was reported here as well for a while, which put the
|
|
17
|
+
# same array in six response shapes and left a caller deciding which of two
|
|
18
|
+
# sources to believe.
|
|
19
|
+
#
|
|
20
|
+
# Present on a list read for markets that register (carrying brand and campaign),
|
|
21
|
+
# but with documents absent — documents are not fetched for a list, because a
|
|
22
|
+
# catalog lookup and a document read per market would multiply across a page.
|
|
23
|
+
# Absent documents is distinct from an empty list: absent says they were not
|
|
24
|
+
# fetched; empty says the market has been given none. The parent object is null
|
|
25
|
+
# only when the market registers with nobody and compliance was not computed —
|
|
26
|
+
# nothing to show at all.
|
|
27
|
+
#
|
|
28
|
+
# @return [Sentdm::Models::Channels::SuppliedCompliance, nil]
|
|
29
|
+
optional :data, -> { Sentdm::Channels::SuppliedCompliance }, nil?: true
|
|
30
|
+
|
|
31
|
+
# @!attribute error
|
|
32
|
+
# Error information
|
|
33
|
+
#
|
|
34
|
+
# @return [Sentdm::Models::ErrorDetail, nil]
|
|
35
|
+
optional :error, -> { Sentdm::ErrorDetail }, nil?: true
|
|
36
|
+
|
|
37
|
+
# @!attribute meta
|
|
38
|
+
# Request and response metadata
|
|
39
|
+
#
|
|
40
|
+
# @return [Sentdm::Models::APIMeta, nil]
|
|
41
|
+
optional :meta, -> { Sentdm::APIMeta }
|
|
42
|
+
|
|
43
|
+
# @!attribute success
|
|
44
|
+
# Indicates whether the request was successful
|
|
45
|
+
#
|
|
46
|
+
# @return [Boolean, nil]
|
|
47
|
+
optional :success, Sentdm::Internal::Type::Boolean
|
|
48
|
+
|
|
49
|
+
# @!method initialize(data: nil, error: nil, meta: nil, success: nil)
|
|
50
|
+
# Some parameter documentations has been truncated, see
|
|
51
|
+
# {Sentdm::Models::Channels::SMS::APIResponseOfSuppliedCompliance} for more
|
|
52
|
+
# details.
|
|
53
|
+
#
|
|
54
|
+
# Standard API response envelope for all v3 endpoints
|
|
55
|
+
#
|
|
56
|
+
# @param data [Sentdm::Models::Channels::SuppliedCompliance, nil] What a market has been given: the identity it registers under, its programme, an
|
|
57
|
+
#
|
|
58
|
+
# @param error [Sentdm::Models::ErrorDetail, nil] Error information
|
|
59
|
+
#
|
|
60
|
+
# @param meta [Sentdm::Models::APIMeta] Request and response metadata
|
|
61
|
+
#
|
|
62
|
+
# @param success [Boolean] Indicates whether the request was successful
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
module SMS
|
|
7
|
+
# @see Sentdm::Resources::Channels::SMS::TenDlc#add_campaign
|
|
8
|
+
class TenDlcAddCampaignParams < Sentdm::Internal::Type::BaseModel
|
|
9
|
+
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
10
|
+
include Sentdm::Internal::Type::RequestParameters
|
|
11
|
+
|
|
12
|
+
# @!attribute idempotency_key
|
|
13
|
+
#
|
|
14
|
+
# @return [String]
|
|
15
|
+
required :idempotency_key, String
|
|
16
|
+
|
|
17
|
+
# @!attribute description
|
|
18
|
+
# What this programme sends. TCR description: what recipients will get and why, in
|
|
19
|
+
# a sentence. The only one of these TCR takes verbatim as a description of the
|
|
20
|
+
# programme, which is why it is asked for rather than derived from the customer's
|
|
21
|
+
# name. Required when `compliance.campaign.inherit != true`.
|
|
22
|
+
#
|
|
23
|
+
# @return [String, nil]
|
|
24
|
+
optional :description, String
|
|
25
|
+
|
|
26
|
+
# @!attribute help_keywords
|
|
27
|
+
# Help keywords. TCR helpKeywords, comma separated, e.g. HELP,INFO. Required when
|
|
28
|
+
# `compliance.campaign.inherit != true`.
|
|
29
|
+
#
|
|
30
|
+
# @return [String, nil]
|
|
31
|
+
optional :help_keywords, String
|
|
32
|
+
|
|
33
|
+
# @!attribute help_message
|
|
34
|
+
# Help reply. TCR helpMessage. Its presence is what sets subscriberHelp. Required
|
|
35
|
+
# when `compliance.campaign.inherit != true`.
|
|
36
|
+
#
|
|
37
|
+
# @return [String, nil]
|
|
38
|
+
optional :help_message, String
|
|
39
|
+
|
|
40
|
+
# @!attribute message_flow
|
|
41
|
+
# Consent narrative. TCR messageFlow: how recipients opt in, in prose. Under 40
|
|
42
|
+
# characters is refused, and carriers reject vague descriptions — say where opt-in
|
|
43
|
+
# happens, that the box is unchecked by default, and that consent is not a
|
|
44
|
+
# condition of purchase. Required when `compliance.campaign.inherit != true`.
|
|
45
|
+
#
|
|
46
|
+
# @return [String, nil]
|
|
47
|
+
optional :message_flow, String
|
|
48
|
+
|
|
49
|
+
# @!attribute opt_in_keywords
|
|
50
|
+
# Opt-in keywords. TCR optinKeywords, comma separated, e.g. START,YES. Required
|
|
51
|
+
# when `compliance.campaign.inherit != true`.
|
|
52
|
+
#
|
|
53
|
+
# @return [String, nil]
|
|
54
|
+
optional :opt_in_keywords, String
|
|
55
|
+
|
|
56
|
+
# @!attribute opt_in_message
|
|
57
|
+
# Opt-in confirmation. TCR optinMessage. Should state message frequency and that
|
|
58
|
+
# rates may apply. Its presence is what sets subscriberOptin. Required when
|
|
59
|
+
# `compliance.campaign.inherit != true`.
|
|
60
|
+
#
|
|
61
|
+
# @return [String, nil]
|
|
62
|
+
optional :opt_in_message, String
|
|
63
|
+
|
|
64
|
+
# @!attribute opt_out_keywords
|
|
65
|
+
# Opt-out keywords. TCR optoutKeywords, comma separated. STOP, END, CANCEL,
|
|
66
|
+
# UNSUBSCRIBE and QUIT are honoured regardless of what is declared. Required when
|
|
67
|
+
# `compliance.campaign.inherit != true`.
|
|
68
|
+
#
|
|
69
|
+
# @return [String, nil]
|
|
70
|
+
optional :opt_out_keywords, String
|
|
71
|
+
|
|
72
|
+
# @!attribute opt_out_message
|
|
73
|
+
# Opt-out confirmation. TCR optoutMessage. Its presence is what sets
|
|
74
|
+
# subscriberOptout. Required when `compliance.campaign.inherit != true`.
|
|
75
|
+
#
|
|
76
|
+
# @return [String, nil]
|
|
77
|
+
optional :opt_out_message, String
|
|
78
|
+
|
|
79
|
+
# @!attribute privacy_policy_link
|
|
80
|
+
# Privacy policy URL. TCR privacyPolicyLink. Required when
|
|
81
|
+
# `compliance.campaign.inherit != true`.
|
|
82
|
+
#
|
|
83
|
+
# @return [String, nil]
|
|
84
|
+
optional :privacy_policy_link, String
|
|
85
|
+
|
|
86
|
+
# @!attribute sandbox
|
|
87
|
+
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
88
|
+
# for testing integrations without actual execution
|
|
89
|
+
#
|
|
90
|
+
# @return [Boolean, nil]
|
|
91
|
+
optional :sandbox, Sentdm::Internal::Type::Boolean
|
|
92
|
+
|
|
93
|
+
# @!attribute terms_and_conditions_link
|
|
94
|
+
# Terms and conditions URL. TCR termsAndConditionsLink. Required when
|
|
95
|
+
# `compliance.campaign.inherit != true`.
|
|
96
|
+
#
|
|
97
|
+
# @return [String, nil]
|
|
98
|
+
optional :terms_and_conditions_link, String
|
|
99
|
+
|
|
100
|
+
# @!attribute use_cases
|
|
101
|
+
# Use cases. What the campaign sends, and an example of each. One to five entries;
|
|
102
|
+
# how they register is decided by volume, never declared. Required when
|
|
103
|
+
# `compliance.campaign.inherit != true`.
|
|
104
|
+
#
|
|
105
|
+
# @return [Array<Sentdm::Models::Channels::SMS::TenDlcCampaignUseCase>, nil]
|
|
106
|
+
optional :use_cases, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Channels::SMS::TenDlcCampaignUseCase] }
|
|
107
|
+
|
|
108
|
+
# @!attribute volume
|
|
109
|
+
# Expected monthly volume. Decides how the campaign registers and which fee tier
|
|
110
|
+
# applies: below the low-volume threshold it registers as LOW_VOLUME with
|
|
111
|
+
# sub-use-cases, above it as a single use case or MIXED. Omitting it registers the
|
|
112
|
+
# campaign at the higher-fee standard tier.
|
|
113
|
+
#
|
|
114
|
+
# @return [String, nil]
|
|
115
|
+
optional :volume, String
|
|
116
|
+
|
|
117
|
+
# @!attribute x_profile_id
|
|
118
|
+
#
|
|
119
|
+
# @return [String, nil]
|
|
120
|
+
optional :x_profile_id, String
|
|
121
|
+
|
|
122
|
+
# @!method initialize(idempotency_key:, description: nil, help_keywords: nil, help_message: nil, message_flow: nil, opt_in_keywords: nil, opt_in_message: nil, opt_out_keywords: nil, opt_out_message: nil, privacy_policy_link: nil, sandbox: nil, terms_and_conditions_link: nil, use_cases: nil, volume: nil, x_profile_id: nil, request_options: {})
|
|
123
|
+
# Some parameter documentations has been truncated, see
|
|
124
|
+
# {Sentdm::Models::Channels::SMS::TenDlcAddCampaignParams} for more details.
|
|
125
|
+
#
|
|
126
|
+
# @param idempotency_key [String]
|
|
127
|
+
#
|
|
128
|
+
# @param description [String] What this programme sends. TCR description: what recipients will get and why, in
|
|
129
|
+
#
|
|
130
|
+
# @param help_keywords [String] Help keywords. TCR helpKeywords, comma separated, e.g. HELP,INFO. Required when
|
|
131
|
+
#
|
|
132
|
+
# @param help_message [String] Help reply. TCR helpMessage. Its presence is what sets subscriberHelp. Required
|
|
133
|
+
#
|
|
134
|
+
# @param message_flow [String] Consent narrative. TCR messageFlow: how recipients opt in, in prose. Under 40 ch
|
|
135
|
+
#
|
|
136
|
+
# @param opt_in_keywords [String] Opt-in keywords. TCR optinKeywords, comma separated, e.g. START,YES. Required wh
|
|
137
|
+
#
|
|
138
|
+
# @param opt_in_message [String] Opt-in confirmation. TCR optinMessage. Should state message frequency and that r
|
|
139
|
+
#
|
|
140
|
+
# @param opt_out_keywords [String] Opt-out keywords. TCR optoutKeywords, comma separated. STOP, END, CANCEL, UNSUBS
|
|
141
|
+
#
|
|
142
|
+
# @param opt_out_message [String] Opt-out confirmation. TCR optoutMessage. Its presence is what sets subscriberOpt
|
|
143
|
+
#
|
|
144
|
+
# @param privacy_policy_link [String] Privacy policy URL. TCR privacyPolicyLink. Required when `compliance.campaign.in
|
|
145
|
+
#
|
|
146
|
+
# @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
|
|
147
|
+
#
|
|
148
|
+
# @param terms_and_conditions_link [String] Terms and conditions URL. TCR termsAndConditionsLink. Required when `compliance.
|
|
149
|
+
#
|
|
150
|
+
# @param use_cases [Array<Sentdm::Models::Channels::SMS::TenDlcCampaignUseCase>] Use cases. What the campaign sends, and an example of each. One to five entries;
|
|
151
|
+
#
|
|
152
|
+
# @param volume [String] Expected monthly volume. Decides how the campaign registers and which fee tier a
|
|
153
|
+
#
|
|
154
|
+
# @param x_profile_id [String]
|
|
155
|
+
#
|
|
156
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
|
|
157
|
+
end
|
|
158
|
+
end
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
module SMS
|
|
7
|
+
# @see Sentdm::Resources::Channels::SMS::TenDlc#add_numbers
|
|
8
|
+
class TenDlcAddNumbersParams < Sentdm::Internal::Type::BaseModel
|
|
9
|
+
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
10
|
+
include Sentdm::Internal::Type::RequestParameters
|
|
11
|
+
|
|
12
|
+
# @!attribute campaign_id
|
|
13
|
+
# The campaign to add the numbers to, as compliance.campaigns[].id reports it.
|
|
14
|
+
# Required.
|
|
15
|
+
#
|
|
16
|
+
# @return [String]
|
|
17
|
+
required :campaign_id, String
|
|
18
|
+
|
|
19
|
+
# @!attribute numbers
|
|
20
|
+
# The numbers to add, one entry per area code, e.g. [{"area_code": "415",
|
|
21
|
+
# "quantity": 2}, {"quantity": 1}]. quantity defaults to 1, and an entry without
|
|
22
|
+
# area_code means any area code. Required.
|
|
23
|
+
#
|
|
24
|
+
# Added to what the campaign already asks for, never replacing it.
|
|
25
|
+
#
|
|
26
|
+
# @return [Array<Sentdm::Models::Channels::SMSNumberRequest, nil>]
|
|
27
|
+
required :numbers, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Channels::SMSNumberRequest, nil?: true] }
|
|
28
|
+
|
|
29
|
+
# @!attribute idempotency_key
|
|
30
|
+
#
|
|
31
|
+
# @return [String]
|
|
32
|
+
required :idempotency_key, String
|
|
33
|
+
|
|
34
|
+
# @!attribute sandbox
|
|
35
|
+
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
36
|
+
# for testing integrations without actual execution
|
|
37
|
+
#
|
|
38
|
+
# @return [Boolean, nil]
|
|
39
|
+
optional :sandbox, Sentdm::Internal::Type::Boolean
|
|
40
|
+
|
|
41
|
+
# @!attribute x_profile_id
|
|
42
|
+
#
|
|
43
|
+
# @return [String, nil]
|
|
44
|
+
optional :x_profile_id, String
|
|
45
|
+
|
|
46
|
+
# @!method initialize(campaign_id:, numbers:, idempotency_key:, sandbox: nil, x_profile_id: nil, request_options: {})
|
|
47
|
+
# Some parameter documentations has been truncated, see
|
|
48
|
+
# {Sentdm::Models::Channels::SMS::TenDlcAddNumbersParams} for more details.
|
|
49
|
+
#
|
|
50
|
+
# @param campaign_id [String] The campaign to add the numbers to, as compliance.campaigns[].id reports it. Req
|
|
51
|
+
#
|
|
52
|
+
# @param numbers [Array<Sentdm::Models::Channels::SMSNumberRequest, nil>] The numbers to add, one entry per area code, e.g. [{"area_code": "415", "quantit
|
|
53
|
+
#
|
|
54
|
+
# @param idempotency_key [String]
|
|
55
|
+
#
|
|
56
|
+
# @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
|
|
57
|
+
#
|
|
58
|
+
# @param x_profile_id [String]
|
|
59
|
+
#
|
|
60
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
module SMS
|
|
7
|
+
class TenDlcCampaignUseCase < Sentdm::Internal::Type::BaseModel
|
|
8
|
+
# @!attribute sample_messages
|
|
9
|
+
# Sample messages. TCR sample1..sample5 for this use case. One to five, each
|
|
10
|
+
# carrying the brand name and an opt-out instruction.
|
|
11
|
+
#
|
|
12
|
+
# @return [Array<Object>]
|
|
13
|
+
required :sample_messages, Sentdm::Internal::Type::ArrayOf[Sentdm::Internal::Type::Unknown]
|
|
14
|
+
|
|
15
|
+
# @!attribute use_case
|
|
16
|
+
# Use case. What this entry sends. MIXED and LOW_VOLUME are refused — volume
|
|
17
|
+
# decides those.
|
|
18
|
+
#
|
|
19
|
+
# @return [Symbol, Sentdm::Models::Channels::SMS::TenDlcCampaignUseCase::UseCase]
|
|
20
|
+
required :use_case, enum: -> { Sentdm::Channels::SMS::TenDlcCampaignUseCase::UseCase }
|
|
21
|
+
|
|
22
|
+
# @!method initialize(sample_messages:, use_case:)
|
|
23
|
+
# Some parameter documentations has been truncated, see
|
|
24
|
+
# {Sentdm::Models::Channels::SMS::TenDlcCampaignUseCase} for more details.
|
|
25
|
+
#
|
|
26
|
+
# @param sample_messages [Array<Object>] Sample messages. TCR sample1..sample5 for this use case. One to five, each carry
|
|
27
|
+
#
|
|
28
|
+
# @param use_case [Symbol, Sentdm::Models::Channels::SMS::TenDlcCampaignUseCase::UseCase] Use case. What this entry sends. MIXED and LOW_VOLUME are refused — volume decid
|
|
29
|
+
|
|
30
|
+
# Use case. What this entry sends. MIXED and LOW_VOLUME are refused — volume
|
|
31
|
+
# decides those.
|
|
32
|
+
#
|
|
33
|
+
# @see Sentdm::Models::Channels::SMS::TenDlcCampaignUseCase#use_case
|
|
34
|
+
module UseCase
|
|
35
|
+
extend Sentdm::Internal::Type::Enum
|
|
36
|
+
|
|
37
|
+
MARKETING = :MARKETING
|
|
38
|
+
ACCOUNT_NOTIFICATION = :ACCOUNT_NOTIFICATION
|
|
39
|
+
CUSTOMER_CARE = :CUSTOMER_CARE
|
|
40
|
+
FRAUD_ALERT = :FRAUD_ALERT
|
|
41
|
+
USE_CASE_2_FA = :"2FA"
|
|
42
|
+
DELIVERY_NOTIFICATION = :DELIVERY_NOTIFICATION
|
|
43
|
+
SECURITY_ALERT = :SECURITY_ALERT
|
|
44
|
+
M2_M = :M2M
|
|
45
|
+
HIGHER_EDUCATION = :HIGHER_EDUCATION
|
|
46
|
+
POLLING_VOTING = :POLLING_VOTING
|
|
47
|
+
PUBLIC_SERVICE_ANNOUNCEMENT = :PUBLIC_SERVICE_ANNOUNCEMENT
|
|
48
|
+
|
|
49
|
+
# @!method self.values
|
|
50
|
+
# @return [Array<Symbol>]
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
module SMS
|
|
7
|
+
# @see Sentdm::Resources::Channels::SMS::TenDlc#retrieve_compliance
|
|
8
|
+
class TenDlcRetrieveComplianceParams < Sentdm::Internal::Type::BaseModel
|
|
9
|
+
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
10
|
+
include Sentdm::Internal::Type::RequestParameters
|
|
11
|
+
|
|
12
|
+
# @!attribute x_profile_id
|
|
13
|
+
#
|
|
14
|
+
# @return [String, nil]
|
|
15
|
+
optional :x_profile_id, String
|
|
16
|
+
|
|
17
|
+
# @!method initialize(x_profile_id: nil, request_options: {})
|
|
18
|
+
# @param x_profile_id [String]
|
|
19
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Channels
|
|
6
|
+
module SMS
|
|
7
|
+
# @see Sentdm::Resources::Channels::SMS::TenDlc#update_campaign
|
|
8
|
+
class TenDlcUpdateCampaignParams < Sentdm::Internal::Type::BaseModel
|
|
9
|
+
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
10
|
+
include Sentdm::Internal::Type::RequestParameters
|
|
11
|
+
|
|
12
|
+
# @!attribute campaign_id
|
|
13
|
+
#
|
|
14
|
+
# @return [String]
|
|
15
|
+
required :campaign_id, String
|
|
16
|
+
|
|
17
|
+
# @!attribute description
|
|
18
|
+
# What this programme sends. TCR description: what recipients will get and why, in
|
|
19
|
+
# a sentence. The only one of these TCR takes verbatim as a description of the
|
|
20
|
+
# programme, which is why it is asked for rather than derived from the customer's
|
|
21
|
+
# name. Required when `compliance.campaign.inherit != true`.
|
|
22
|
+
#
|
|
23
|
+
# @return [String, nil]
|
|
24
|
+
optional :description, String
|
|
25
|
+
|
|
26
|
+
# @!attribute help_keywords
|
|
27
|
+
# Help keywords. TCR helpKeywords, comma separated, e.g. HELP,INFO. Required when
|
|
28
|
+
# `compliance.campaign.inherit != true`.
|
|
29
|
+
#
|
|
30
|
+
# @return [String, nil]
|
|
31
|
+
optional :help_keywords, String
|
|
32
|
+
|
|
33
|
+
# @!attribute help_message
|
|
34
|
+
# Help reply. TCR helpMessage. Its presence is what sets subscriberHelp. Required
|
|
35
|
+
# when `compliance.campaign.inherit != true`.
|
|
36
|
+
#
|
|
37
|
+
# @return [String, nil]
|
|
38
|
+
optional :help_message, String
|
|
39
|
+
|
|
40
|
+
# @!attribute message_flow
|
|
41
|
+
# Consent narrative. TCR messageFlow: how recipients opt in, in prose. Under 40
|
|
42
|
+
# characters is refused, and carriers reject vague descriptions — say where opt-in
|
|
43
|
+
# happens, that the box is unchecked by default, and that consent is not a
|
|
44
|
+
# condition of purchase. Required when `compliance.campaign.inherit != true`.
|
|
45
|
+
#
|
|
46
|
+
# @return [String, nil]
|
|
47
|
+
optional :message_flow, String
|
|
48
|
+
|
|
49
|
+
# @!attribute opt_in_keywords
|
|
50
|
+
# Opt-in keywords. TCR optinKeywords, comma separated, e.g. START,YES. Required
|
|
51
|
+
# when `compliance.campaign.inherit != true`.
|
|
52
|
+
#
|
|
53
|
+
# @return [String, nil]
|
|
54
|
+
optional :opt_in_keywords, String
|
|
55
|
+
|
|
56
|
+
# @!attribute opt_in_message
|
|
57
|
+
# Opt-in confirmation. TCR optinMessage. Should state message frequency and that
|
|
58
|
+
# rates may apply. Its presence is what sets subscriberOptin. Required when
|
|
59
|
+
# `compliance.campaign.inherit != true`.
|
|
60
|
+
#
|
|
61
|
+
# @return [String, nil]
|
|
62
|
+
optional :opt_in_message, String
|
|
63
|
+
|
|
64
|
+
# @!attribute opt_out_keywords
|
|
65
|
+
# Opt-out keywords. TCR optoutKeywords, comma separated. STOP, END, CANCEL,
|
|
66
|
+
# UNSUBSCRIBE and QUIT are honoured regardless of what is declared. Required when
|
|
67
|
+
# `compliance.campaign.inherit != true`.
|
|
68
|
+
#
|
|
69
|
+
# @return [String, nil]
|
|
70
|
+
optional :opt_out_keywords, String
|
|
71
|
+
|
|
72
|
+
# @!attribute opt_out_message
|
|
73
|
+
# Opt-out confirmation. TCR optoutMessage. Its presence is what sets
|
|
74
|
+
# subscriberOptout. Required when `compliance.campaign.inherit != true`.
|
|
75
|
+
#
|
|
76
|
+
# @return [String, nil]
|
|
77
|
+
optional :opt_out_message, String
|
|
78
|
+
|
|
79
|
+
# @!attribute privacy_policy_link
|
|
80
|
+
# Privacy policy URL. TCR privacyPolicyLink. Required when
|
|
81
|
+
# `compliance.campaign.inherit != true`.
|
|
82
|
+
#
|
|
83
|
+
# @return [String, nil]
|
|
84
|
+
optional :privacy_policy_link, String
|
|
85
|
+
|
|
86
|
+
# @!attribute sandbox
|
|
87
|
+
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
88
|
+
# for testing integrations without actual execution
|
|
89
|
+
#
|
|
90
|
+
# @return [Boolean, nil]
|
|
91
|
+
optional :sandbox, Sentdm::Internal::Type::Boolean
|
|
92
|
+
|
|
93
|
+
# @!attribute terms_and_conditions_link
|
|
94
|
+
# Terms and conditions URL. TCR termsAndConditionsLink. Required when
|
|
95
|
+
# `compliance.campaign.inherit != true`.
|
|
96
|
+
#
|
|
97
|
+
# @return [String, nil]
|
|
98
|
+
optional :terms_and_conditions_link, String
|
|
99
|
+
|
|
100
|
+
# @!attribute use_cases
|
|
101
|
+
# Use cases. What the campaign sends, and an example of each. One to five entries;
|
|
102
|
+
# how they register is decided by volume, never declared. Required when
|
|
103
|
+
# `compliance.campaign.inherit != true`.
|
|
104
|
+
#
|
|
105
|
+
# @return [Array<Sentdm::Models::Channels::SMS::TenDlcCampaignUseCase>, nil]
|
|
106
|
+
optional :use_cases, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Channels::SMS::TenDlcCampaignUseCase] }
|
|
107
|
+
|
|
108
|
+
# @!attribute volume
|
|
109
|
+
# Expected monthly volume. Decides how the campaign registers and which fee tier
|
|
110
|
+
# applies: below the low-volume threshold it registers as LOW_VOLUME with
|
|
111
|
+
# sub-use-cases, above it as a single use case or MIXED. Omitting it registers the
|
|
112
|
+
# campaign at the higher-fee standard tier.
|
|
113
|
+
#
|
|
114
|
+
# @return [String, nil]
|
|
115
|
+
optional :volume, String
|
|
116
|
+
|
|
117
|
+
# @!attribute idempotency_key
|
|
118
|
+
#
|
|
119
|
+
# @return [String, nil]
|
|
120
|
+
optional :idempotency_key, String
|
|
121
|
+
|
|
122
|
+
# @!attribute x_profile_id
|
|
123
|
+
#
|
|
124
|
+
# @return [String, nil]
|
|
125
|
+
optional :x_profile_id, String
|
|
126
|
+
|
|
127
|
+
# @!method initialize(campaign_id:, description: nil, help_keywords: nil, help_message: nil, message_flow: nil, opt_in_keywords: nil, opt_in_message: nil, opt_out_keywords: nil, opt_out_message: nil, privacy_policy_link: nil, sandbox: nil, terms_and_conditions_link: nil, use_cases: nil, volume: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
|
|
128
|
+
# Some parameter documentations has been truncated, see
|
|
129
|
+
# {Sentdm::Models::Channels::SMS::TenDlcUpdateCampaignParams} for more details.
|
|
130
|
+
#
|
|
131
|
+
# @param campaign_id [String]
|
|
132
|
+
#
|
|
133
|
+
# @param description [String] What this programme sends. TCR description: what recipients will get and why, in
|
|
134
|
+
#
|
|
135
|
+
# @param help_keywords [String] Help keywords. TCR helpKeywords, comma separated, e.g. HELP,INFO. Required when
|
|
136
|
+
#
|
|
137
|
+
# @param help_message [String] Help reply. TCR helpMessage. Its presence is what sets subscriberHelp. Required
|
|
138
|
+
#
|
|
139
|
+
# @param message_flow [String] Consent narrative. TCR messageFlow: how recipients opt in, in prose. Under 40 ch
|
|
140
|
+
#
|
|
141
|
+
# @param opt_in_keywords [String] Opt-in keywords. TCR optinKeywords, comma separated, e.g. START,YES. Required wh
|
|
142
|
+
#
|
|
143
|
+
# @param opt_in_message [String] Opt-in confirmation. TCR optinMessage. Should state message frequency and that r
|
|
144
|
+
#
|
|
145
|
+
# @param opt_out_keywords [String] Opt-out keywords. TCR optoutKeywords, comma separated. STOP, END, CANCEL, UNSUBS
|
|
146
|
+
#
|
|
147
|
+
# @param opt_out_message [String] Opt-out confirmation. TCR optoutMessage. Its presence is what sets subscriberOpt
|
|
148
|
+
#
|
|
149
|
+
# @param privacy_policy_link [String] Privacy policy URL. TCR privacyPolicyLink. Required when `compliance.campaign.in
|
|
150
|
+
#
|
|
151
|
+
# @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
|
|
152
|
+
#
|
|
153
|
+
# @param terms_and_conditions_link [String] Terms and conditions URL. TCR termsAndConditionsLink. Required when `compliance.
|
|
154
|
+
#
|
|
155
|
+
# @param use_cases [Array<Sentdm::Models::Channels::SMS::TenDlcCampaignUseCase>] Use cases. What the campaign sends, and an example of each. One to five entries;
|
|
156
|
+
#
|
|
157
|
+
# @param volume [String] Expected monthly volume. Decides how the campaign registers and which fee tier a
|
|
158
|
+
#
|
|
159
|
+
# @param idempotency_key [String]
|
|
160
|
+
#
|
|
161
|
+
# @param x_profile_id [String]
|
|
162
|
+
#
|
|
163
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
end
|
|
168
|
+
end
|