@sentdm/sentdm 0.34.0 → 0.35.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.
- package/CHANGELOG.md +8 -0
- package/client.d.mts +53 -22
- package/client.d.mts.map +1 -1
- package/client.d.ts +53 -22
- package/client.d.ts.map +1 -1
- package/client.js +39 -8
- package/client.js.map +1 -1
- package/client.mjs +39 -8
- package/client.mjs.map +1 -1
- package/package.json +1 -1
- package/resources/contacts.d.mts +606 -89
- package/resources/contacts.d.mts.map +1 -1
- package/resources/contacts.d.ts +606 -89
- package/resources/contacts.d.ts.map +1 -1
- package/resources/contacts.js +21 -15
- package/resources/contacts.js.map +1 -1
- package/resources/contacts.mjs +21 -15
- package/resources/contacts.mjs.map +1 -1
- package/resources/conversations.d.mts +335 -69
- package/resources/conversations.d.mts.map +1 -1
- package/resources/conversations.d.ts +335 -69
- package/resources/conversations.d.ts.map +1 -1
- package/resources/conversations.js +15 -10
- package/resources/conversations.js.map +1 -1
- package/resources/conversations.mjs +15 -10
- package/resources/conversations.mjs.map +1 -1
- package/resources/index.d.mts +7 -7
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +7 -7
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs.map +1 -1
- package/resources/me.d.mts +132 -41
- package/resources/me.d.mts.map +1 -1
- package/resources/me.d.ts +132 -41
- package/resources/me.d.ts.map +1 -1
- package/resources/me.js +3 -1
- package/resources/me.js.map +1 -1
- package/resources/me.mjs +3 -1
- package/resources/me.mjs.map +1 -1
- package/resources/messages.d.mts +206 -27
- package/resources/messages.d.mts.map +1 -1
- package/resources/messages.d.ts +206 -27
- package/resources/messages.d.ts.map +1 -1
- package/resources/messages.js +5 -1
- package/resources/messages.js.map +1 -1
- package/resources/messages.mjs +5 -1
- package/resources/messages.mjs.map +1 -1
- package/resources/numbers.d.mts +45 -4
- package/resources/numbers.d.mts.map +1 -1
- package/resources/numbers.d.ts +45 -4
- package/resources/numbers.d.ts.map +1 -1
- package/resources/numbers.js +3 -1
- package/resources/numbers.js.map +1 -1
- package/resources/numbers.mjs +3 -1
- package/resources/numbers.mjs.map +1 -1
- package/resources/profiles/campaigns.d.mts +579 -209
- package/resources/profiles/campaigns.d.mts.map +1 -1
- package/resources/profiles/campaigns.d.ts +579 -209
- package/resources/profiles/campaigns.d.ts.map +1 -1
- package/resources/profiles/campaigns.js +33 -64
- package/resources/profiles/campaigns.js.map +1 -1
- package/resources/profiles/campaigns.mjs +33 -64
- package/resources/profiles/campaigns.mjs.map +1 -1
- package/resources/profiles/index.d.mts +2 -2
- package/resources/profiles/index.d.mts.map +1 -1
- package/resources/profiles/index.d.ts +2 -2
- package/resources/profiles/index.d.ts.map +1 -1
- package/resources/profiles/index.js.map +1 -1
- package/resources/profiles/index.mjs.map +1 -1
- package/resources/profiles/profiles.d.mts +2006 -508
- package/resources/profiles/profiles.d.mts.map +1 -1
- package/resources/profiles/profiles.d.ts +2006 -508
- package/resources/profiles/profiles.d.ts.map +1 -1
- package/resources/profiles/profiles.js +98 -75
- package/resources/profiles/profiles.js.map +1 -1
- package/resources/profiles/profiles.mjs +98 -75
- package/resources/profiles/profiles.mjs.map +1 -1
- package/resources/templates.d.mts +497 -84
- package/resources/templates.d.mts.map +1 -1
- package/resources/templates.d.ts +497 -84
- package/resources/templates.d.ts.map +1 -1
- package/resources/templates.js +6 -4
- package/resources/templates.js.map +1 -1
- package/resources/templates.mjs +6 -4
- package/resources/templates.mjs.map +1 -1
- package/resources/users.d.mts +444 -43
- package/resources/users.d.mts.map +1 -1
- package/resources/users.d.ts +444 -43
- package/resources/users.d.ts.map +1 -1
- package/resources/users.js +6 -4
- package/resources/users.js.map +1 -1
- package/resources/users.mjs +6 -4
- package/resources/users.mjs.map +1 -1
- package/resources/webhooks.d.mts +770 -169
- package/resources/webhooks.d.mts.map +1 -1
- package/resources/webhooks.d.ts +770 -169
- package/resources/webhooks.d.ts.map +1 -1
- package/resources/webhooks.js +11 -8
- package/resources/webhooks.js.map +1 -1
- package/resources/webhooks.mjs +11 -8
- package/resources/webhooks.mjs.map +1 -1
- package/src/client.ts +78 -60
- package/src/resources/contacts.ts +696 -92
- package/src/resources/conversations.ts +400 -77
- package/src/resources/index.ts +20 -26
- package/src/resources/me.ts +151 -52
- package/src/resources/messages.ts +230 -27
- package/src/resources/numbers.ts +50 -4
- package/src/resources/profiles/campaigns.ts +706 -232
- package/src/resources/profiles/index.ts +6 -14
- package/src/resources/profiles/profiles.ts +2421 -646
- package/src/resources/templates.ts +583 -99
- package/src/resources/users.ts +514 -44
- package/src/resources/webhooks.ts +1006 -283
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -1,297 +1,503 @@
|
|
|
1
1
|
import { APIResource } from "../../core/resource.mjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as CampaignsAPI from "./campaigns.mjs";
|
|
3
3
|
import { APIPromise } from "../../core/api-promise.mjs";
|
|
4
4
|
import { RequestOptions } from "../../internal/request-options.mjs";
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* **Deprecated — use Sender Profiles.**
|
|
7
|
+
*
|
|
8
|
+
* The original profile resource, kept because it has live callers. It still works, and its replacement is `/v3/sender-profiles`, which takes the identity and the campaign in one call instead of across three.
|
|
9
|
+
*
|
|
10
|
+
* New integrations should not start here.
|
|
7
11
|
*/
|
|
8
12
|
export declare class Campaigns extends APIResource {
|
|
9
13
|
/**
|
|
14
|
+
* **Deprecated.** This endpoint is replaced by `/v3/sender-profiles` and will be
|
|
15
|
+
* removed in a future release. It still behaves exactly as before, so nothing
|
|
16
|
+
* needs to change today — but new integrations should use `/v3/sender-profiles`,
|
|
17
|
+
* which models a profile's markets, compliance, brand, campaigns and billing
|
|
18
|
+
* explicitly.
|
|
19
|
+
*
|
|
10
20
|
* Creates a new campaign scoped under the brand of the specified profile. Each
|
|
11
21
|
* campaign must include at least one use case with sample messages.
|
|
12
22
|
*
|
|
13
|
-
* @
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
* await client.profiles.campaigns.create(
|
|
17
|
-
* '770e8400-e29b-41d4-a716-446655440002',
|
|
18
|
-
* {
|
|
19
|
-
* campaign: {
|
|
20
|
-
* description:
|
|
21
|
-
* 'Appointment reminders and account notifications',
|
|
22
|
-
* name: 'Customer Notifications',
|
|
23
|
-
* type: 'App',
|
|
24
|
-
* useCases: [
|
|
25
|
-
* {
|
|
26
|
-
* messagingUseCaseUs: 'ACCOUNT_NOTIFICATION',
|
|
27
|
-
* sampleMessages: [
|
|
28
|
-
* 'Hi {name}, your appointment is confirmed for {date} at {time}.',
|
|
29
|
-
* 'Your order #{order_id} has been shipped. Track at {url}',
|
|
30
|
-
* ],
|
|
31
|
-
* },
|
|
32
|
-
* ],
|
|
33
|
-
* },
|
|
34
|
-
* },
|
|
35
|
-
* );
|
|
36
|
-
* ```
|
|
37
|
-
*/
|
|
38
|
-
create(profileID: string, params: CampaignCreateParams, options?: RequestOptions): APIPromise<APIResponseOfBrandCampaign>;
|
|
23
|
+
* @deprecated
|
|
24
|
+
*/
|
|
25
|
+
create(profileID: string, params: CampaignCreateParams, options?: RequestOptions): APIPromise<CampaignCreateResponse>;
|
|
39
26
|
/**
|
|
27
|
+
* **Deprecated.** This endpoint is replaced by `/v3/sender-profiles` and will be
|
|
28
|
+
* removed in a future release. It still behaves exactly as before, so nothing
|
|
29
|
+
* needs to change today — but new integrations should use `/v3/sender-profiles`,
|
|
30
|
+
* which models a profile's markets, compliance, brand, campaigns and billing
|
|
31
|
+
* explicitly.
|
|
32
|
+
*
|
|
40
33
|
* Updates an existing campaign under the brand of the specified profile. Cannot
|
|
41
34
|
* update campaigns that have already been submitted to TCR.
|
|
42
35
|
*
|
|
43
|
-
* @
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
* await client.profiles.campaigns.update(
|
|
47
|
-
* 'b2c3d4e5-f6a7-8901-bcde-f12345678901',
|
|
48
|
-
* {
|
|
49
|
-
* profileId: '770e8400-e29b-41d4-a716-446655440002',
|
|
50
|
-
* campaign: {
|
|
51
|
-
* description:
|
|
52
|
-
* 'Updated appointment reminders and account notifications',
|
|
53
|
-
* name: 'Customer Notifications Updated',
|
|
54
|
-
* type: 'App',
|
|
55
|
-
* useCases: [
|
|
56
|
-
* {
|
|
57
|
-
* messagingUseCaseUs: 'ACCOUNT_NOTIFICATION',
|
|
58
|
-
* sampleMessages: [
|
|
59
|
-
* 'Hi {name}, your appointment is confirmed for {date} at {time}.',
|
|
60
|
-
* 'Your order #{order_id} has been shipped. Track at {url}',
|
|
61
|
-
* ],
|
|
62
|
-
* },
|
|
63
|
-
* ],
|
|
64
|
-
* },
|
|
65
|
-
* },
|
|
66
|
-
* );
|
|
67
|
-
* ```
|
|
68
|
-
*/
|
|
69
|
-
update(campaignID: string, params: CampaignUpdateParams, options?: RequestOptions): APIPromise<APIResponseOfBrandCampaign>;
|
|
36
|
+
* @deprecated
|
|
37
|
+
*/
|
|
38
|
+
update(campaignID: string, params: CampaignUpdateParams, options?: RequestOptions): APIPromise<CampaignUpdateResponse>;
|
|
70
39
|
/**
|
|
40
|
+
* **Deprecated.** This endpoint is replaced by `/v3/sender-profiles` and will be
|
|
41
|
+
* removed in a future release. It still behaves exactly as before, so nothing
|
|
42
|
+
* needs to change today — but new integrations should use `/v3/sender-profiles`,
|
|
43
|
+
* which models a profile's markets, compliance, brand, campaigns and billing
|
|
44
|
+
* explicitly.
|
|
45
|
+
*
|
|
71
46
|
* Retrieves all campaigns linked to the profile's brand, including use cases and
|
|
72
47
|
* sample messages. Returns inherited campaigns if inherit_tcr_campaign=true.
|
|
73
48
|
*
|
|
74
|
-
* @
|
|
75
|
-
* ```ts
|
|
76
|
-
* const apiResponseOfListOfBrandCampaign =
|
|
77
|
-
* await client.profiles.campaigns.list(
|
|
78
|
-
* '770e8400-e29b-41d4-a716-446655440002',
|
|
79
|
-
* );
|
|
80
|
-
* ```
|
|
49
|
+
* @deprecated
|
|
81
50
|
*/
|
|
82
|
-
list(profileID: string, params?: CampaignListParams | null | undefined, options?: RequestOptions): APIPromise<
|
|
51
|
+
list(profileID: string, params?: CampaignListParams | null | undefined, options?: RequestOptions): APIPromise<CampaignListResponse>;
|
|
83
52
|
/**
|
|
53
|
+
* **Deprecated.** This endpoint is replaced by `/v3/sender-profiles` and will be
|
|
54
|
+
* removed in a future release. It still behaves exactly as before, so nothing
|
|
55
|
+
* needs to change today — but new integrations should use `/v3/sender-profiles`,
|
|
56
|
+
* which models a profile's markets, compliance, brand, campaigns and billing
|
|
57
|
+
* explicitly.
|
|
58
|
+
*
|
|
84
59
|
* Deletes a campaign by ID from the brand of the specified profile. The profile
|
|
85
60
|
* must belong to the authenticated organization.
|
|
86
61
|
*
|
|
87
|
-
* @
|
|
88
|
-
* ```ts
|
|
89
|
-
* await client.profiles.campaigns.delete(
|
|
90
|
-
* 'b2c3d4e5-f6a7-8901-bcde-f12345678901',
|
|
91
|
-
* { profileId: '770e8400-e29b-41d4-a716-446655440002' },
|
|
92
|
-
* );
|
|
93
|
-
* ```
|
|
62
|
+
* @deprecated
|
|
94
63
|
*/
|
|
95
64
|
delete(campaignID: string, params: CampaignDeleteParams, options?: RequestOptions): APIPromise<void>;
|
|
96
65
|
}
|
|
66
|
+
export type MessagingUseCaseUs = 'MARKETING' | 'ACCOUNT_NOTIFICATION' | 'CUSTOMER_CARE' | 'FRAUD_ALERT' | 'TWO_FA' | 'DELIVERY_NOTIFICATION' | 'SECURITY_ALERT' | 'M2M' | 'MIXED' | 'HIGHER_EDUCATION' | 'POLLING_VOTING' | 'PUBLIC_SERVICE_ANNOUNCEMENT' | 'LOW_VOLUME';
|
|
97
67
|
/**
|
|
98
68
|
* Standard API response envelope for all v3 endpoints
|
|
99
69
|
*/
|
|
100
|
-
export interface
|
|
70
|
+
export interface CampaignCreateResponse {
|
|
101
71
|
/**
|
|
102
72
|
* A 10DLC campaign registered for a brand.
|
|
103
73
|
*/
|
|
104
|
-
data?:
|
|
74
|
+
data?: CampaignCreateResponse.Data | null;
|
|
105
75
|
/**
|
|
106
76
|
* Error information
|
|
107
77
|
*/
|
|
108
|
-
error?:
|
|
78
|
+
error?: CampaignCreateResponse.Error | null;
|
|
109
79
|
/**
|
|
110
80
|
* Request and response metadata
|
|
111
81
|
*/
|
|
112
|
-
meta?:
|
|
82
|
+
meta?: CampaignCreateResponse.Meta;
|
|
113
83
|
/**
|
|
114
84
|
* Indicates whether the request was successful
|
|
115
85
|
*/
|
|
116
86
|
success?: boolean;
|
|
117
87
|
}
|
|
118
|
-
|
|
119
|
-
* Standard API response envelope for all v3 endpoints
|
|
120
|
-
*/
|
|
121
|
-
export interface APIResponseOfListOfBrandCampaign {
|
|
88
|
+
export declare namespace CampaignCreateResponse {
|
|
122
89
|
/**
|
|
123
|
-
*
|
|
90
|
+
* A 10DLC campaign registered for a brand.
|
|
124
91
|
*/
|
|
125
|
-
|
|
92
|
+
interface Data {
|
|
93
|
+
id?: string;
|
|
94
|
+
billedDate?: string | null;
|
|
95
|
+
brandId?: string | null;
|
|
96
|
+
cost?: number | null;
|
|
97
|
+
createdAt?: string;
|
|
98
|
+
customerId?: string;
|
|
99
|
+
/**
|
|
100
|
+
* True once every carrier has completed its DCA election and the campaign is
|
|
101
|
+
* operationally ready for traffic.
|
|
102
|
+
*/
|
|
103
|
+
dcaElectionsComplete?: boolean | null;
|
|
104
|
+
dcaElectionsCompletedAt?: string | null;
|
|
105
|
+
description?: string;
|
|
106
|
+
/**
|
|
107
|
+
* True when the one-time campaign submission fee has already been charged.
|
|
108
|
+
*/
|
|
109
|
+
hasSubmissionTransaction?: boolean;
|
|
110
|
+
helpKeywords?: string | null;
|
|
111
|
+
helpMessage?: string | null;
|
|
112
|
+
messageFlow?: string | null;
|
|
113
|
+
name?: string;
|
|
114
|
+
optinKeywords?: string | null;
|
|
115
|
+
optinMessage?: string | null;
|
|
116
|
+
optoutKeywords?: string | null;
|
|
117
|
+
optoutMessage?: string | null;
|
|
118
|
+
privacyPolicyLink?: string | null;
|
|
119
|
+
status?: 'SENT_CREATED' | 'ACTIVE' | 'EXPIRED' | null;
|
|
120
|
+
submittedAt?: string | null;
|
|
121
|
+
submittedToTCR?: boolean;
|
|
122
|
+
/**
|
|
123
|
+
* The Campaign Registry identifier, once the campaign has been accepted.
|
|
124
|
+
*/
|
|
125
|
+
tcrCampaignId?: string | null;
|
|
126
|
+
/**
|
|
127
|
+
* Surfaced so customers can see why a submission did not reach the registry.
|
|
128
|
+
*/
|
|
129
|
+
tcrSyncError?: string | null;
|
|
130
|
+
termsAndConditionsLink?: string | null;
|
|
131
|
+
/**
|
|
132
|
+
* Campaign type (for example KYC or App).
|
|
133
|
+
*/
|
|
134
|
+
type?: string;
|
|
135
|
+
updatedAt?: string | null;
|
|
136
|
+
useCases?: Array<Data.UseCase>;
|
|
137
|
+
/**
|
|
138
|
+
* Expected messaging volume for this campaign — customer-supplied on
|
|
139
|
+
* create/update, and the input to both the TCR usecase classification (LOW_VOLUME
|
|
140
|
+
* vs MIXED/specific) and the campaign fee tier. Surfaced so customers can read
|
|
141
|
+
* back the value they set.
|
|
142
|
+
*/
|
|
143
|
+
volume?: string | null;
|
|
144
|
+
}
|
|
145
|
+
namespace Data {
|
|
146
|
+
/**
|
|
147
|
+
* Customer-facing use-case representation for the public v3 campaign contract.
|
|
148
|
+
* Exists for the same reason as BrandCampaignV3Response: nesting the
|
|
149
|
+
* TcrCampaignUseCase database entity in a public response means any column added
|
|
150
|
+
* to that table silently becomes part of the customer-facing contract. This DTO is
|
|
151
|
+
* an explicit allowlist, so a new column stays invisible until it is added here on
|
|
152
|
+
* purpose. This mirrors exactly the fields the entity already serialized, so it
|
|
153
|
+
* removes nothing from the current response shape. It only closes the future-leak
|
|
154
|
+
* path.
|
|
155
|
+
*/
|
|
156
|
+
interface UseCase {
|
|
157
|
+
id?: string;
|
|
158
|
+
campaignId?: string;
|
|
159
|
+
createdAt?: string;
|
|
160
|
+
customerId?: string;
|
|
161
|
+
messagingUseCaseUs?: CampaignsAPI.MessagingUseCaseUs;
|
|
162
|
+
/**
|
|
163
|
+
* Sample messages submitted to the registry for this use case.
|
|
164
|
+
*/
|
|
165
|
+
sampleMessages?: Array<string>;
|
|
166
|
+
updatedAt?: string | null;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
126
169
|
/**
|
|
127
170
|
* Error information
|
|
128
171
|
*/
|
|
129
|
-
|
|
172
|
+
interface Error {
|
|
173
|
+
/**
|
|
174
|
+
* Machine-readable error code (e.g., "RESOURCE_001")
|
|
175
|
+
*/
|
|
176
|
+
code?: string;
|
|
177
|
+
/**
|
|
178
|
+
* Additional validation error details (field-level errors)
|
|
179
|
+
*/
|
|
180
|
+
details?: {
|
|
181
|
+
[key: string]: Array<string>;
|
|
182
|
+
} | null;
|
|
183
|
+
/**
|
|
184
|
+
* URL to documentation about this error
|
|
185
|
+
*/
|
|
186
|
+
doc_url?: string | null;
|
|
187
|
+
/**
|
|
188
|
+
* Human-readable error message
|
|
189
|
+
*/
|
|
190
|
+
message?: string;
|
|
191
|
+
}
|
|
130
192
|
/**
|
|
131
193
|
* Request and response metadata
|
|
132
194
|
*/
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
195
|
+
interface Meta {
|
|
196
|
+
/**
|
|
197
|
+
* Unique identifier for this request (for tracing and support)
|
|
198
|
+
*/
|
|
199
|
+
request_id?: string;
|
|
200
|
+
/**
|
|
201
|
+
* Server timestamp when the response was generated
|
|
202
|
+
*/
|
|
203
|
+
timestamp?: string;
|
|
204
|
+
/**
|
|
205
|
+
* API version used for this request
|
|
206
|
+
*/
|
|
207
|
+
version?: string;
|
|
208
|
+
}
|
|
138
209
|
}
|
|
139
210
|
/**
|
|
140
|
-
*
|
|
141
|
-
*/
|
|
142
|
-
export interface BrandCampaign {
|
|
143
|
-
id?: string;
|
|
144
|
-
billedDate?: string | null;
|
|
145
|
-
brandId?: string | null;
|
|
146
|
-
cost?: number | null;
|
|
147
|
-
createdAt?: string;
|
|
148
|
-
customerId?: string;
|
|
149
|
-
/**
|
|
150
|
-
* True once every carrier has completed its DCA election and the campaign is
|
|
151
|
-
* operationally ready for traffic.
|
|
152
|
-
*/
|
|
153
|
-
dcaElectionsComplete?: boolean | null;
|
|
154
|
-
dcaElectionsCompletedAt?: string | null;
|
|
155
|
-
description?: string;
|
|
156
|
-
/**
|
|
157
|
-
* True when the one-time campaign submission fee has already been charged.
|
|
158
|
-
*/
|
|
159
|
-
hasSubmissionTransaction?: boolean;
|
|
160
|
-
helpKeywords?: string | null;
|
|
161
|
-
helpMessage?: string | null;
|
|
162
|
-
messageFlow?: string | null;
|
|
163
|
-
name?: string;
|
|
164
|
-
optinKeywords?: string | null;
|
|
165
|
-
optinMessage?: string | null;
|
|
166
|
-
optoutKeywords?: string | null;
|
|
167
|
-
optoutMessage?: string | null;
|
|
168
|
-
privacyPolicyLink?: string | null;
|
|
169
|
-
status?: 'SENT_CREATED' | 'ACTIVE' | 'EXPIRED' | null;
|
|
170
|
-
submittedAt?: string | null;
|
|
171
|
-
submittedToTCR?: boolean;
|
|
172
|
-
/**
|
|
173
|
-
* The Campaign Registry identifier, once the campaign has been accepted.
|
|
174
|
-
*/
|
|
175
|
-
tcrCampaignId?: string | null;
|
|
176
|
-
/**
|
|
177
|
-
* Surfaced so customers can see why a submission did not reach the registry.
|
|
178
|
-
*/
|
|
179
|
-
tcrSyncError?: string | null;
|
|
180
|
-
termsAndConditionsLink?: string | null;
|
|
181
|
-
/**
|
|
182
|
-
* Campaign type (for example KYC or App).
|
|
183
|
-
*/
|
|
184
|
-
type?: string;
|
|
185
|
-
updatedAt?: string | null;
|
|
186
|
-
useCases?: Array<CampaignUseCase>;
|
|
187
|
-
/**
|
|
188
|
-
* Expected messaging volume for this campaign — customer-supplied on
|
|
189
|
-
* create/update, and the input to both the TCR usecase classification (LOW_VOLUME
|
|
190
|
-
* vs MIXED/specific) and the campaign fee tier. Surfaced so customers can read
|
|
191
|
-
* back the value they set.
|
|
192
|
-
*/
|
|
193
|
-
volume?: string | null;
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Campaign data for create or update operation
|
|
211
|
+
* Standard API response envelope for all v3 endpoints
|
|
197
212
|
*/
|
|
198
|
-
export interface
|
|
199
|
-
/**
|
|
200
|
-
* Campaign description
|
|
201
|
-
*/
|
|
202
|
-
description: string;
|
|
203
|
-
/**
|
|
204
|
-
* Campaign name
|
|
205
|
-
*/
|
|
206
|
-
name: string;
|
|
213
|
+
export interface CampaignUpdateResponse {
|
|
207
214
|
/**
|
|
208
|
-
*
|
|
215
|
+
* A 10DLC campaign registered for a brand.
|
|
209
216
|
*/
|
|
210
|
-
|
|
217
|
+
data?: CampaignUpdateResponse.Data | null;
|
|
211
218
|
/**
|
|
212
|
-
*
|
|
219
|
+
* Error information
|
|
213
220
|
*/
|
|
214
|
-
|
|
221
|
+
error?: CampaignUpdateResponse.Error | null;
|
|
215
222
|
/**
|
|
216
|
-
*
|
|
223
|
+
* Request and response metadata
|
|
217
224
|
*/
|
|
218
|
-
|
|
225
|
+
meta?: CampaignUpdateResponse.Meta;
|
|
219
226
|
/**
|
|
220
|
-
*
|
|
227
|
+
* Indicates whether the request was successful
|
|
221
228
|
*/
|
|
222
|
-
|
|
229
|
+
success?: boolean;
|
|
230
|
+
}
|
|
231
|
+
export declare namespace CampaignUpdateResponse {
|
|
223
232
|
/**
|
|
224
|
-
*
|
|
233
|
+
* A 10DLC campaign registered for a brand.
|
|
225
234
|
*/
|
|
226
|
-
|
|
235
|
+
interface Data {
|
|
236
|
+
id?: string;
|
|
237
|
+
billedDate?: string | null;
|
|
238
|
+
brandId?: string | null;
|
|
239
|
+
cost?: number | null;
|
|
240
|
+
createdAt?: string;
|
|
241
|
+
customerId?: string;
|
|
242
|
+
/**
|
|
243
|
+
* True once every carrier has completed its DCA election and the campaign is
|
|
244
|
+
* operationally ready for traffic.
|
|
245
|
+
*/
|
|
246
|
+
dcaElectionsComplete?: boolean | null;
|
|
247
|
+
dcaElectionsCompletedAt?: string | null;
|
|
248
|
+
description?: string;
|
|
249
|
+
/**
|
|
250
|
+
* True when the one-time campaign submission fee has already been charged.
|
|
251
|
+
*/
|
|
252
|
+
hasSubmissionTransaction?: boolean;
|
|
253
|
+
helpKeywords?: string | null;
|
|
254
|
+
helpMessage?: string | null;
|
|
255
|
+
messageFlow?: string | null;
|
|
256
|
+
name?: string;
|
|
257
|
+
optinKeywords?: string | null;
|
|
258
|
+
optinMessage?: string | null;
|
|
259
|
+
optoutKeywords?: string | null;
|
|
260
|
+
optoutMessage?: string | null;
|
|
261
|
+
privacyPolicyLink?: string | null;
|
|
262
|
+
status?: 'SENT_CREATED' | 'ACTIVE' | 'EXPIRED' | null;
|
|
263
|
+
submittedAt?: string | null;
|
|
264
|
+
submittedToTCR?: boolean;
|
|
265
|
+
/**
|
|
266
|
+
* The Campaign Registry identifier, once the campaign has been accepted.
|
|
267
|
+
*/
|
|
268
|
+
tcrCampaignId?: string | null;
|
|
269
|
+
/**
|
|
270
|
+
* Surfaced so customers can see why a submission did not reach the registry.
|
|
271
|
+
*/
|
|
272
|
+
tcrSyncError?: string | null;
|
|
273
|
+
termsAndConditionsLink?: string | null;
|
|
274
|
+
/**
|
|
275
|
+
* Campaign type (for example KYC or App).
|
|
276
|
+
*/
|
|
277
|
+
type?: string;
|
|
278
|
+
updatedAt?: string | null;
|
|
279
|
+
useCases?: Array<Data.UseCase>;
|
|
280
|
+
/**
|
|
281
|
+
* Expected messaging volume for this campaign — customer-supplied on
|
|
282
|
+
* create/update, and the input to both the TCR usecase classification (LOW_VOLUME
|
|
283
|
+
* vs MIXED/specific) and the campaign fee tier. Surfaced so customers can read
|
|
284
|
+
* back the value they set.
|
|
285
|
+
*/
|
|
286
|
+
volume?: string | null;
|
|
287
|
+
}
|
|
288
|
+
namespace Data {
|
|
289
|
+
/**
|
|
290
|
+
* Customer-facing use-case representation for the public v3 campaign contract.
|
|
291
|
+
* Exists for the same reason as BrandCampaignV3Response: nesting the
|
|
292
|
+
* TcrCampaignUseCase database entity in a public response means any column added
|
|
293
|
+
* to that table silently becomes part of the customer-facing contract. This DTO is
|
|
294
|
+
* an explicit allowlist, so a new column stays invisible until it is added here on
|
|
295
|
+
* purpose. This mirrors exactly the fields the entity already serialized, so it
|
|
296
|
+
* removes nothing from the current response shape. It only closes the future-leak
|
|
297
|
+
* path.
|
|
298
|
+
*/
|
|
299
|
+
interface UseCase {
|
|
300
|
+
id?: string;
|
|
301
|
+
campaignId?: string;
|
|
302
|
+
createdAt?: string;
|
|
303
|
+
customerId?: string;
|
|
304
|
+
messagingUseCaseUs?: CampaignsAPI.MessagingUseCaseUs;
|
|
305
|
+
/**
|
|
306
|
+
* Sample messages submitted to the registry for this use case.
|
|
307
|
+
*/
|
|
308
|
+
sampleMessages?: Array<string>;
|
|
309
|
+
updatedAt?: string | null;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
227
312
|
/**
|
|
228
|
-
*
|
|
313
|
+
* Error information
|
|
229
314
|
*/
|
|
230
|
-
|
|
315
|
+
interface Error {
|
|
316
|
+
/**
|
|
317
|
+
* Machine-readable error code (e.g., "RESOURCE_001")
|
|
318
|
+
*/
|
|
319
|
+
code?: string;
|
|
320
|
+
/**
|
|
321
|
+
* Additional validation error details (field-level errors)
|
|
322
|
+
*/
|
|
323
|
+
details?: {
|
|
324
|
+
[key: string]: Array<string>;
|
|
325
|
+
} | null;
|
|
326
|
+
/**
|
|
327
|
+
* URL to documentation about this error
|
|
328
|
+
*/
|
|
329
|
+
doc_url?: string | null;
|
|
330
|
+
/**
|
|
331
|
+
* Human-readable error message
|
|
332
|
+
*/
|
|
333
|
+
message?: string;
|
|
334
|
+
}
|
|
231
335
|
/**
|
|
232
|
-
*
|
|
336
|
+
* Request and response metadata
|
|
233
337
|
*/
|
|
234
|
-
|
|
338
|
+
interface Meta {
|
|
339
|
+
/**
|
|
340
|
+
* Unique identifier for this request (for tracing and support)
|
|
341
|
+
*/
|
|
342
|
+
request_id?: string;
|
|
343
|
+
/**
|
|
344
|
+
* Server timestamp when the response was generated
|
|
345
|
+
*/
|
|
346
|
+
timestamp?: string;
|
|
347
|
+
/**
|
|
348
|
+
* API version used for this request
|
|
349
|
+
*/
|
|
350
|
+
version?: string;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Standard API response envelope for all v3 endpoints
|
|
355
|
+
*/
|
|
356
|
+
export interface CampaignListResponse {
|
|
235
357
|
/**
|
|
236
|
-
*
|
|
358
|
+
* The response data (null if error)
|
|
237
359
|
*/
|
|
238
|
-
|
|
360
|
+
data?: Array<CampaignListResponse.Data> | null;
|
|
239
361
|
/**
|
|
240
|
-
*
|
|
362
|
+
* Error information
|
|
241
363
|
*/
|
|
242
|
-
|
|
364
|
+
error?: CampaignListResponse.Error | null;
|
|
243
365
|
/**
|
|
244
|
-
*
|
|
366
|
+
* Request and response metadata
|
|
245
367
|
*/
|
|
246
|
-
|
|
368
|
+
meta?: CampaignListResponse.Meta;
|
|
247
369
|
/**
|
|
248
|
-
*
|
|
370
|
+
* Indicates whether the request was successful
|
|
249
371
|
*/
|
|
250
|
-
|
|
372
|
+
success?: boolean;
|
|
373
|
+
}
|
|
374
|
+
export declare namespace CampaignListResponse {
|
|
251
375
|
/**
|
|
252
|
-
*
|
|
253
|
-
* "5000"). Values below 2000 bill at the low-volume tier.
|
|
376
|
+
* A 10DLC campaign registered for a brand.
|
|
254
377
|
*/
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
378
|
+
interface Data {
|
|
379
|
+
id?: string;
|
|
380
|
+
billedDate?: string | null;
|
|
381
|
+
brandId?: string | null;
|
|
382
|
+
cost?: number | null;
|
|
383
|
+
createdAt?: string;
|
|
384
|
+
customerId?: string;
|
|
385
|
+
/**
|
|
386
|
+
* True once every carrier has completed its DCA election and the campaign is
|
|
387
|
+
* operationally ready for traffic.
|
|
388
|
+
*/
|
|
389
|
+
dcaElectionsComplete?: boolean | null;
|
|
390
|
+
dcaElectionsCompletedAt?: string | null;
|
|
391
|
+
description?: string;
|
|
392
|
+
/**
|
|
393
|
+
* True when the one-time campaign submission fee has already been charged.
|
|
394
|
+
*/
|
|
395
|
+
hasSubmissionTransaction?: boolean;
|
|
396
|
+
helpKeywords?: string | null;
|
|
397
|
+
helpMessage?: string | null;
|
|
398
|
+
messageFlow?: string | null;
|
|
399
|
+
name?: string;
|
|
400
|
+
optinKeywords?: string | null;
|
|
401
|
+
optinMessage?: string | null;
|
|
402
|
+
optoutKeywords?: string | null;
|
|
403
|
+
optoutMessage?: string | null;
|
|
404
|
+
privacyPolicyLink?: string | null;
|
|
405
|
+
status?: 'SENT_CREATED' | 'ACTIVE' | 'EXPIRED' | null;
|
|
406
|
+
submittedAt?: string | null;
|
|
407
|
+
submittedToTCR?: boolean;
|
|
408
|
+
/**
|
|
409
|
+
* The Campaign Registry identifier, once the campaign has been accepted.
|
|
410
|
+
*/
|
|
411
|
+
tcrCampaignId?: string | null;
|
|
412
|
+
/**
|
|
413
|
+
* Surfaced so customers can see why a submission did not reach the registry.
|
|
414
|
+
*/
|
|
415
|
+
tcrSyncError?: string | null;
|
|
416
|
+
termsAndConditionsLink?: string | null;
|
|
417
|
+
/**
|
|
418
|
+
* Campaign type (for example KYC or App).
|
|
419
|
+
*/
|
|
420
|
+
type?: string;
|
|
421
|
+
updatedAt?: string | null;
|
|
422
|
+
useCases?: Array<Data.UseCase>;
|
|
423
|
+
/**
|
|
424
|
+
* Expected messaging volume for this campaign — customer-supplied on
|
|
425
|
+
* create/update, and the input to both the TCR usecase classification (LOW_VOLUME
|
|
426
|
+
* vs MIXED/specific) and the campaign fee tier. Surfaced so customers can read
|
|
427
|
+
* back the value they set.
|
|
428
|
+
*/
|
|
429
|
+
volume?: string | null;
|
|
430
|
+
}
|
|
431
|
+
namespace Data {
|
|
432
|
+
/**
|
|
433
|
+
* Customer-facing use-case representation for the public v3 campaign contract.
|
|
434
|
+
* Exists for the same reason as BrandCampaignV3Response: nesting the
|
|
435
|
+
* TcrCampaignUseCase database entity in a public response means any column added
|
|
436
|
+
* to that table silently becomes part of the customer-facing contract. This DTO is
|
|
437
|
+
* an explicit allowlist, so a new column stays invisible until it is added here on
|
|
438
|
+
* purpose. This mirrors exactly the fields the entity already serialized, so it
|
|
439
|
+
* removes nothing from the current response shape. It only closes the future-leak
|
|
440
|
+
* path.
|
|
441
|
+
*/
|
|
442
|
+
interface UseCase {
|
|
443
|
+
id?: string;
|
|
444
|
+
campaignId?: string;
|
|
445
|
+
createdAt?: string;
|
|
446
|
+
customerId?: string;
|
|
447
|
+
messagingUseCaseUs?: CampaignsAPI.MessagingUseCaseUs;
|
|
448
|
+
/**
|
|
449
|
+
* Sample messages submitted to the registry for this use case.
|
|
450
|
+
*/
|
|
451
|
+
sampleMessages?: Array<string>;
|
|
452
|
+
updatedAt?: string | null;
|
|
453
|
+
}
|
|
454
|
+
}
|
|
273
455
|
/**
|
|
274
|
-
*
|
|
456
|
+
* Error information
|
|
275
457
|
*/
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
458
|
+
interface Error {
|
|
459
|
+
/**
|
|
460
|
+
* Machine-readable error code (e.g., "RESOURCE_001")
|
|
461
|
+
*/
|
|
462
|
+
code?: string;
|
|
463
|
+
/**
|
|
464
|
+
* Additional validation error details (field-level errors)
|
|
465
|
+
*/
|
|
466
|
+
details?: {
|
|
467
|
+
[key: string]: Array<string>;
|
|
468
|
+
} | null;
|
|
469
|
+
/**
|
|
470
|
+
* URL to documentation about this error
|
|
471
|
+
*/
|
|
472
|
+
doc_url?: string | null;
|
|
473
|
+
/**
|
|
474
|
+
* Human-readable error message
|
|
475
|
+
*/
|
|
476
|
+
message?: string;
|
|
477
|
+
}
|
|
284
478
|
/**
|
|
285
|
-
*
|
|
479
|
+
* Request and response metadata
|
|
286
480
|
*/
|
|
287
|
-
|
|
481
|
+
interface Meta {
|
|
482
|
+
/**
|
|
483
|
+
* Unique identifier for this request (for tracing and support)
|
|
484
|
+
*/
|
|
485
|
+
request_id?: string;
|
|
486
|
+
/**
|
|
487
|
+
* Server timestamp when the response was generated
|
|
488
|
+
*/
|
|
489
|
+
timestamp?: string;
|
|
490
|
+
/**
|
|
491
|
+
* API version used for this request
|
|
492
|
+
*/
|
|
493
|
+
version?: string;
|
|
494
|
+
}
|
|
288
495
|
}
|
|
289
|
-
export type MessagingUseCaseUs = 'MARKETING' | 'ACCOUNT_NOTIFICATION' | 'CUSTOMER_CARE' | 'FRAUD_ALERT' | 'TWO_FA' | 'DELIVERY_NOTIFICATION' | 'SECURITY_ALERT' | 'M2M' | 'MIXED' | 'HIGHER_EDUCATION' | 'POLLING_VOTING' | 'PUBLIC_SERVICE_ANNOUNCEMENT' | 'LOW_VOLUME';
|
|
290
496
|
export interface CampaignCreateParams {
|
|
291
497
|
/**
|
|
292
498
|
* Body param: Campaign data for create or update operation
|
|
293
499
|
*/
|
|
294
|
-
campaign:
|
|
500
|
+
campaign: CampaignCreateParams.Campaign;
|
|
295
501
|
/**
|
|
296
502
|
* Body param: Sandbox flag - when true, the operation is simulated without side
|
|
297
503
|
* effects Useful for testing integrations without actual execution
|
|
@@ -310,6 +516,88 @@ export interface CampaignCreateParams {
|
|
|
310
516
|
*/
|
|
311
517
|
'x-profile-id'?: string;
|
|
312
518
|
}
|
|
519
|
+
export declare namespace CampaignCreateParams {
|
|
520
|
+
/**
|
|
521
|
+
* Campaign data for create or update operation
|
|
522
|
+
*/
|
|
523
|
+
interface Campaign {
|
|
524
|
+
/**
|
|
525
|
+
* Campaign description
|
|
526
|
+
*/
|
|
527
|
+
description: string;
|
|
528
|
+
/**
|
|
529
|
+
* Campaign name
|
|
530
|
+
*/
|
|
531
|
+
name: string;
|
|
532
|
+
/**
|
|
533
|
+
* Campaign type (e.g., "KYC", "App").
|
|
534
|
+
*
|
|
535
|
+
* Still required of a caller, and consulted by nothing. It named the signup path
|
|
536
|
+
* that produced the campaign, was written to a column no query filters on, no TCR
|
|
537
|
+
* payload carries and no fee or status decision reads, and is now defaulted at the
|
|
538
|
+
* entity instead. It stays required so that a request which was valid before is
|
|
539
|
+
* still valid — dropping it would be the client-visible change, not keeping it.
|
|
540
|
+
*/
|
|
541
|
+
type: string;
|
|
542
|
+
/**
|
|
543
|
+
* List of use cases with sample messages
|
|
544
|
+
*/
|
|
545
|
+
useCases: Array<Campaign.UseCase>;
|
|
546
|
+
/**
|
|
547
|
+
* Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
|
|
548
|
+
*/
|
|
549
|
+
helpKeywords?: string | null;
|
|
550
|
+
/**
|
|
551
|
+
* Message sent when user requests help
|
|
552
|
+
*/
|
|
553
|
+
helpMessage?: string | null;
|
|
554
|
+
/**
|
|
555
|
+
* Description of how messages flow in the campaign
|
|
556
|
+
*/
|
|
557
|
+
messageFlow?: string | null;
|
|
558
|
+
/**
|
|
559
|
+
* Comma-separated keywords that trigger opt-in (e.g., "YES, START, SUBSCRIBE")
|
|
560
|
+
*/
|
|
561
|
+
optinKeywords?: string | null;
|
|
562
|
+
/**
|
|
563
|
+
* Message sent when user opts in
|
|
564
|
+
*/
|
|
565
|
+
optinMessage?: string | null;
|
|
566
|
+
/**
|
|
567
|
+
* Comma-separated keywords that trigger opt-out (e.g., "STOP, UNSUBSCRIBE, END")
|
|
568
|
+
*/
|
|
569
|
+
optoutKeywords?: string | null;
|
|
570
|
+
/**
|
|
571
|
+
* Message sent when user opts out
|
|
572
|
+
*/
|
|
573
|
+
optoutMessage?: string | null;
|
|
574
|
+
/**
|
|
575
|
+
* URL to privacy policy
|
|
576
|
+
*/
|
|
577
|
+
privacyPolicyLink?: string | null;
|
|
578
|
+
/**
|
|
579
|
+
* URL to terms and conditions
|
|
580
|
+
*/
|
|
581
|
+
termsAndConditionsLink?: string | null;
|
|
582
|
+
/**
|
|
583
|
+
* Expected messaging volume for this campaign. Numeric string (e.g. "1999",
|
|
584
|
+
* "5000"). Values below 2000 bill at the low-volume tier.
|
|
585
|
+
*/
|
|
586
|
+
volume?: string | null;
|
|
587
|
+
}
|
|
588
|
+
namespace Campaign {
|
|
589
|
+
/**
|
|
590
|
+
* Campaign use case with sample messages
|
|
591
|
+
*/
|
|
592
|
+
interface UseCase {
|
|
593
|
+
messagingUseCaseUs: CampaignsAPI.MessagingUseCaseUs;
|
|
594
|
+
/**
|
|
595
|
+
* Sample messages for this use case (1-5 messages, max 1024 characters each)
|
|
596
|
+
*/
|
|
597
|
+
sampleMessages: Array<string>;
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
}
|
|
313
601
|
export interface CampaignUpdateParams {
|
|
314
602
|
/**
|
|
315
603
|
* Path param: Profile ID from route
|
|
@@ -318,7 +606,7 @@ export interface CampaignUpdateParams {
|
|
|
318
606
|
/**
|
|
319
607
|
* Body param: Campaign data for create or update operation
|
|
320
608
|
*/
|
|
321
|
-
campaign:
|
|
609
|
+
campaign: CampaignUpdateParams.Campaign;
|
|
322
610
|
/**
|
|
323
611
|
* Body param: Sandbox flag - when true, the operation is simulated without side
|
|
324
612
|
* effects Useful for testing integrations without actual execution
|
|
@@ -337,6 +625,88 @@ export interface CampaignUpdateParams {
|
|
|
337
625
|
*/
|
|
338
626
|
'x-profile-id'?: string;
|
|
339
627
|
}
|
|
628
|
+
export declare namespace CampaignUpdateParams {
|
|
629
|
+
/**
|
|
630
|
+
* Campaign data for create or update operation
|
|
631
|
+
*/
|
|
632
|
+
interface Campaign {
|
|
633
|
+
/**
|
|
634
|
+
* Campaign description
|
|
635
|
+
*/
|
|
636
|
+
description: string;
|
|
637
|
+
/**
|
|
638
|
+
* Campaign name
|
|
639
|
+
*/
|
|
640
|
+
name: string;
|
|
641
|
+
/**
|
|
642
|
+
* Campaign type (e.g., "KYC", "App").
|
|
643
|
+
*
|
|
644
|
+
* Still required of a caller, and consulted by nothing. It named the signup path
|
|
645
|
+
* that produced the campaign, was written to a column no query filters on, no TCR
|
|
646
|
+
* payload carries and no fee or status decision reads, and is now defaulted at the
|
|
647
|
+
* entity instead. It stays required so that a request which was valid before is
|
|
648
|
+
* still valid — dropping it would be the client-visible change, not keeping it.
|
|
649
|
+
*/
|
|
650
|
+
type: string;
|
|
651
|
+
/**
|
|
652
|
+
* List of use cases with sample messages
|
|
653
|
+
*/
|
|
654
|
+
useCases: Array<Campaign.UseCase>;
|
|
655
|
+
/**
|
|
656
|
+
* Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
|
|
657
|
+
*/
|
|
658
|
+
helpKeywords?: string | null;
|
|
659
|
+
/**
|
|
660
|
+
* Message sent when user requests help
|
|
661
|
+
*/
|
|
662
|
+
helpMessage?: string | null;
|
|
663
|
+
/**
|
|
664
|
+
* Description of how messages flow in the campaign
|
|
665
|
+
*/
|
|
666
|
+
messageFlow?: string | null;
|
|
667
|
+
/**
|
|
668
|
+
* Comma-separated keywords that trigger opt-in (e.g., "YES, START, SUBSCRIBE")
|
|
669
|
+
*/
|
|
670
|
+
optinKeywords?: string | null;
|
|
671
|
+
/**
|
|
672
|
+
* Message sent when user opts in
|
|
673
|
+
*/
|
|
674
|
+
optinMessage?: string | null;
|
|
675
|
+
/**
|
|
676
|
+
* Comma-separated keywords that trigger opt-out (e.g., "STOP, UNSUBSCRIBE, END")
|
|
677
|
+
*/
|
|
678
|
+
optoutKeywords?: string | null;
|
|
679
|
+
/**
|
|
680
|
+
* Message sent when user opts out
|
|
681
|
+
*/
|
|
682
|
+
optoutMessage?: string | null;
|
|
683
|
+
/**
|
|
684
|
+
* URL to privacy policy
|
|
685
|
+
*/
|
|
686
|
+
privacyPolicyLink?: string | null;
|
|
687
|
+
/**
|
|
688
|
+
* URL to terms and conditions
|
|
689
|
+
*/
|
|
690
|
+
termsAndConditionsLink?: string | null;
|
|
691
|
+
/**
|
|
692
|
+
* Expected messaging volume for this campaign. Numeric string (e.g. "1999",
|
|
693
|
+
* "5000"). Values below 2000 bill at the low-volume tier.
|
|
694
|
+
*/
|
|
695
|
+
volume?: string | null;
|
|
696
|
+
}
|
|
697
|
+
namespace Campaign {
|
|
698
|
+
/**
|
|
699
|
+
* Campaign use case with sample messages
|
|
700
|
+
*/
|
|
701
|
+
interface UseCase {
|
|
702
|
+
messagingUseCaseUs: CampaignsAPI.MessagingUseCaseUs;
|
|
703
|
+
/**
|
|
704
|
+
* Sample messages for this use case (1-5 messages, max 1024 characters each)
|
|
705
|
+
*/
|
|
706
|
+
sampleMessages: Array<string>;
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
}
|
|
340
710
|
export interface CampaignListParams {
|
|
341
711
|
/**
|
|
342
712
|
* Profile UUID to scope the request to a child profile. Only organization API keys
|
|
@@ -362,6 +732,6 @@ export interface CampaignDeleteParams {
|
|
|
362
732
|
'x-profile-id'?: string;
|
|
363
733
|
}
|
|
364
734
|
export declare namespace Campaigns {
|
|
365
|
-
export { type
|
|
735
|
+
export { type MessagingUseCaseUs as MessagingUseCaseUs, type CampaignCreateResponse as CampaignCreateResponse, type CampaignUpdateResponse as CampaignUpdateResponse, type CampaignListResponse as CampaignListResponse, type CampaignCreateParams as CampaignCreateParams, type CampaignUpdateParams as CampaignUpdateParams, type CampaignListParams as CampaignListParams, type CampaignDeleteParams as CampaignDeleteParams, };
|
|
366
736
|
}
|
|
367
737
|
//# sourceMappingURL=campaigns.d.mts.map
|