@sentdm/sentdm 0.25.3 → 0.26.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 +22 -0
- package/client.d.mts +12 -12
- package/client.d.mts.map +1 -1
- package/client.d.ts +12 -12
- package/client.d.ts.map +1 -1
- package/client.js.map +1 -1
- package/client.mjs.map +1 -1
- package/internal/utils/log.d.mts.map +1 -1
- package/internal/utils/log.d.ts.map +1 -1
- package/internal/utils/log.js +3 -2
- package/internal/utils/log.js.map +1 -1
- package/internal/utils/log.mjs +3 -2
- package/internal/utils/log.mjs.map +1 -1
- package/package.json +1 -1
- package/resources/contacts.d.mts +488 -68
- package/resources/contacts.d.mts.map +1 -1
- package/resources/contacts.d.ts +488 -68
- package/resources/contacts.d.ts.map +1 -1
- package/resources/contacts.js +3 -3
- package/resources/contacts.js.map +1 -1
- package/resources/contacts.mjs +3 -3
- package/resources/contacts.mjs.map +1 -1
- package/resources/index.d.mts +6 -6
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +6 -6
- 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 +113 -40
- package/resources/me.d.mts.map +1 -1
- package/resources/me.d.ts +113 -40
- package/resources/me.d.ts.map +1 -1
- package/resources/me.js.map +1 -1
- package/resources/me.mjs.map +1 -1
- package/resources/messages.d.mts +130 -9
- package/resources/messages.d.mts.map +1 -1
- package/resources/messages.d.ts +130 -9
- package/resources/messages.d.ts.map +1 -1
- package/resources/messages.js.map +1 -1
- package/resources/messages.mjs.map +1 -1
- package/resources/numbers.d.mts +42 -3
- package/resources/numbers.d.mts.map +1 -1
- package/resources/numbers.d.ts +42 -3
- package/resources/numbers.d.ts.map +1 -1
- package/resources/numbers.js.map +1 -1
- package/resources/numbers.mjs.map +1 -1
- package/resources/profiles/campaigns.d.mts +480 -147
- package/resources/profiles/campaigns.d.mts.map +1 -1
- package/resources/profiles/campaigns.d.ts +480 -147
- package/resources/profiles/campaigns.d.ts.map +1 -1
- package/resources/profiles/campaigns.js +39 -41
- package/resources/profiles/campaigns.js.map +1 -1
- package/resources/profiles/campaigns.mjs +39 -41
- 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 +1699 -391
- package/resources/profiles/profiles.d.mts.map +1 -1
- package/resources/profiles/profiles.d.ts +1699 -391
- package/resources/profiles/profiles.d.ts.map +1 -1
- package/resources/profiles/profiles.js +3 -6
- package/resources/profiles/profiles.js.map +1 -1
- package/resources/profiles/profiles.mjs +3 -6
- package/resources/profiles/profiles.mjs.map +1 -1
- package/resources/templates.d.mts +993 -172
- package/resources/templates.d.mts.map +1 -1
- package/resources/templates.d.ts +993 -172
- package/resources/templates.d.ts.map +1 -1
- package/resources/templates.js +3 -3
- package/resources/templates.js.map +1 -1
- package/resources/templates.mjs +3 -3
- package/resources/templates.mjs.map +1 -1
- package/resources/users.d.mts +373 -46
- package/resources/users.d.mts.map +1 -1
- package/resources/users.d.ts +373 -46
- package/resources/users.d.ts.map +1 -1
- package/resources/users.js +3 -7
- package/resources/users.js.map +1 -1
- package/resources/users.mjs +3 -7
- package/resources/users.mjs.map +1 -1
- package/resources/webhooks.d.mts +624 -110
- package/resources/webhooks.d.mts.map +1 -1
- package/resources/webhooks.d.ts +624 -110
- package/resources/webhooks.d.ts.map +1 -1
- package/resources/webhooks.js +6 -7
- package/resources/webhooks.js.map +1 -1
- package/resources/webhooks.mjs +6 -7
- package/resources/webhooks.mjs.map +1 -1
- package/src/client.ts +33 -68
- package/src/internal/utils/log.ts +2 -1
- package/src/resources/contacts.ts +567 -66
- package/src/resources/index.ts +17 -34
- package/src/resources/me.ts +132 -51
- package/src/resources/messages.ts +147 -9
- package/src/resources/numbers.ts +47 -3
- package/src/resources/profiles/campaigns.ts +668 -169
- package/src/resources/profiles/index.ts +5 -17
- package/src/resources/profiles/profiles.ts +2278 -545
- package/src/resources/templates.ts +1261 -206
- package/src/resources/users.ts +430 -47
- package/src/resources/webhooks.ts +742 -120
- 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,8 +1,6 @@
|
|
|
1
1
|
import { APIResource } from "../../core/resource.js";
|
|
2
|
-
import * as ProfilesAPI from "./profiles.js";
|
|
3
|
-
import * as WebhooksAPI from "../webhooks.js";
|
|
4
2
|
import * as CampaignsAPI from "./campaigns.js";
|
|
5
|
-
import {
|
|
3
|
+
import { CampaignCreateParams, CampaignCreateResponse, CampaignDeleteParams, CampaignListParams, CampaignListResponse, CampaignUpdateParams, CampaignUpdateResponse, Campaigns } from "./campaigns.js";
|
|
6
4
|
import { APIPromise } from "../../core/api-promise.js";
|
|
7
5
|
import { RequestOptions } from "../../internal/request-options.js";
|
|
8
6
|
/**
|
|
@@ -50,11 +48,10 @@ export declare class Profiles extends APIResource {
|
|
|
50
48
|
*
|
|
51
49
|
* @example
|
|
52
50
|
* ```ts
|
|
53
|
-
* const
|
|
54
|
-
* await client.profiles.create();
|
|
51
|
+
* const profile = await client.profiles.create();
|
|
55
52
|
* ```
|
|
56
53
|
*/
|
|
57
|
-
create(params: ProfileCreateParams, options?: RequestOptions): APIPromise<
|
|
54
|
+
create(params: ProfileCreateParams, options?: RequestOptions): APIPromise<ProfileCreateResponse>;
|
|
58
55
|
/**
|
|
59
56
|
* Retrieves detailed information about a specific sender profile within an
|
|
60
57
|
* organization, including brand and KYC information if a brand has been
|
|
@@ -62,11 +59,10 @@ export declare class Profiles extends APIResource {
|
|
|
62
59
|
*
|
|
63
60
|
* @example
|
|
64
61
|
* ```ts
|
|
65
|
-
* const
|
|
66
|
-
* await client.profiles.retrieve('profileId');
|
|
62
|
+
* const profile = await client.profiles.retrieve('profileId');
|
|
67
63
|
* ```
|
|
68
64
|
*/
|
|
69
|
-
retrieve(profileID: string, params?: ProfileRetrieveParams | null | undefined, options?: RequestOptions): APIPromise<
|
|
65
|
+
retrieve(profileID: string, params?: ProfileRetrieveParams | null | undefined, options?: RequestOptions): APIPromise<ProfileRetrieveResponse>;
|
|
70
66
|
/**
|
|
71
67
|
* Updates a profile's configuration and settings. Requires admin role in the
|
|
72
68
|
* organization. Only provided fields will be updated (partial update).
|
|
@@ -89,11 +85,10 @@ export declare class Profiles extends APIResource {
|
|
|
89
85
|
*
|
|
90
86
|
* @example
|
|
91
87
|
* ```ts
|
|
92
|
-
* const
|
|
93
|
-
* await client.profiles.update('profileId');
|
|
88
|
+
* const profile = await client.profiles.update('profileId');
|
|
94
89
|
* ```
|
|
95
90
|
*/
|
|
96
|
-
update(profileID: string, params: ProfileUpdateParams, options?: RequestOptions): APIPromise<
|
|
91
|
+
update(profileID: string, params: ProfileUpdateParams, options?: RequestOptions): APIPromise<ProfileUpdateResponse>;
|
|
97
92
|
/**
|
|
98
93
|
* Retrieves all sender profiles within an organization, including brand
|
|
99
94
|
* information for each profile. Profiles represent different brands, departments,
|
|
@@ -152,485 +147,1068 @@ export declare class Profiles extends APIResource {
|
|
|
152
147
|
/**
|
|
153
148
|
* Standard API response envelope for all v3 endpoints
|
|
154
149
|
*/
|
|
155
|
-
export interface
|
|
150
|
+
export interface ProfileCreateResponse {
|
|
156
151
|
/**
|
|
157
152
|
* Detailed profile response for v3 API
|
|
158
153
|
*/
|
|
159
|
-
data?:
|
|
154
|
+
data?: ProfileCreateResponse.Data | null;
|
|
160
155
|
/**
|
|
161
156
|
* Error information
|
|
162
157
|
*/
|
|
163
|
-
error?:
|
|
158
|
+
error?: ProfileCreateResponse.Error | null;
|
|
164
159
|
/**
|
|
165
160
|
* Request and response metadata
|
|
166
161
|
*/
|
|
167
|
-
meta?:
|
|
162
|
+
meta?: ProfileCreateResponse.Meta;
|
|
168
163
|
/**
|
|
169
164
|
* Indicates whether the request was successful
|
|
170
165
|
*/
|
|
171
166
|
success?: boolean;
|
|
172
167
|
}
|
|
173
|
-
|
|
174
|
-
* Billing contact information for a profile. Required when billing_model is
|
|
175
|
-
* "profile" or "profile_and_organization".
|
|
176
|
-
*/
|
|
177
|
-
export interface BillingContactInfo {
|
|
178
|
-
/**
|
|
179
|
-
* Email address where invoices will be sent (required)
|
|
180
|
-
*/
|
|
181
|
-
email: string;
|
|
168
|
+
export declare namespace ProfileCreateResponse {
|
|
182
169
|
/**
|
|
183
|
-
*
|
|
170
|
+
* Detailed profile response for v3 API
|
|
184
171
|
*/
|
|
185
|
-
|
|
172
|
+
interface Data {
|
|
173
|
+
/**
|
|
174
|
+
* Profile unique identifier
|
|
175
|
+
*/
|
|
176
|
+
id?: string;
|
|
177
|
+
/**
|
|
178
|
+
* Whether contacts are shared across profiles in the organization
|
|
179
|
+
*/
|
|
180
|
+
allow_contact_sharing?: boolean;
|
|
181
|
+
/**
|
|
182
|
+
* Whether number changes are allowed during onboarding
|
|
183
|
+
*/
|
|
184
|
+
allow_number_change_during_onboarding?: boolean | null;
|
|
185
|
+
/**
|
|
186
|
+
* Whether templates are shared across profiles in the organization
|
|
187
|
+
*/
|
|
188
|
+
allow_template_sharing?: boolean;
|
|
189
|
+
/**
|
|
190
|
+
* Billing contact info returned in profile responses
|
|
191
|
+
*/
|
|
192
|
+
billing_contact?: Data.BillingContact | null;
|
|
193
|
+
/**
|
|
194
|
+
* Billing model: profile, organization, or profile_and_organization
|
|
195
|
+
*/
|
|
196
|
+
billing_model?: string;
|
|
197
|
+
/**
|
|
198
|
+
* Brand response with nested contact, business, and compliance sections — mirrors
|
|
199
|
+
* the request structure.
|
|
200
|
+
*/
|
|
201
|
+
brand?: Data.Brand | null;
|
|
202
|
+
/**
|
|
203
|
+
* When the profile was created
|
|
204
|
+
*/
|
|
205
|
+
created_at?: string;
|
|
206
|
+
/**
|
|
207
|
+
* Profile description
|
|
208
|
+
*/
|
|
209
|
+
description?: string | null;
|
|
210
|
+
/**
|
|
211
|
+
* Profile email (inherited from organization)
|
|
212
|
+
*/
|
|
213
|
+
email?: string | null;
|
|
214
|
+
/**
|
|
215
|
+
* Profile icon URL
|
|
216
|
+
*/
|
|
217
|
+
icon?: string | null;
|
|
218
|
+
/**
|
|
219
|
+
* Whether this profile inherits contacts from the organization
|
|
220
|
+
*/
|
|
221
|
+
inherit_contacts?: boolean;
|
|
222
|
+
/**
|
|
223
|
+
* Whether this profile inherits TCR brand from the organization
|
|
224
|
+
*/
|
|
225
|
+
inherit_tcr_brand?: boolean;
|
|
226
|
+
/**
|
|
227
|
+
* Whether this profile inherits TCR campaign from the organization
|
|
228
|
+
*/
|
|
229
|
+
inherit_tcr_campaign?: boolean;
|
|
230
|
+
/**
|
|
231
|
+
* Whether this profile inherits templates from the organization
|
|
232
|
+
*/
|
|
233
|
+
inherit_templates?: boolean;
|
|
234
|
+
/**
|
|
235
|
+
* Profile name
|
|
236
|
+
*/
|
|
237
|
+
name?: string;
|
|
238
|
+
/**
|
|
239
|
+
* Parent organization ID
|
|
240
|
+
*/
|
|
241
|
+
organization_id?: string | null;
|
|
242
|
+
/**
|
|
243
|
+
* Direct SMS phone number
|
|
244
|
+
*/
|
|
245
|
+
sending_phone_number?: string | null;
|
|
246
|
+
/**
|
|
247
|
+
* Reference to another profile for SMS/Telnyx configuration
|
|
248
|
+
*/
|
|
249
|
+
sending_phone_number_profile_id?: string | null;
|
|
250
|
+
/**
|
|
251
|
+
* Reference to another profile for WhatsApp configuration
|
|
252
|
+
*/
|
|
253
|
+
sending_whatsapp_number_profile_id?: string | null;
|
|
254
|
+
/**
|
|
255
|
+
* Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
|
|
256
|
+
* only, with at least one letter.
|
|
257
|
+
*/
|
|
258
|
+
short_name?: string | null;
|
|
259
|
+
/**
|
|
260
|
+
* Profile setup status: incomplete, pending_review, approved, rejected
|
|
261
|
+
*/
|
|
262
|
+
status?: string;
|
|
263
|
+
/**
|
|
264
|
+
* When the profile was last updated
|
|
265
|
+
*/
|
|
266
|
+
updated_at?: string | null;
|
|
267
|
+
/**
|
|
268
|
+
* WhatsApp Business Account ID associated with this profile. Present whether the
|
|
269
|
+
* WABA is inherited from the organization or configured directly.
|
|
270
|
+
*/
|
|
271
|
+
waba_id?: string | null;
|
|
272
|
+
/**
|
|
273
|
+
* Direct WhatsApp phone number
|
|
274
|
+
*/
|
|
275
|
+
whatsapp_phone_number?: string | null;
|
|
276
|
+
}
|
|
277
|
+
namespace Data {
|
|
278
|
+
/**
|
|
279
|
+
* Billing contact info returned in profile responses
|
|
280
|
+
*/
|
|
281
|
+
interface BillingContact {
|
|
282
|
+
address?: string | null;
|
|
283
|
+
email?: string | null;
|
|
284
|
+
name?: string | null;
|
|
285
|
+
phone?: string | null;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Brand response with nested contact, business, and compliance sections — mirrors
|
|
289
|
+
* the request structure.
|
|
290
|
+
*/
|
|
291
|
+
interface Brand {
|
|
292
|
+
/**
|
|
293
|
+
* Unique identifier for the brand
|
|
294
|
+
*/
|
|
295
|
+
id?: string;
|
|
296
|
+
/**
|
|
297
|
+
* Business details and address information
|
|
298
|
+
*/
|
|
299
|
+
business?: Brand.Business | null;
|
|
300
|
+
/**
|
|
301
|
+
* Compliance and TCR-related information
|
|
302
|
+
*/
|
|
303
|
+
compliance?: Brand.Compliance | null;
|
|
304
|
+
/**
|
|
305
|
+
* Contact information for the brand
|
|
306
|
+
*/
|
|
307
|
+
contact?: Brand.Contact | null;
|
|
308
|
+
/**
|
|
309
|
+
* When the brand was created
|
|
310
|
+
*/
|
|
311
|
+
created_at?: string;
|
|
312
|
+
/**
|
|
313
|
+
* CSP (Campaign Service Provider) ID
|
|
314
|
+
*/
|
|
315
|
+
csp_id?: string | null;
|
|
316
|
+
identity_status?: 'SELF_DECLARED' | 'UNVERIFIED' | 'VERIFIED' | 'VETTED_VERIFIED' | null;
|
|
317
|
+
/**
|
|
318
|
+
* Whether this brand is inherited from the parent organization
|
|
319
|
+
*/
|
|
320
|
+
is_inherited?: boolean;
|
|
321
|
+
status?: 'ACTIVE' | 'INACTIVE' | 'SUSPENDED' | null;
|
|
322
|
+
/**
|
|
323
|
+
* When the brand was submitted to TCR
|
|
324
|
+
*/
|
|
325
|
+
submitted_at?: string | null;
|
|
326
|
+
/**
|
|
327
|
+
* Whether this brand has been submitted to TCR
|
|
328
|
+
*/
|
|
329
|
+
submitted_to_tcr?: boolean;
|
|
330
|
+
/**
|
|
331
|
+
* TCR brand ID (populated after TCR submission)
|
|
332
|
+
*/
|
|
333
|
+
tcr_brand_id?: string | null;
|
|
334
|
+
/**
|
|
335
|
+
* Universal EIN from TCR
|
|
336
|
+
*/
|
|
337
|
+
universal_ein?: string | null;
|
|
338
|
+
/**
|
|
339
|
+
* When the brand was last updated
|
|
340
|
+
*/
|
|
341
|
+
updated_at?: string | null;
|
|
342
|
+
}
|
|
343
|
+
namespace Brand {
|
|
344
|
+
/**
|
|
345
|
+
* Business details and address information
|
|
346
|
+
*/
|
|
347
|
+
interface Business {
|
|
348
|
+
/**
|
|
349
|
+
* City
|
|
350
|
+
*/
|
|
351
|
+
city?: string | null;
|
|
352
|
+
/**
|
|
353
|
+
* Country code (e.g., US, CA)
|
|
354
|
+
*/
|
|
355
|
+
country?: string | null;
|
|
356
|
+
/**
|
|
357
|
+
* Country where the business is registered
|
|
358
|
+
*/
|
|
359
|
+
country_of_registration?: string | null;
|
|
360
|
+
/**
|
|
361
|
+
* Business entity type
|
|
362
|
+
*/
|
|
363
|
+
entity_type?: string | null;
|
|
364
|
+
/**
|
|
365
|
+
* Legal business name
|
|
366
|
+
*/
|
|
367
|
+
legal_name?: string | null;
|
|
368
|
+
/**
|
|
369
|
+
* Postal/ZIP code
|
|
370
|
+
*/
|
|
371
|
+
postal_code?: string | null;
|
|
372
|
+
/**
|
|
373
|
+
* State/province code
|
|
374
|
+
*/
|
|
375
|
+
state?: string | null;
|
|
376
|
+
/**
|
|
377
|
+
* Street address
|
|
378
|
+
*/
|
|
379
|
+
street?: string | null;
|
|
380
|
+
/**
|
|
381
|
+
* Tax ID/EIN number
|
|
382
|
+
*/
|
|
383
|
+
tax_id?: string | null;
|
|
384
|
+
/**
|
|
385
|
+
* Type of tax ID (e.g., us_ein, ca_bn)
|
|
386
|
+
*/
|
|
387
|
+
tax_id_type?: string | null;
|
|
388
|
+
/**
|
|
389
|
+
* Business website URL
|
|
390
|
+
*/
|
|
391
|
+
url?: string | null;
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Compliance and TCR-related information
|
|
395
|
+
*/
|
|
396
|
+
interface Compliance {
|
|
397
|
+
brand_relationship?: 'BASIC_ACCOUNT' | 'MEDIUM_ACCOUNT' | 'LARGE_ACCOUNT' | 'SMALL_ACCOUNT' | 'KEY_ACCOUNT' | null;
|
|
398
|
+
/**
|
|
399
|
+
* List of destination countries for messaging
|
|
400
|
+
*/
|
|
401
|
+
destination_countries?: Array<Compliance.DestinationCountry>;
|
|
402
|
+
/**
|
|
403
|
+
* Expected daily messaging volume
|
|
404
|
+
*/
|
|
405
|
+
expected_messaging_volume?: string | null;
|
|
406
|
+
/**
|
|
407
|
+
* Whether this is a TCR (Campaign Registry) application
|
|
408
|
+
*/
|
|
409
|
+
is_tcr_application?: boolean;
|
|
410
|
+
/**
|
|
411
|
+
* Additional notes about the business or use case
|
|
412
|
+
*/
|
|
413
|
+
notes?: string | null;
|
|
414
|
+
/**
|
|
415
|
+
* Phone number prefix for messaging (e.g., "+1")
|
|
416
|
+
*/
|
|
417
|
+
phone_number_prefix?: string | null;
|
|
418
|
+
/**
|
|
419
|
+
* Primary messaging use case description
|
|
420
|
+
*/
|
|
421
|
+
primary_use_case?: string | null;
|
|
422
|
+
vertical?: 'PROFESSIONAL' | 'REAL_ESTATE' | 'HEALTHCARE' | 'HUMAN_RESOURCES' | 'ENERGY' | 'ENTERTAINMENT' | 'RETAIL' | 'TRANSPORTATION' | 'AGRICULTURE' | 'INSURANCE' | 'POSTAL' | 'EDUCATION' | 'HOSPITALITY' | 'FINANCIAL' | 'POLITICAL' | 'GAMBLING' | 'LEGAL' | 'CONSTRUCTION' | 'NGO' | 'MANUFACTURING' | 'GOVERNMENT' | 'TECHNOLOGY' | 'COMMUNICATION' | null;
|
|
423
|
+
}
|
|
424
|
+
namespace Compliance {
|
|
425
|
+
interface DestinationCountry {
|
|
426
|
+
id?: string;
|
|
427
|
+
isMain?: boolean;
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Contact information for the brand
|
|
432
|
+
*/
|
|
433
|
+
interface Contact {
|
|
434
|
+
/**
|
|
435
|
+
* Business/brand name
|
|
436
|
+
*/
|
|
437
|
+
business_name?: string | null;
|
|
438
|
+
/**
|
|
439
|
+
* Contact email address
|
|
440
|
+
*/
|
|
441
|
+
email?: string | null;
|
|
442
|
+
/**
|
|
443
|
+
* Primary contact name
|
|
444
|
+
*/
|
|
445
|
+
name?: string;
|
|
446
|
+
/**
|
|
447
|
+
* Contact phone number in E.164 format
|
|
448
|
+
*/
|
|
449
|
+
phone?: string | null;
|
|
450
|
+
/**
|
|
451
|
+
* Contact phone country code (e.g., "1" for US)
|
|
452
|
+
*/
|
|
453
|
+
phone_country_code?: string | null;
|
|
454
|
+
/**
|
|
455
|
+
* Contact's role in the business
|
|
456
|
+
*/
|
|
457
|
+
role?: string | null;
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
}
|
|
186
461
|
/**
|
|
187
|
-
*
|
|
188
|
-
* code, and country.
|
|
462
|
+
* Error information
|
|
189
463
|
*/
|
|
190
|
-
|
|
464
|
+
interface Error {
|
|
465
|
+
/**
|
|
466
|
+
* Machine-readable error code (e.g., "RESOURCE_001")
|
|
467
|
+
*/
|
|
468
|
+
code?: string;
|
|
469
|
+
/**
|
|
470
|
+
* Additional validation error details (field-level errors)
|
|
471
|
+
*/
|
|
472
|
+
details?: {
|
|
473
|
+
[key: string]: Array<string>;
|
|
474
|
+
} | null;
|
|
475
|
+
/**
|
|
476
|
+
* URL to documentation about this error
|
|
477
|
+
*/
|
|
478
|
+
doc_url?: string | null;
|
|
479
|
+
/**
|
|
480
|
+
* Human-readable error message
|
|
481
|
+
*/
|
|
482
|
+
message?: string;
|
|
483
|
+
}
|
|
191
484
|
/**
|
|
192
|
-
*
|
|
485
|
+
* Request and response metadata
|
|
193
486
|
*/
|
|
194
|
-
|
|
487
|
+
interface Meta {
|
|
488
|
+
/**
|
|
489
|
+
* Unique identifier for this request (for tracing and support)
|
|
490
|
+
*/
|
|
491
|
+
request_id?: string;
|
|
492
|
+
/**
|
|
493
|
+
* Server timestamp when the response was generated
|
|
494
|
+
*/
|
|
495
|
+
timestamp?: string;
|
|
496
|
+
/**
|
|
497
|
+
* API version used for this request
|
|
498
|
+
*/
|
|
499
|
+
version?: string;
|
|
500
|
+
}
|
|
195
501
|
}
|
|
196
502
|
/**
|
|
197
|
-
*
|
|
503
|
+
* Standard API response envelope for all v3 endpoints
|
|
198
504
|
*/
|
|
199
|
-
export interface
|
|
505
|
+
export interface ProfileRetrieveResponse {
|
|
200
506
|
/**
|
|
201
|
-
*
|
|
507
|
+
* Detailed profile response for v3 API
|
|
202
508
|
*/
|
|
203
|
-
|
|
509
|
+
data?: ProfileRetrieveResponse.Data | null;
|
|
204
510
|
/**
|
|
205
|
-
*
|
|
511
|
+
* Error information
|
|
206
512
|
*/
|
|
207
|
-
|
|
513
|
+
error?: ProfileRetrieveResponse.Error | null;
|
|
208
514
|
/**
|
|
209
|
-
*
|
|
515
|
+
* Request and response metadata
|
|
210
516
|
*/
|
|
211
|
-
|
|
212
|
-
}
|
|
213
|
-
export interface DestinationCountry {
|
|
214
|
-
id?: string;
|
|
215
|
-
isMain?: boolean;
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* Payment card details for a profile. Accepted when billing_model is "profile" or
|
|
219
|
-
* "profile_and_organization". These details are not stored on our servers and will
|
|
220
|
-
* be forwarded to the payment processor.
|
|
221
|
-
*/
|
|
222
|
-
export interface PaymentDetails {
|
|
517
|
+
meta?: ProfileRetrieveResponse.Meta;
|
|
223
518
|
/**
|
|
224
|
-
*
|
|
519
|
+
* Indicates whether the request was successful
|
|
225
520
|
*/
|
|
226
|
-
|
|
521
|
+
success?: boolean;
|
|
522
|
+
}
|
|
523
|
+
export declare namespace ProfileRetrieveResponse {
|
|
227
524
|
/**
|
|
228
|
-
*
|
|
525
|
+
* Detailed profile response for v3 API
|
|
229
526
|
*/
|
|
230
|
-
|
|
527
|
+
interface Data {
|
|
528
|
+
/**
|
|
529
|
+
* Profile unique identifier
|
|
530
|
+
*/
|
|
531
|
+
id?: string;
|
|
532
|
+
/**
|
|
533
|
+
* Whether contacts are shared across profiles in the organization
|
|
534
|
+
*/
|
|
535
|
+
allow_contact_sharing?: boolean;
|
|
536
|
+
/**
|
|
537
|
+
* Whether number changes are allowed during onboarding
|
|
538
|
+
*/
|
|
539
|
+
allow_number_change_during_onboarding?: boolean | null;
|
|
540
|
+
/**
|
|
541
|
+
* Whether templates are shared across profiles in the organization
|
|
542
|
+
*/
|
|
543
|
+
allow_template_sharing?: boolean;
|
|
544
|
+
/**
|
|
545
|
+
* Billing contact info returned in profile responses
|
|
546
|
+
*/
|
|
547
|
+
billing_contact?: Data.BillingContact | null;
|
|
548
|
+
/**
|
|
549
|
+
* Billing model: profile, organization, or profile_and_organization
|
|
550
|
+
*/
|
|
551
|
+
billing_model?: string;
|
|
552
|
+
/**
|
|
553
|
+
* Brand response with nested contact, business, and compliance sections — mirrors
|
|
554
|
+
* the request structure.
|
|
555
|
+
*/
|
|
556
|
+
brand?: Data.Brand | null;
|
|
557
|
+
/**
|
|
558
|
+
* When the profile was created
|
|
559
|
+
*/
|
|
560
|
+
created_at?: string;
|
|
561
|
+
/**
|
|
562
|
+
* Profile description
|
|
563
|
+
*/
|
|
564
|
+
description?: string | null;
|
|
565
|
+
/**
|
|
566
|
+
* Profile email (inherited from organization)
|
|
567
|
+
*/
|
|
568
|
+
email?: string | null;
|
|
569
|
+
/**
|
|
570
|
+
* Profile icon URL
|
|
571
|
+
*/
|
|
572
|
+
icon?: string | null;
|
|
573
|
+
/**
|
|
574
|
+
* Whether this profile inherits contacts from the organization
|
|
575
|
+
*/
|
|
576
|
+
inherit_contacts?: boolean;
|
|
577
|
+
/**
|
|
578
|
+
* Whether this profile inherits TCR brand from the organization
|
|
579
|
+
*/
|
|
580
|
+
inherit_tcr_brand?: boolean;
|
|
581
|
+
/**
|
|
582
|
+
* Whether this profile inherits TCR campaign from the organization
|
|
583
|
+
*/
|
|
584
|
+
inherit_tcr_campaign?: boolean;
|
|
585
|
+
/**
|
|
586
|
+
* Whether this profile inherits templates from the organization
|
|
587
|
+
*/
|
|
588
|
+
inherit_templates?: boolean;
|
|
589
|
+
/**
|
|
590
|
+
* Profile name
|
|
591
|
+
*/
|
|
592
|
+
name?: string;
|
|
593
|
+
/**
|
|
594
|
+
* Parent organization ID
|
|
595
|
+
*/
|
|
596
|
+
organization_id?: string | null;
|
|
597
|
+
/**
|
|
598
|
+
* Direct SMS phone number
|
|
599
|
+
*/
|
|
600
|
+
sending_phone_number?: string | null;
|
|
601
|
+
/**
|
|
602
|
+
* Reference to another profile for SMS/Telnyx configuration
|
|
603
|
+
*/
|
|
604
|
+
sending_phone_number_profile_id?: string | null;
|
|
605
|
+
/**
|
|
606
|
+
* Reference to another profile for WhatsApp configuration
|
|
607
|
+
*/
|
|
608
|
+
sending_whatsapp_number_profile_id?: string | null;
|
|
609
|
+
/**
|
|
610
|
+
* Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
|
|
611
|
+
* only, with at least one letter.
|
|
612
|
+
*/
|
|
613
|
+
short_name?: string | null;
|
|
614
|
+
/**
|
|
615
|
+
* Profile setup status: incomplete, pending_review, approved, rejected
|
|
616
|
+
*/
|
|
617
|
+
status?: string;
|
|
618
|
+
/**
|
|
619
|
+
* When the profile was last updated
|
|
620
|
+
*/
|
|
621
|
+
updated_at?: string | null;
|
|
622
|
+
/**
|
|
623
|
+
* WhatsApp Business Account ID associated with this profile. Present whether the
|
|
624
|
+
* WABA is inherited from the organization or configured directly.
|
|
625
|
+
*/
|
|
626
|
+
waba_id?: string | null;
|
|
627
|
+
/**
|
|
628
|
+
* Direct WhatsApp phone number
|
|
629
|
+
*/
|
|
630
|
+
whatsapp_phone_number?: string | null;
|
|
631
|
+
}
|
|
632
|
+
namespace Data {
|
|
633
|
+
/**
|
|
634
|
+
* Billing contact info returned in profile responses
|
|
635
|
+
*/
|
|
636
|
+
interface BillingContact {
|
|
637
|
+
address?: string | null;
|
|
638
|
+
email?: string | null;
|
|
639
|
+
name?: string | null;
|
|
640
|
+
phone?: string | null;
|
|
641
|
+
}
|
|
642
|
+
/**
|
|
643
|
+
* Brand response with nested contact, business, and compliance sections — mirrors
|
|
644
|
+
* the request structure.
|
|
645
|
+
*/
|
|
646
|
+
interface Brand {
|
|
647
|
+
/**
|
|
648
|
+
* Unique identifier for the brand
|
|
649
|
+
*/
|
|
650
|
+
id?: string;
|
|
651
|
+
/**
|
|
652
|
+
* Business details and address information
|
|
653
|
+
*/
|
|
654
|
+
business?: Brand.Business | null;
|
|
655
|
+
/**
|
|
656
|
+
* Compliance and TCR-related information
|
|
657
|
+
*/
|
|
658
|
+
compliance?: Brand.Compliance | null;
|
|
659
|
+
/**
|
|
660
|
+
* Contact information for the brand
|
|
661
|
+
*/
|
|
662
|
+
contact?: Brand.Contact | null;
|
|
663
|
+
/**
|
|
664
|
+
* When the brand was created
|
|
665
|
+
*/
|
|
666
|
+
created_at?: string;
|
|
667
|
+
/**
|
|
668
|
+
* CSP (Campaign Service Provider) ID
|
|
669
|
+
*/
|
|
670
|
+
csp_id?: string | null;
|
|
671
|
+
identity_status?: 'SELF_DECLARED' | 'UNVERIFIED' | 'VERIFIED' | 'VETTED_VERIFIED' | null;
|
|
672
|
+
/**
|
|
673
|
+
* Whether this brand is inherited from the parent organization
|
|
674
|
+
*/
|
|
675
|
+
is_inherited?: boolean;
|
|
676
|
+
status?: 'ACTIVE' | 'INACTIVE' | 'SUSPENDED' | null;
|
|
677
|
+
/**
|
|
678
|
+
* When the brand was submitted to TCR
|
|
679
|
+
*/
|
|
680
|
+
submitted_at?: string | null;
|
|
681
|
+
/**
|
|
682
|
+
* Whether this brand has been submitted to TCR
|
|
683
|
+
*/
|
|
684
|
+
submitted_to_tcr?: boolean;
|
|
685
|
+
/**
|
|
686
|
+
* TCR brand ID (populated after TCR submission)
|
|
687
|
+
*/
|
|
688
|
+
tcr_brand_id?: string | null;
|
|
689
|
+
/**
|
|
690
|
+
* Universal EIN from TCR
|
|
691
|
+
*/
|
|
692
|
+
universal_ein?: string | null;
|
|
693
|
+
/**
|
|
694
|
+
* When the brand was last updated
|
|
695
|
+
*/
|
|
696
|
+
updated_at?: string | null;
|
|
697
|
+
}
|
|
698
|
+
namespace Brand {
|
|
699
|
+
/**
|
|
700
|
+
* Business details and address information
|
|
701
|
+
*/
|
|
702
|
+
interface Business {
|
|
703
|
+
/**
|
|
704
|
+
* City
|
|
705
|
+
*/
|
|
706
|
+
city?: string | null;
|
|
707
|
+
/**
|
|
708
|
+
* Country code (e.g., US, CA)
|
|
709
|
+
*/
|
|
710
|
+
country?: string | null;
|
|
711
|
+
/**
|
|
712
|
+
* Country where the business is registered
|
|
713
|
+
*/
|
|
714
|
+
country_of_registration?: string | null;
|
|
715
|
+
/**
|
|
716
|
+
* Business entity type
|
|
717
|
+
*/
|
|
718
|
+
entity_type?: string | null;
|
|
719
|
+
/**
|
|
720
|
+
* Legal business name
|
|
721
|
+
*/
|
|
722
|
+
legal_name?: string | null;
|
|
723
|
+
/**
|
|
724
|
+
* Postal/ZIP code
|
|
725
|
+
*/
|
|
726
|
+
postal_code?: string | null;
|
|
727
|
+
/**
|
|
728
|
+
* State/province code
|
|
729
|
+
*/
|
|
730
|
+
state?: string | null;
|
|
731
|
+
/**
|
|
732
|
+
* Street address
|
|
733
|
+
*/
|
|
734
|
+
street?: string | null;
|
|
735
|
+
/**
|
|
736
|
+
* Tax ID/EIN number
|
|
737
|
+
*/
|
|
738
|
+
tax_id?: string | null;
|
|
739
|
+
/**
|
|
740
|
+
* Type of tax ID (e.g., us_ein, ca_bn)
|
|
741
|
+
*/
|
|
742
|
+
tax_id_type?: string | null;
|
|
743
|
+
/**
|
|
744
|
+
* Business website URL
|
|
745
|
+
*/
|
|
746
|
+
url?: string | null;
|
|
747
|
+
}
|
|
748
|
+
/**
|
|
749
|
+
* Compliance and TCR-related information
|
|
750
|
+
*/
|
|
751
|
+
interface Compliance {
|
|
752
|
+
brand_relationship?: 'BASIC_ACCOUNT' | 'MEDIUM_ACCOUNT' | 'LARGE_ACCOUNT' | 'SMALL_ACCOUNT' | 'KEY_ACCOUNT' | null;
|
|
753
|
+
/**
|
|
754
|
+
* List of destination countries for messaging
|
|
755
|
+
*/
|
|
756
|
+
destination_countries?: Array<Compliance.DestinationCountry>;
|
|
757
|
+
/**
|
|
758
|
+
* Expected daily messaging volume
|
|
759
|
+
*/
|
|
760
|
+
expected_messaging_volume?: string | null;
|
|
761
|
+
/**
|
|
762
|
+
* Whether this is a TCR (Campaign Registry) application
|
|
763
|
+
*/
|
|
764
|
+
is_tcr_application?: boolean;
|
|
765
|
+
/**
|
|
766
|
+
* Additional notes about the business or use case
|
|
767
|
+
*/
|
|
768
|
+
notes?: string | null;
|
|
769
|
+
/**
|
|
770
|
+
* Phone number prefix for messaging (e.g., "+1")
|
|
771
|
+
*/
|
|
772
|
+
phone_number_prefix?: string | null;
|
|
773
|
+
/**
|
|
774
|
+
* Primary messaging use case description
|
|
775
|
+
*/
|
|
776
|
+
primary_use_case?: string | null;
|
|
777
|
+
vertical?: 'PROFESSIONAL' | 'REAL_ESTATE' | 'HEALTHCARE' | 'HUMAN_RESOURCES' | 'ENERGY' | 'ENTERTAINMENT' | 'RETAIL' | 'TRANSPORTATION' | 'AGRICULTURE' | 'INSURANCE' | 'POSTAL' | 'EDUCATION' | 'HOSPITALITY' | 'FINANCIAL' | 'POLITICAL' | 'GAMBLING' | 'LEGAL' | 'CONSTRUCTION' | 'NGO' | 'MANUFACTURING' | 'GOVERNMENT' | 'TECHNOLOGY' | 'COMMUNICATION' | null;
|
|
778
|
+
}
|
|
779
|
+
namespace Compliance {
|
|
780
|
+
interface DestinationCountry {
|
|
781
|
+
id?: string;
|
|
782
|
+
isMain?: boolean;
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
/**
|
|
786
|
+
* Contact information for the brand
|
|
787
|
+
*/
|
|
788
|
+
interface Contact {
|
|
789
|
+
/**
|
|
790
|
+
* Business/brand name
|
|
791
|
+
*/
|
|
792
|
+
business_name?: string | null;
|
|
793
|
+
/**
|
|
794
|
+
* Contact email address
|
|
795
|
+
*/
|
|
796
|
+
email?: string | null;
|
|
797
|
+
/**
|
|
798
|
+
* Primary contact name
|
|
799
|
+
*/
|
|
800
|
+
name?: string;
|
|
801
|
+
/**
|
|
802
|
+
* Contact phone number in E.164 format
|
|
803
|
+
*/
|
|
804
|
+
phone?: string | null;
|
|
805
|
+
/**
|
|
806
|
+
* Contact phone country code (e.g., "1" for US)
|
|
807
|
+
*/
|
|
808
|
+
phone_country_code?: string | null;
|
|
809
|
+
/**
|
|
810
|
+
* Contact's role in the business
|
|
811
|
+
*/
|
|
812
|
+
role?: string | null;
|
|
813
|
+
}
|
|
814
|
+
}
|
|
815
|
+
}
|
|
231
816
|
/**
|
|
232
|
-
*
|
|
817
|
+
* Error information
|
|
233
818
|
*/
|
|
234
|
-
|
|
819
|
+
interface Error {
|
|
820
|
+
/**
|
|
821
|
+
* Machine-readable error code (e.g., "RESOURCE_001")
|
|
822
|
+
*/
|
|
823
|
+
code?: string;
|
|
824
|
+
/**
|
|
825
|
+
* Additional validation error details (field-level errors)
|
|
826
|
+
*/
|
|
827
|
+
details?: {
|
|
828
|
+
[key: string]: Array<string>;
|
|
829
|
+
} | null;
|
|
830
|
+
/**
|
|
831
|
+
* URL to documentation about this error
|
|
832
|
+
*/
|
|
833
|
+
doc_url?: string | null;
|
|
834
|
+
/**
|
|
835
|
+
* Human-readable error message
|
|
836
|
+
*/
|
|
837
|
+
message?: string;
|
|
838
|
+
}
|
|
235
839
|
/**
|
|
236
|
-
*
|
|
840
|
+
* Request and response metadata
|
|
237
841
|
*/
|
|
238
|
-
|
|
842
|
+
interface Meta {
|
|
843
|
+
/**
|
|
844
|
+
* Unique identifier for this request (for tracing and support)
|
|
845
|
+
*/
|
|
846
|
+
request_id?: string;
|
|
847
|
+
/**
|
|
848
|
+
* Server timestamp when the response was generated
|
|
849
|
+
*/
|
|
850
|
+
timestamp?: string;
|
|
851
|
+
/**
|
|
852
|
+
* API version used for this request
|
|
853
|
+
*/
|
|
854
|
+
version?: string;
|
|
855
|
+
}
|
|
239
856
|
}
|
|
240
857
|
/**
|
|
241
|
-
*
|
|
858
|
+
* Standard API response envelope for all v3 endpoints
|
|
242
859
|
*/
|
|
243
|
-
export interface
|
|
860
|
+
export interface ProfileUpdateResponse {
|
|
244
861
|
/**
|
|
245
|
-
*
|
|
246
|
-
*/
|
|
247
|
-
id?: string;
|
|
248
|
-
/**
|
|
249
|
-
* Whether contacts are shared across profiles in the organization
|
|
250
|
-
*/
|
|
251
|
-
allow_contact_sharing?: boolean;
|
|
252
|
-
/**
|
|
253
|
-
* Whether number changes are allowed during onboarding
|
|
254
|
-
*/
|
|
255
|
-
allow_number_change_during_onboarding?: boolean | null;
|
|
256
|
-
/**
|
|
257
|
-
* Whether templates are shared across profiles in the organization
|
|
258
|
-
*/
|
|
259
|
-
allow_template_sharing?: boolean;
|
|
260
|
-
/**
|
|
261
|
-
* Billing contact info returned in profile responses
|
|
262
|
-
*/
|
|
263
|
-
billing_contact?: ProfileDetail.BillingContact | null;
|
|
264
|
-
/**
|
|
265
|
-
* Billing model: profile, organization, or profile_and_organization
|
|
266
|
-
*/
|
|
267
|
-
billing_model?: string;
|
|
268
|
-
/**
|
|
269
|
-
* Brand response with nested contact, business, and compliance sections — mirrors
|
|
270
|
-
* the request structure.
|
|
271
|
-
*/
|
|
272
|
-
brand?: ProfileDetail.Brand | null;
|
|
273
|
-
/**
|
|
274
|
-
* When the profile was created
|
|
275
|
-
*/
|
|
276
|
-
created_at?: string;
|
|
277
|
-
/**
|
|
278
|
-
* Profile description
|
|
279
|
-
*/
|
|
280
|
-
description?: string | null;
|
|
281
|
-
/**
|
|
282
|
-
* Profile email (inherited from organization)
|
|
283
|
-
*/
|
|
284
|
-
email?: string | null;
|
|
285
|
-
/**
|
|
286
|
-
* Profile icon URL
|
|
287
|
-
*/
|
|
288
|
-
icon?: string | null;
|
|
289
|
-
/**
|
|
290
|
-
* Whether this profile inherits contacts from the organization
|
|
291
|
-
*/
|
|
292
|
-
inherit_contacts?: boolean;
|
|
293
|
-
/**
|
|
294
|
-
* Whether this profile inherits TCR brand from the organization
|
|
295
|
-
*/
|
|
296
|
-
inherit_tcr_brand?: boolean;
|
|
297
|
-
/**
|
|
298
|
-
* Whether this profile inherits TCR campaign from the organization
|
|
299
|
-
*/
|
|
300
|
-
inherit_tcr_campaign?: boolean;
|
|
301
|
-
/**
|
|
302
|
-
* Whether this profile inherits templates from the organization
|
|
303
|
-
*/
|
|
304
|
-
inherit_templates?: boolean;
|
|
305
|
-
/**
|
|
306
|
-
* Profile name
|
|
307
|
-
*/
|
|
308
|
-
name?: string;
|
|
309
|
-
/**
|
|
310
|
-
* Parent organization ID
|
|
311
|
-
*/
|
|
312
|
-
organization_id?: string | null;
|
|
313
|
-
/**
|
|
314
|
-
* Direct SMS phone number
|
|
315
|
-
*/
|
|
316
|
-
sending_phone_number?: string | null;
|
|
317
|
-
/**
|
|
318
|
-
* Reference to another profile for SMS/Telnyx configuration
|
|
319
|
-
*/
|
|
320
|
-
sending_phone_number_profile_id?: string | null;
|
|
321
|
-
/**
|
|
322
|
-
* Reference to another profile for WhatsApp configuration
|
|
323
|
-
*/
|
|
324
|
-
sending_whatsapp_number_profile_id?: string | null;
|
|
325
|
-
/**
|
|
326
|
-
* Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
|
|
327
|
-
* only, with at least one letter.
|
|
328
|
-
*/
|
|
329
|
-
short_name?: string | null;
|
|
330
|
-
/**
|
|
331
|
-
* Profile setup status: incomplete, pending_review, approved, rejected
|
|
862
|
+
* Detailed profile response for v3 API
|
|
332
863
|
*/
|
|
333
|
-
|
|
864
|
+
data?: ProfileUpdateResponse.Data | null;
|
|
334
865
|
/**
|
|
335
|
-
*
|
|
866
|
+
* Error information
|
|
336
867
|
*/
|
|
337
|
-
|
|
868
|
+
error?: ProfileUpdateResponse.Error | null;
|
|
338
869
|
/**
|
|
339
|
-
*
|
|
340
|
-
* WABA is inherited from the organization or configured directly.
|
|
870
|
+
* Request and response metadata
|
|
341
871
|
*/
|
|
342
|
-
|
|
872
|
+
meta?: ProfileUpdateResponse.Meta;
|
|
343
873
|
/**
|
|
344
|
-
*
|
|
874
|
+
* Indicates whether the request was successful
|
|
345
875
|
*/
|
|
346
|
-
|
|
876
|
+
success?: boolean;
|
|
347
877
|
}
|
|
348
|
-
export declare namespace
|
|
878
|
+
export declare namespace ProfileUpdateResponse {
|
|
349
879
|
/**
|
|
350
|
-
*
|
|
880
|
+
* Detailed profile response for v3 API
|
|
351
881
|
*/
|
|
352
|
-
interface
|
|
353
|
-
|
|
882
|
+
interface Data {
|
|
883
|
+
/**
|
|
884
|
+
* Profile unique identifier
|
|
885
|
+
*/
|
|
886
|
+
id?: string;
|
|
887
|
+
/**
|
|
888
|
+
* Whether contacts are shared across profiles in the organization
|
|
889
|
+
*/
|
|
890
|
+
allow_contact_sharing?: boolean;
|
|
891
|
+
/**
|
|
892
|
+
* Whether number changes are allowed during onboarding
|
|
893
|
+
*/
|
|
894
|
+
allow_number_change_during_onboarding?: boolean | null;
|
|
895
|
+
/**
|
|
896
|
+
* Whether templates are shared across profiles in the organization
|
|
897
|
+
*/
|
|
898
|
+
allow_template_sharing?: boolean;
|
|
899
|
+
/**
|
|
900
|
+
* Billing contact info returned in profile responses
|
|
901
|
+
*/
|
|
902
|
+
billing_contact?: Data.BillingContact | null;
|
|
903
|
+
/**
|
|
904
|
+
* Billing model: profile, organization, or profile_and_organization
|
|
905
|
+
*/
|
|
906
|
+
billing_model?: string;
|
|
907
|
+
/**
|
|
908
|
+
* Brand response with nested contact, business, and compliance sections — mirrors
|
|
909
|
+
* the request structure.
|
|
910
|
+
*/
|
|
911
|
+
brand?: Data.Brand | null;
|
|
912
|
+
/**
|
|
913
|
+
* When the profile was created
|
|
914
|
+
*/
|
|
915
|
+
created_at?: string;
|
|
916
|
+
/**
|
|
917
|
+
* Profile description
|
|
918
|
+
*/
|
|
919
|
+
description?: string | null;
|
|
920
|
+
/**
|
|
921
|
+
* Profile email (inherited from organization)
|
|
922
|
+
*/
|
|
354
923
|
email?: string | null;
|
|
355
|
-
name?: string | null;
|
|
356
|
-
phone?: string | null;
|
|
357
|
-
}
|
|
358
|
-
/**
|
|
359
|
-
* Brand response with nested contact, business, and compliance sections — mirrors
|
|
360
|
-
* the request structure.
|
|
361
|
-
*/
|
|
362
|
-
interface Brand {
|
|
363
924
|
/**
|
|
364
|
-
*
|
|
925
|
+
* Profile icon URL
|
|
365
926
|
*/
|
|
366
|
-
|
|
927
|
+
icon?: string | null;
|
|
367
928
|
/**
|
|
368
|
-
*
|
|
929
|
+
* Whether this profile inherits contacts from the organization
|
|
369
930
|
*/
|
|
370
|
-
|
|
931
|
+
inherit_contacts?: boolean;
|
|
371
932
|
/**
|
|
372
|
-
*
|
|
933
|
+
* Whether this profile inherits TCR brand from the organization
|
|
373
934
|
*/
|
|
374
|
-
|
|
935
|
+
inherit_tcr_brand?: boolean;
|
|
375
936
|
/**
|
|
376
|
-
*
|
|
937
|
+
* Whether this profile inherits TCR campaign from the organization
|
|
377
938
|
*/
|
|
378
|
-
|
|
939
|
+
inherit_tcr_campaign?: boolean;
|
|
379
940
|
/**
|
|
380
|
-
*
|
|
941
|
+
* Whether this profile inherits templates from the organization
|
|
381
942
|
*/
|
|
382
|
-
|
|
943
|
+
inherit_templates?: boolean;
|
|
383
944
|
/**
|
|
384
|
-
*
|
|
945
|
+
* Profile name
|
|
385
946
|
*/
|
|
386
|
-
|
|
387
|
-
identity_status?: 'SELF_DECLARED' | 'UNVERIFIED' | 'VERIFIED' | 'VETTED_VERIFIED' | null;
|
|
947
|
+
name?: string;
|
|
388
948
|
/**
|
|
389
|
-
*
|
|
949
|
+
* Parent organization ID
|
|
390
950
|
*/
|
|
391
|
-
|
|
392
|
-
status?: 'ACTIVE' | 'INACTIVE' | 'SUSPENDED' | null;
|
|
951
|
+
organization_id?: string | null;
|
|
393
952
|
/**
|
|
394
|
-
*
|
|
953
|
+
* Direct SMS phone number
|
|
395
954
|
*/
|
|
396
|
-
|
|
955
|
+
sending_phone_number?: string | null;
|
|
397
956
|
/**
|
|
398
|
-
*
|
|
957
|
+
* Reference to another profile for SMS/Telnyx configuration
|
|
399
958
|
*/
|
|
400
|
-
|
|
959
|
+
sending_phone_number_profile_id?: string | null;
|
|
401
960
|
/**
|
|
402
|
-
*
|
|
961
|
+
* Reference to another profile for WhatsApp configuration
|
|
403
962
|
*/
|
|
404
|
-
|
|
963
|
+
sending_whatsapp_number_profile_id?: string | null;
|
|
405
964
|
/**
|
|
406
|
-
*
|
|
965
|
+
* Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
|
|
966
|
+
* only, with at least one letter.
|
|
407
967
|
*/
|
|
408
|
-
|
|
968
|
+
short_name?: string | null;
|
|
409
969
|
/**
|
|
410
|
-
*
|
|
970
|
+
* Profile setup status: incomplete, pending_review, approved, rejected
|
|
971
|
+
*/
|
|
972
|
+
status?: string;
|
|
973
|
+
/**
|
|
974
|
+
* When the profile was last updated
|
|
411
975
|
*/
|
|
412
976
|
updated_at?: string | null;
|
|
977
|
+
/**
|
|
978
|
+
* WhatsApp Business Account ID associated with this profile. Present whether the
|
|
979
|
+
* WABA is inherited from the organization or configured directly.
|
|
980
|
+
*/
|
|
981
|
+
waba_id?: string | null;
|
|
982
|
+
/**
|
|
983
|
+
* Direct WhatsApp phone number
|
|
984
|
+
*/
|
|
985
|
+
whatsapp_phone_number?: string | null;
|
|
413
986
|
}
|
|
414
|
-
namespace
|
|
987
|
+
namespace Data {
|
|
415
988
|
/**
|
|
416
|
-
*
|
|
989
|
+
* Billing contact info returned in profile responses
|
|
417
990
|
*/
|
|
418
|
-
interface
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
*/
|
|
430
|
-
country_of_registration?: string | null;
|
|
431
|
-
/**
|
|
432
|
-
* Business entity type
|
|
433
|
-
*/
|
|
434
|
-
entity_type?: string | null;
|
|
435
|
-
/**
|
|
436
|
-
* Legal business name
|
|
437
|
-
*/
|
|
438
|
-
legal_name?: string | null;
|
|
991
|
+
interface BillingContact {
|
|
992
|
+
address?: string | null;
|
|
993
|
+
email?: string | null;
|
|
994
|
+
name?: string | null;
|
|
995
|
+
phone?: string | null;
|
|
996
|
+
}
|
|
997
|
+
/**
|
|
998
|
+
* Brand response with nested contact, business, and compliance sections — mirrors
|
|
999
|
+
* the request structure.
|
|
1000
|
+
*/
|
|
1001
|
+
interface Brand {
|
|
439
1002
|
/**
|
|
440
|
-
*
|
|
1003
|
+
* Unique identifier for the brand
|
|
441
1004
|
*/
|
|
442
|
-
|
|
1005
|
+
id?: string;
|
|
443
1006
|
/**
|
|
444
|
-
*
|
|
1007
|
+
* Business details and address information
|
|
445
1008
|
*/
|
|
446
|
-
|
|
1009
|
+
business?: Brand.Business | null;
|
|
447
1010
|
/**
|
|
448
|
-
*
|
|
1011
|
+
* Compliance and TCR-related information
|
|
449
1012
|
*/
|
|
450
|
-
|
|
1013
|
+
compliance?: Brand.Compliance | null;
|
|
451
1014
|
/**
|
|
452
|
-
*
|
|
1015
|
+
* Contact information for the brand
|
|
453
1016
|
*/
|
|
454
|
-
|
|
1017
|
+
contact?: Brand.Contact | null;
|
|
455
1018
|
/**
|
|
456
|
-
*
|
|
1019
|
+
* When the brand was created
|
|
457
1020
|
*/
|
|
458
|
-
|
|
1021
|
+
created_at?: string;
|
|
459
1022
|
/**
|
|
460
|
-
*
|
|
1023
|
+
* CSP (Campaign Service Provider) ID
|
|
461
1024
|
*/
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
/**
|
|
465
|
-
* Compliance and TCR-related information
|
|
466
|
-
*/
|
|
467
|
-
interface Compliance {
|
|
468
|
-
brand_relationship?: ProfilesAPI.TcrBrandRelationship | null;
|
|
1025
|
+
csp_id?: string | null;
|
|
1026
|
+
identity_status?: 'SELF_DECLARED' | 'UNVERIFIED' | 'VERIFIED' | 'VETTED_VERIFIED' | null;
|
|
469
1027
|
/**
|
|
470
|
-
*
|
|
1028
|
+
* Whether this brand is inherited from the parent organization
|
|
471
1029
|
*/
|
|
472
|
-
|
|
1030
|
+
is_inherited?: boolean;
|
|
1031
|
+
status?: 'ACTIVE' | 'INACTIVE' | 'SUSPENDED' | null;
|
|
473
1032
|
/**
|
|
474
|
-
*
|
|
1033
|
+
* When the brand was submitted to TCR
|
|
475
1034
|
*/
|
|
476
|
-
|
|
1035
|
+
submitted_at?: string | null;
|
|
477
1036
|
/**
|
|
478
|
-
* Whether this
|
|
1037
|
+
* Whether this brand has been submitted to TCR
|
|
479
1038
|
*/
|
|
480
|
-
|
|
1039
|
+
submitted_to_tcr?: boolean;
|
|
481
1040
|
/**
|
|
482
|
-
*
|
|
1041
|
+
* TCR brand ID (populated after TCR submission)
|
|
483
1042
|
*/
|
|
484
|
-
|
|
1043
|
+
tcr_brand_id?: string | null;
|
|
485
1044
|
/**
|
|
486
|
-
*
|
|
1045
|
+
* Universal EIN from TCR
|
|
487
1046
|
*/
|
|
488
|
-
|
|
1047
|
+
universal_ein?: string | null;
|
|
489
1048
|
/**
|
|
490
|
-
*
|
|
1049
|
+
* When the brand was last updated
|
|
491
1050
|
*/
|
|
492
|
-
|
|
493
|
-
vertical?: ProfilesAPI.TcrVertical | null;
|
|
1051
|
+
updated_at?: string | null;
|
|
494
1052
|
}
|
|
495
|
-
|
|
496
|
-
* Contact information for the brand
|
|
497
|
-
*/
|
|
498
|
-
interface Contact {
|
|
499
|
-
/**
|
|
500
|
-
* Business/brand name
|
|
501
|
-
*/
|
|
502
|
-
business_name?: string | null;
|
|
1053
|
+
namespace Brand {
|
|
503
1054
|
/**
|
|
504
|
-
*
|
|
505
|
-
*/
|
|
506
|
-
email?: string | null;
|
|
507
|
-
/**
|
|
508
|
-
* Primary contact name
|
|
509
|
-
*/
|
|
510
|
-
name?: string;
|
|
511
|
-
/**
|
|
512
|
-
* Contact phone number in E.164 format
|
|
1055
|
+
* Business details and address information
|
|
513
1056
|
*/
|
|
514
|
-
|
|
1057
|
+
interface Business {
|
|
1058
|
+
/**
|
|
1059
|
+
* City
|
|
1060
|
+
*/
|
|
1061
|
+
city?: string | null;
|
|
1062
|
+
/**
|
|
1063
|
+
* Country code (e.g., US, CA)
|
|
1064
|
+
*/
|
|
1065
|
+
country?: string | null;
|
|
1066
|
+
/**
|
|
1067
|
+
* Country where the business is registered
|
|
1068
|
+
*/
|
|
1069
|
+
country_of_registration?: string | null;
|
|
1070
|
+
/**
|
|
1071
|
+
* Business entity type
|
|
1072
|
+
*/
|
|
1073
|
+
entity_type?: string | null;
|
|
1074
|
+
/**
|
|
1075
|
+
* Legal business name
|
|
1076
|
+
*/
|
|
1077
|
+
legal_name?: string | null;
|
|
1078
|
+
/**
|
|
1079
|
+
* Postal/ZIP code
|
|
1080
|
+
*/
|
|
1081
|
+
postal_code?: string | null;
|
|
1082
|
+
/**
|
|
1083
|
+
* State/province code
|
|
1084
|
+
*/
|
|
1085
|
+
state?: string | null;
|
|
1086
|
+
/**
|
|
1087
|
+
* Street address
|
|
1088
|
+
*/
|
|
1089
|
+
street?: string | null;
|
|
1090
|
+
/**
|
|
1091
|
+
* Tax ID/EIN number
|
|
1092
|
+
*/
|
|
1093
|
+
tax_id?: string | null;
|
|
1094
|
+
/**
|
|
1095
|
+
* Type of tax ID (e.g., us_ein, ca_bn)
|
|
1096
|
+
*/
|
|
1097
|
+
tax_id_type?: string | null;
|
|
1098
|
+
/**
|
|
1099
|
+
* Business website URL
|
|
1100
|
+
*/
|
|
1101
|
+
url?: string | null;
|
|
1102
|
+
}
|
|
515
1103
|
/**
|
|
516
|
-
*
|
|
1104
|
+
* Compliance and TCR-related information
|
|
517
1105
|
*/
|
|
518
|
-
|
|
1106
|
+
interface Compliance {
|
|
1107
|
+
brand_relationship?: 'BASIC_ACCOUNT' | 'MEDIUM_ACCOUNT' | 'LARGE_ACCOUNT' | 'SMALL_ACCOUNT' | 'KEY_ACCOUNT' | null;
|
|
1108
|
+
/**
|
|
1109
|
+
* List of destination countries for messaging
|
|
1110
|
+
*/
|
|
1111
|
+
destination_countries?: Array<Compliance.DestinationCountry>;
|
|
1112
|
+
/**
|
|
1113
|
+
* Expected daily messaging volume
|
|
1114
|
+
*/
|
|
1115
|
+
expected_messaging_volume?: string | null;
|
|
1116
|
+
/**
|
|
1117
|
+
* Whether this is a TCR (Campaign Registry) application
|
|
1118
|
+
*/
|
|
1119
|
+
is_tcr_application?: boolean;
|
|
1120
|
+
/**
|
|
1121
|
+
* Additional notes about the business or use case
|
|
1122
|
+
*/
|
|
1123
|
+
notes?: string | null;
|
|
1124
|
+
/**
|
|
1125
|
+
* Phone number prefix for messaging (e.g., "+1")
|
|
1126
|
+
*/
|
|
1127
|
+
phone_number_prefix?: string | null;
|
|
1128
|
+
/**
|
|
1129
|
+
* Primary messaging use case description
|
|
1130
|
+
*/
|
|
1131
|
+
primary_use_case?: string | null;
|
|
1132
|
+
vertical?: 'PROFESSIONAL' | 'REAL_ESTATE' | 'HEALTHCARE' | 'HUMAN_RESOURCES' | 'ENERGY' | 'ENTERTAINMENT' | 'RETAIL' | 'TRANSPORTATION' | 'AGRICULTURE' | 'INSURANCE' | 'POSTAL' | 'EDUCATION' | 'HOSPITALITY' | 'FINANCIAL' | 'POLITICAL' | 'GAMBLING' | 'LEGAL' | 'CONSTRUCTION' | 'NGO' | 'MANUFACTURING' | 'GOVERNMENT' | 'TECHNOLOGY' | 'COMMUNICATION' | null;
|
|
1133
|
+
}
|
|
1134
|
+
namespace Compliance {
|
|
1135
|
+
interface DestinationCountry {
|
|
1136
|
+
id?: string;
|
|
1137
|
+
isMain?: boolean;
|
|
1138
|
+
}
|
|
1139
|
+
}
|
|
519
1140
|
/**
|
|
520
|
-
* Contact
|
|
1141
|
+
* Contact information for the brand
|
|
521
1142
|
*/
|
|
522
|
-
|
|
1143
|
+
interface Contact {
|
|
1144
|
+
/**
|
|
1145
|
+
* Business/brand name
|
|
1146
|
+
*/
|
|
1147
|
+
business_name?: string | null;
|
|
1148
|
+
/**
|
|
1149
|
+
* Contact email address
|
|
1150
|
+
*/
|
|
1151
|
+
email?: string | null;
|
|
1152
|
+
/**
|
|
1153
|
+
* Primary contact name
|
|
1154
|
+
*/
|
|
1155
|
+
name?: string;
|
|
1156
|
+
/**
|
|
1157
|
+
* Contact phone number in E.164 format
|
|
1158
|
+
*/
|
|
1159
|
+
phone?: string | null;
|
|
1160
|
+
/**
|
|
1161
|
+
* Contact phone country code (e.g., "1" for US)
|
|
1162
|
+
*/
|
|
1163
|
+
phone_country_code?: string | null;
|
|
1164
|
+
/**
|
|
1165
|
+
* Contact's role in the business
|
|
1166
|
+
*/
|
|
1167
|
+
role?: string | null;
|
|
1168
|
+
}
|
|
523
1169
|
}
|
|
524
1170
|
}
|
|
525
|
-
}
|
|
526
|
-
/**
|
|
527
|
-
* Business details and address for brand KYC
|
|
528
|
-
*/
|
|
529
|
-
export interface SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo {
|
|
530
|
-
/**
|
|
531
|
-
* City
|
|
532
|
-
*/
|
|
533
|
-
city?: string | null;
|
|
534
|
-
/**
|
|
535
|
-
* Country code (e.g., US, CA)
|
|
536
|
-
*/
|
|
537
|
-
country?: string | null;
|
|
538
|
-
/**
|
|
539
|
-
* Country where the business is registered
|
|
540
|
-
*/
|
|
541
|
-
countryOfRegistration?: string | null;
|
|
542
|
-
entityType?: 'PRIVATE_PROFIT' | 'PUBLIC_PROFIT' | 'NON_PROFIT' | 'SOLE_PROPRIETOR' | 'GOVERNMENT' | null;
|
|
543
|
-
/**
|
|
544
|
-
* Legal business name
|
|
545
|
-
*/
|
|
546
|
-
legalName?: string | null;
|
|
547
|
-
/**
|
|
548
|
-
* Postal/ZIP code
|
|
549
|
-
*/
|
|
550
|
-
postalCode?: string | null;
|
|
551
|
-
/**
|
|
552
|
-
* State/province code
|
|
553
|
-
*/
|
|
554
|
-
state?: string | null;
|
|
555
|
-
/**
|
|
556
|
-
* Street address
|
|
557
|
-
*/
|
|
558
|
-
street?: string | null;
|
|
559
|
-
/**
|
|
560
|
-
* Tax ID/EIN number
|
|
561
|
-
*/
|
|
562
|
-
taxId?: string | null;
|
|
563
|
-
/**
|
|
564
|
-
* Type of tax ID (e.g., us_ein, ca_bn)
|
|
565
|
-
*/
|
|
566
|
-
taxIdType?: string | null;
|
|
567
|
-
/**
|
|
568
|
-
* Business website URL
|
|
569
|
-
*/
|
|
570
|
-
url?: string | null;
|
|
571
|
-
}
|
|
572
|
-
/**
|
|
573
|
-
* Compliance and TCR information for brand registration
|
|
574
|
-
*/
|
|
575
|
-
export interface SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo {
|
|
576
|
-
brandRelationship: TcrBrandRelationship;
|
|
577
|
-
vertical: TcrVertical;
|
|
578
|
-
/**
|
|
579
|
-
* List of destination countries for messaging
|
|
580
|
-
*/
|
|
581
|
-
destinationCountries?: Array<DestinationCountry> | null;
|
|
582
|
-
/**
|
|
583
|
-
* Expected daily messaging volume
|
|
584
|
-
*/
|
|
585
|
-
expectedMessagingVolume?: string | null;
|
|
586
|
-
/**
|
|
587
|
-
* Whether this is a TCR (Campaign Registry) application
|
|
588
|
-
*/
|
|
589
|
-
isTcrApplication?: boolean | null;
|
|
590
|
-
/**
|
|
591
|
-
* Additional notes about the business or use case
|
|
592
|
-
*/
|
|
593
|
-
notes?: string | null;
|
|
594
|
-
/**
|
|
595
|
-
* Phone number prefix for messaging (e.g., "+1")
|
|
596
|
-
*/
|
|
597
|
-
phoneNumberPrefix?: string | null;
|
|
598
1171
|
/**
|
|
599
|
-
*
|
|
600
|
-
*/
|
|
601
|
-
primaryUseCase?: string | null;
|
|
602
|
-
}
|
|
603
|
-
/**
|
|
604
|
-
* Contact information for brand KYC
|
|
605
|
-
*/
|
|
606
|
-
export interface SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo {
|
|
607
|
-
/**
|
|
608
|
-
* Primary contact name (required)
|
|
609
|
-
*/
|
|
610
|
-
name: string;
|
|
611
|
-
/**
|
|
612
|
-
* Business/brand name
|
|
613
|
-
*/
|
|
614
|
-
businessName?: string | null;
|
|
615
|
-
/**
|
|
616
|
-
* Contact email address
|
|
617
|
-
*/
|
|
618
|
-
email?: string | null;
|
|
619
|
-
/**
|
|
620
|
-
* Contact phone number in E.164 format
|
|
621
|
-
*/
|
|
622
|
-
phone?: string | null;
|
|
623
|
-
/**
|
|
624
|
-
* Contact phone country code (e.g., "1" for US)
|
|
1172
|
+
* Error information
|
|
625
1173
|
*/
|
|
626
|
-
|
|
1174
|
+
interface Error {
|
|
1175
|
+
/**
|
|
1176
|
+
* Machine-readable error code (e.g., "RESOURCE_001")
|
|
1177
|
+
*/
|
|
1178
|
+
code?: string;
|
|
1179
|
+
/**
|
|
1180
|
+
* Additional validation error details (field-level errors)
|
|
1181
|
+
*/
|
|
1182
|
+
details?: {
|
|
1183
|
+
[key: string]: Array<string>;
|
|
1184
|
+
} | null;
|
|
1185
|
+
/**
|
|
1186
|
+
* URL to documentation about this error
|
|
1187
|
+
*/
|
|
1188
|
+
doc_url?: string | null;
|
|
1189
|
+
/**
|
|
1190
|
+
* Human-readable error message
|
|
1191
|
+
*/
|
|
1192
|
+
message?: string;
|
|
1193
|
+
}
|
|
627
1194
|
/**
|
|
628
|
-
*
|
|
1195
|
+
* Request and response metadata
|
|
629
1196
|
*/
|
|
630
|
-
|
|
1197
|
+
interface Meta {
|
|
1198
|
+
/**
|
|
1199
|
+
* Unique identifier for this request (for tracing and support)
|
|
1200
|
+
*/
|
|
1201
|
+
request_id?: string;
|
|
1202
|
+
/**
|
|
1203
|
+
* Server timestamp when the response was generated
|
|
1204
|
+
*/
|
|
1205
|
+
timestamp?: string;
|
|
1206
|
+
/**
|
|
1207
|
+
* API version used for this request
|
|
1208
|
+
*/
|
|
1209
|
+
version?: string;
|
|
1210
|
+
}
|
|
631
1211
|
}
|
|
632
|
-
export type TcrBrandRelationship = 'BASIC_ACCOUNT' | 'MEDIUM_ACCOUNT' | 'LARGE_ACCOUNT' | 'SMALL_ACCOUNT' | 'KEY_ACCOUNT';
|
|
633
|
-
export type TcrVertical = 'PROFESSIONAL' | 'REAL_ESTATE' | 'HEALTHCARE' | 'HUMAN_RESOURCES' | 'ENERGY' | 'ENTERTAINMENT' | 'RETAIL' | 'TRANSPORTATION' | 'AGRICULTURE' | 'INSURANCE' | 'POSTAL' | 'EDUCATION' | 'HOSPITALITY' | 'FINANCIAL' | 'POLITICAL' | 'GAMBLING' | 'LEGAL' | 'CONSTRUCTION' | 'NGO' | 'MANUFACTURING' | 'GOVERNMENT' | 'TECHNOLOGY' | 'COMMUNICATION';
|
|
634
1212
|
/**
|
|
635
1213
|
* Standard API response envelope for all v3 endpoints
|
|
636
1214
|
*/
|
|
@@ -642,11 +1220,11 @@ export interface ProfileListResponse {
|
|
|
642
1220
|
/**
|
|
643
1221
|
* Error information
|
|
644
1222
|
*/
|
|
645
|
-
error?:
|
|
1223
|
+
error?: ProfileListResponse.Error | null;
|
|
646
1224
|
/**
|
|
647
1225
|
* Request and response metadata
|
|
648
1226
|
*/
|
|
649
|
-
meta?:
|
|
1227
|
+
meta?: ProfileListResponse.Meta;
|
|
650
1228
|
/**
|
|
651
1229
|
* Indicates whether the request was successful
|
|
652
1230
|
*/
|
|
@@ -660,7 +1238,341 @@ export declare namespace ProfileListResponse {
|
|
|
660
1238
|
/**
|
|
661
1239
|
* List of profiles in the organization
|
|
662
1240
|
*/
|
|
663
|
-
profiles?: Array<
|
|
1241
|
+
profiles?: Array<Data.Profile>;
|
|
1242
|
+
}
|
|
1243
|
+
namespace Data {
|
|
1244
|
+
/**
|
|
1245
|
+
* Detailed profile response for v3 API
|
|
1246
|
+
*/
|
|
1247
|
+
interface Profile {
|
|
1248
|
+
/**
|
|
1249
|
+
* Profile unique identifier
|
|
1250
|
+
*/
|
|
1251
|
+
id?: string;
|
|
1252
|
+
/**
|
|
1253
|
+
* Whether contacts are shared across profiles in the organization
|
|
1254
|
+
*/
|
|
1255
|
+
allow_contact_sharing?: boolean;
|
|
1256
|
+
/**
|
|
1257
|
+
* Whether number changes are allowed during onboarding
|
|
1258
|
+
*/
|
|
1259
|
+
allow_number_change_during_onboarding?: boolean | null;
|
|
1260
|
+
/**
|
|
1261
|
+
* Whether templates are shared across profiles in the organization
|
|
1262
|
+
*/
|
|
1263
|
+
allow_template_sharing?: boolean;
|
|
1264
|
+
/**
|
|
1265
|
+
* Billing contact info returned in profile responses
|
|
1266
|
+
*/
|
|
1267
|
+
billing_contact?: Profile.BillingContact | null;
|
|
1268
|
+
/**
|
|
1269
|
+
* Billing model: profile, organization, or profile_and_organization
|
|
1270
|
+
*/
|
|
1271
|
+
billing_model?: string;
|
|
1272
|
+
/**
|
|
1273
|
+
* Brand response with nested contact, business, and compliance sections — mirrors
|
|
1274
|
+
* the request structure.
|
|
1275
|
+
*/
|
|
1276
|
+
brand?: Profile.Brand | null;
|
|
1277
|
+
/**
|
|
1278
|
+
* When the profile was created
|
|
1279
|
+
*/
|
|
1280
|
+
created_at?: string;
|
|
1281
|
+
/**
|
|
1282
|
+
* Profile description
|
|
1283
|
+
*/
|
|
1284
|
+
description?: string | null;
|
|
1285
|
+
/**
|
|
1286
|
+
* Profile email (inherited from organization)
|
|
1287
|
+
*/
|
|
1288
|
+
email?: string | null;
|
|
1289
|
+
/**
|
|
1290
|
+
* Profile icon URL
|
|
1291
|
+
*/
|
|
1292
|
+
icon?: string | null;
|
|
1293
|
+
/**
|
|
1294
|
+
* Whether this profile inherits contacts from the organization
|
|
1295
|
+
*/
|
|
1296
|
+
inherit_contacts?: boolean;
|
|
1297
|
+
/**
|
|
1298
|
+
* Whether this profile inherits TCR brand from the organization
|
|
1299
|
+
*/
|
|
1300
|
+
inherit_tcr_brand?: boolean;
|
|
1301
|
+
/**
|
|
1302
|
+
* Whether this profile inherits TCR campaign from the organization
|
|
1303
|
+
*/
|
|
1304
|
+
inherit_tcr_campaign?: boolean;
|
|
1305
|
+
/**
|
|
1306
|
+
* Whether this profile inherits templates from the organization
|
|
1307
|
+
*/
|
|
1308
|
+
inherit_templates?: boolean;
|
|
1309
|
+
/**
|
|
1310
|
+
* Profile name
|
|
1311
|
+
*/
|
|
1312
|
+
name?: string;
|
|
1313
|
+
/**
|
|
1314
|
+
* Parent organization ID
|
|
1315
|
+
*/
|
|
1316
|
+
organization_id?: string | null;
|
|
1317
|
+
/**
|
|
1318
|
+
* Direct SMS phone number
|
|
1319
|
+
*/
|
|
1320
|
+
sending_phone_number?: string | null;
|
|
1321
|
+
/**
|
|
1322
|
+
* Reference to another profile for SMS/Telnyx configuration
|
|
1323
|
+
*/
|
|
1324
|
+
sending_phone_number_profile_id?: string | null;
|
|
1325
|
+
/**
|
|
1326
|
+
* Reference to another profile for WhatsApp configuration
|
|
1327
|
+
*/
|
|
1328
|
+
sending_whatsapp_number_profile_id?: string | null;
|
|
1329
|
+
/**
|
|
1330
|
+
* Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
|
|
1331
|
+
* only, with at least one letter.
|
|
1332
|
+
*/
|
|
1333
|
+
short_name?: string | null;
|
|
1334
|
+
/**
|
|
1335
|
+
* Profile setup status: incomplete, pending_review, approved, rejected
|
|
1336
|
+
*/
|
|
1337
|
+
status?: string;
|
|
1338
|
+
/**
|
|
1339
|
+
* When the profile was last updated
|
|
1340
|
+
*/
|
|
1341
|
+
updated_at?: string | null;
|
|
1342
|
+
/**
|
|
1343
|
+
* WhatsApp Business Account ID associated with this profile. Present whether the
|
|
1344
|
+
* WABA is inherited from the organization or configured directly.
|
|
1345
|
+
*/
|
|
1346
|
+
waba_id?: string | null;
|
|
1347
|
+
/**
|
|
1348
|
+
* Direct WhatsApp phone number
|
|
1349
|
+
*/
|
|
1350
|
+
whatsapp_phone_number?: string | null;
|
|
1351
|
+
}
|
|
1352
|
+
namespace Profile {
|
|
1353
|
+
/**
|
|
1354
|
+
* Billing contact info returned in profile responses
|
|
1355
|
+
*/
|
|
1356
|
+
interface BillingContact {
|
|
1357
|
+
address?: string | null;
|
|
1358
|
+
email?: string | null;
|
|
1359
|
+
name?: string | null;
|
|
1360
|
+
phone?: string | null;
|
|
1361
|
+
}
|
|
1362
|
+
/**
|
|
1363
|
+
* Brand response with nested contact, business, and compliance sections — mirrors
|
|
1364
|
+
* the request structure.
|
|
1365
|
+
*/
|
|
1366
|
+
interface Brand {
|
|
1367
|
+
/**
|
|
1368
|
+
* Unique identifier for the brand
|
|
1369
|
+
*/
|
|
1370
|
+
id?: string;
|
|
1371
|
+
/**
|
|
1372
|
+
* Business details and address information
|
|
1373
|
+
*/
|
|
1374
|
+
business?: Brand.Business | null;
|
|
1375
|
+
/**
|
|
1376
|
+
* Compliance and TCR-related information
|
|
1377
|
+
*/
|
|
1378
|
+
compliance?: Brand.Compliance | null;
|
|
1379
|
+
/**
|
|
1380
|
+
* Contact information for the brand
|
|
1381
|
+
*/
|
|
1382
|
+
contact?: Brand.Contact | null;
|
|
1383
|
+
/**
|
|
1384
|
+
* When the brand was created
|
|
1385
|
+
*/
|
|
1386
|
+
created_at?: string;
|
|
1387
|
+
/**
|
|
1388
|
+
* CSP (Campaign Service Provider) ID
|
|
1389
|
+
*/
|
|
1390
|
+
csp_id?: string | null;
|
|
1391
|
+
identity_status?: 'SELF_DECLARED' | 'UNVERIFIED' | 'VERIFIED' | 'VETTED_VERIFIED' | null;
|
|
1392
|
+
/**
|
|
1393
|
+
* Whether this brand is inherited from the parent organization
|
|
1394
|
+
*/
|
|
1395
|
+
is_inherited?: boolean;
|
|
1396
|
+
status?: 'ACTIVE' | 'INACTIVE' | 'SUSPENDED' | null;
|
|
1397
|
+
/**
|
|
1398
|
+
* When the brand was submitted to TCR
|
|
1399
|
+
*/
|
|
1400
|
+
submitted_at?: string | null;
|
|
1401
|
+
/**
|
|
1402
|
+
* Whether this brand has been submitted to TCR
|
|
1403
|
+
*/
|
|
1404
|
+
submitted_to_tcr?: boolean;
|
|
1405
|
+
/**
|
|
1406
|
+
* TCR brand ID (populated after TCR submission)
|
|
1407
|
+
*/
|
|
1408
|
+
tcr_brand_id?: string | null;
|
|
1409
|
+
/**
|
|
1410
|
+
* Universal EIN from TCR
|
|
1411
|
+
*/
|
|
1412
|
+
universal_ein?: string | null;
|
|
1413
|
+
/**
|
|
1414
|
+
* When the brand was last updated
|
|
1415
|
+
*/
|
|
1416
|
+
updated_at?: string | null;
|
|
1417
|
+
}
|
|
1418
|
+
namespace Brand {
|
|
1419
|
+
/**
|
|
1420
|
+
* Business details and address information
|
|
1421
|
+
*/
|
|
1422
|
+
interface Business {
|
|
1423
|
+
/**
|
|
1424
|
+
* City
|
|
1425
|
+
*/
|
|
1426
|
+
city?: string | null;
|
|
1427
|
+
/**
|
|
1428
|
+
* Country code (e.g., US, CA)
|
|
1429
|
+
*/
|
|
1430
|
+
country?: string | null;
|
|
1431
|
+
/**
|
|
1432
|
+
* Country where the business is registered
|
|
1433
|
+
*/
|
|
1434
|
+
country_of_registration?: string | null;
|
|
1435
|
+
/**
|
|
1436
|
+
* Business entity type
|
|
1437
|
+
*/
|
|
1438
|
+
entity_type?: string | null;
|
|
1439
|
+
/**
|
|
1440
|
+
* Legal business name
|
|
1441
|
+
*/
|
|
1442
|
+
legal_name?: string | null;
|
|
1443
|
+
/**
|
|
1444
|
+
* Postal/ZIP code
|
|
1445
|
+
*/
|
|
1446
|
+
postal_code?: string | null;
|
|
1447
|
+
/**
|
|
1448
|
+
* State/province code
|
|
1449
|
+
*/
|
|
1450
|
+
state?: string | null;
|
|
1451
|
+
/**
|
|
1452
|
+
* Street address
|
|
1453
|
+
*/
|
|
1454
|
+
street?: string | null;
|
|
1455
|
+
/**
|
|
1456
|
+
* Tax ID/EIN number
|
|
1457
|
+
*/
|
|
1458
|
+
tax_id?: string | null;
|
|
1459
|
+
/**
|
|
1460
|
+
* Type of tax ID (e.g., us_ein, ca_bn)
|
|
1461
|
+
*/
|
|
1462
|
+
tax_id_type?: string | null;
|
|
1463
|
+
/**
|
|
1464
|
+
* Business website URL
|
|
1465
|
+
*/
|
|
1466
|
+
url?: string | null;
|
|
1467
|
+
}
|
|
1468
|
+
/**
|
|
1469
|
+
* Compliance and TCR-related information
|
|
1470
|
+
*/
|
|
1471
|
+
interface Compliance {
|
|
1472
|
+
brand_relationship?: 'BASIC_ACCOUNT' | 'MEDIUM_ACCOUNT' | 'LARGE_ACCOUNT' | 'SMALL_ACCOUNT' | 'KEY_ACCOUNT' | null;
|
|
1473
|
+
/**
|
|
1474
|
+
* List of destination countries for messaging
|
|
1475
|
+
*/
|
|
1476
|
+
destination_countries?: Array<Compliance.DestinationCountry>;
|
|
1477
|
+
/**
|
|
1478
|
+
* Expected daily messaging volume
|
|
1479
|
+
*/
|
|
1480
|
+
expected_messaging_volume?: string | null;
|
|
1481
|
+
/**
|
|
1482
|
+
* Whether this is a TCR (Campaign Registry) application
|
|
1483
|
+
*/
|
|
1484
|
+
is_tcr_application?: boolean;
|
|
1485
|
+
/**
|
|
1486
|
+
* Additional notes about the business or use case
|
|
1487
|
+
*/
|
|
1488
|
+
notes?: string | null;
|
|
1489
|
+
/**
|
|
1490
|
+
* Phone number prefix for messaging (e.g., "+1")
|
|
1491
|
+
*/
|
|
1492
|
+
phone_number_prefix?: string | null;
|
|
1493
|
+
/**
|
|
1494
|
+
* Primary messaging use case description
|
|
1495
|
+
*/
|
|
1496
|
+
primary_use_case?: string | null;
|
|
1497
|
+
vertical?: 'PROFESSIONAL' | 'REAL_ESTATE' | 'HEALTHCARE' | 'HUMAN_RESOURCES' | 'ENERGY' | 'ENTERTAINMENT' | 'RETAIL' | 'TRANSPORTATION' | 'AGRICULTURE' | 'INSURANCE' | 'POSTAL' | 'EDUCATION' | 'HOSPITALITY' | 'FINANCIAL' | 'POLITICAL' | 'GAMBLING' | 'LEGAL' | 'CONSTRUCTION' | 'NGO' | 'MANUFACTURING' | 'GOVERNMENT' | 'TECHNOLOGY' | 'COMMUNICATION' | null;
|
|
1498
|
+
}
|
|
1499
|
+
namespace Compliance {
|
|
1500
|
+
interface DestinationCountry {
|
|
1501
|
+
id?: string;
|
|
1502
|
+
isMain?: boolean;
|
|
1503
|
+
}
|
|
1504
|
+
}
|
|
1505
|
+
/**
|
|
1506
|
+
* Contact information for the brand
|
|
1507
|
+
*/
|
|
1508
|
+
interface Contact {
|
|
1509
|
+
/**
|
|
1510
|
+
* Business/brand name
|
|
1511
|
+
*/
|
|
1512
|
+
business_name?: string | null;
|
|
1513
|
+
/**
|
|
1514
|
+
* Contact email address
|
|
1515
|
+
*/
|
|
1516
|
+
email?: string | null;
|
|
1517
|
+
/**
|
|
1518
|
+
* Primary contact name
|
|
1519
|
+
*/
|
|
1520
|
+
name?: string;
|
|
1521
|
+
/**
|
|
1522
|
+
* Contact phone number in E.164 format
|
|
1523
|
+
*/
|
|
1524
|
+
phone?: string | null;
|
|
1525
|
+
/**
|
|
1526
|
+
* Contact phone country code (e.g., "1" for US)
|
|
1527
|
+
*/
|
|
1528
|
+
phone_country_code?: string | null;
|
|
1529
|
+
/**
|
|
1530
|
+
* Contact's role in the business
|
|
1531
|
+
*/
|
|
1532
|
+
role?: string | null;
|
|
1533
|
+
}
|
|
1534
|
+
}
|
|
1535
|
+
}
|
|
1536
|
+
}
|
|
1537
|
+
/**
|
|
1538
|
+
* Error information
|
|
1539
|
+
*/
|
|
1540
|
+
interface Error {
|
|
1541
|
+
/**
|
|
1542
|
+
* Machine-readable error code (e.g., "RESOURCE_001")
|
|
1543
|
+
*/
|
|
1544
|
+
code?: string;
|
|
1545
|
+
/**
|
|
1546
|
+
* Additional validation error details (field-level errors)
|
|
1547
|
+
*/
|
|
1548
|
+
details?: {
|
|
1549
|
+
[key: string]: Array<string>;
|
|
1550
|
+
} | null;
|
|
1551
|
+
/**
|
|
1552
|
+
* URL to documentation about this error
|
|
1553
|
+
*/
|
|
1554
|
+
doc_url?: string | null;
|
|
1555
|
+
/**
|
|
1556
|
+
* Human-readable error message
|
|
1557
|
+
*/
|
|
1558
|
+
message?: string;
|
|
1559
|
+
}
|
|
1560
|
+
/**
|
|
1561
|
+
* Request and response metadata
|
|
1562
|
+
*/
|
|
1563
|
+
interface Meta {
|
|
1564
|
+
/**
|
|
1565
|
+
* Unique identifier for this request (for tracing and support)
|
|
1566
|
+
*/
|
|
1567
|
+
request_id?: string;
|
|
1568
|
+
/**
|
|
1569
|
+
* Server timestamp when the response was generated
|
|
1570
|
+
*/
|
|
1571
|
+
timestamp?: string;
|
|
1572
|
+
/**
|
|
1573
|
+
* API version used for this request
|
|
1574
|
+
*/
|
|
1575
|
+
version?: string;
|
|
664
1576
|
}
|
|
665
1577
|
}
|
|
666
1578
|
/**
|
|
@@ -675,11 +1587,11 @@ export interface ProfileCompleteResponse {
|
|
|
675
1587
|
/**
|
|
676
1588
|
* Error information
|
|
677
1589
|
*/
|
|
678
|
-
error?:
|
|
1590
|
+
error?: ProfileCompleteResponse.Error | null;
|
|
679
1591
|
/**
|
|
680
1592
|
* Request and response metadata
|
|
681
1593
|
*/
|
|
682
|
-
meta?:
|
|
1594
|
+
meta?: ProfileCompleteResponse.Meta;
|
|
683
1595
|
/**
|
|
684
1596
|
* Indicates whether the request was successful
|
|
685
1597
|
*/
|
|
@@ -692,14 +1604,54 @@ export declare namespace ProfileCompleteResponse {
|
|
|
692
1604
|
*/
|
|
693
1605
|
interface Data {
|
|
694
1606
|
/**
|
|
695
|
-
* Human-readable message describing the result.
|
|
1607
|
+
* Human-readable message describing the result.
|
|
1608
|
+
*/
|
|
1609
|
+
message?: string;
|
|
1610
|
+
/**
|
|
1611
|
+
* Current process status of the profile (e.g., "completed", "submitted",
|
|
1612
|
+
* "in_progress").
|
|
1613
|
+
*/
|
|
1614
|
+
status?: string;
|
|
1615
|
+
}
|
|
1616
|
+
/**
|
|
1617
|
+
* Error information
|
|
1618
|
+
*/
|
|
1619
|
+
interface Error {
|
|
1620
|
+
/**
|
|
1621
|
+
* Machine-readable error code (e.g., "RESOURCE_001")
|
|
1622
|
+
*/
|
|
1623
|
+
code?: string;
|
|
1624
|
+
/**
|
|
1625
|
+
* Additional validation error details (field-level errors)
|
|
1626
|
+
*/
|
|
1627
|
+
details?: {
|
|
1628
|
+
[key: string]: Array<string>;
|
|
1629
|
+
} | null;
|
|
1630
|
+
/**
|
|
1631
|
+
* URL to documentation about this error
|
|
1632
|
+
*/
|
|
1633
|
+
doc_url?: string | null;
|
|
1634
|
+
/**
|
|
1635
|
+
* Human-readable error message
|
|
1636
|
+
*/
|
|
1637
|
+
message?: string;
|
|
1638
|
+
}
|
|
1639
|
+
/**
|
|
1640
|
+
* Request and response metadata
|
|
1641
|
+
*/
|
|
1642
|
+
interface Meta {
|
|
1643
|
+
/**
|
|
1644
|
+
* Unique identifier for this request (for tracing and support)
|
|
1645
|
+
*/
|
|
1646
|
+
request_id?: string;
|
|
1647
|
+
/**
|
|
1648
|
+
* Server timestamp when the response was generated
|
|
696
1649
|
*/
|
|
697
|
-
|
|
1650
|
+
timestamp?: string;
|
|
698
1651
|
/**
|
|
699
|
-
*
|
|
700
|
-
* "in_progress").
|
|
1652
|
+
* API version used for this request
|
|
701
1653
|
*/
|
|
702
|
-
|
|
1654
|
+
version?: string;
|
|
703
1655
|
}
|
|
704
1656
|
}
|
|
705
1657
|
export interface ProfileCreateParams {
|
|
@@ -715,7 +1667,7 @@ export interface ProfileCreateParams {
|
|
|
715
1667
|
* Body param: Billing contact information for a profile. Required when
|
|
716
1668
|
* billing_model is "profile" or "profile_and_organization".
|
|
717
1669
|
*/
|
|
718
|
-
billing_contact?:
|
|
1670
|
+
billing_contact?: ProfileCreateParams.BillingContact | null;
|
|
719
1671
|
/**
|
|
720
1672
|
* Body param: Billing model: profile, organization, or profile_and_organization
|
|
721
1673
|
* (default: profile).
|
|
@@ -731,7 +1683,7 @@ export interface ProfileCreateParams {
|
|
|
731
1683
|
* Body param: Brand and KYC data grouped into contact, business, and compliance
|
|
732
1684
|
* sections
|
|
733
1685
|
*/
|
|
734
|
-
brand?:
|
|
1686
|
+
brand?: ProfileCreateParams.Brand | null;
|
|
735
1687
|
/**
|
|
736
1688
|
* Body param: Profile description (optional)
|
|
737
1689
|
*/
|
|
@@ -769,7 +1721,7 @@ export interface ProfileCreateParams {
|
|
|
769
1721
|
* "profile" or "profile_and_organization". These details are not stored on our
|
|
770
1722
|
* servers and will be forwarded to the payment processor.
|
|
771
1723
|
*/
|
|
772
|
-
payment_details?: PaymentDetails | null;
|
|
1724
|
+
payment_details?: ProfileCreateParams.PaymentDetails | null;
|
|
773
1725
|
/**
|
|
774
1726
|
* Body param: Sandbox flag - when true, the operation is simulated without side
|
|
775
1727
|
* effects Useful for testing integrations without actual execution
|
|
@@ -803,6 +1755,183 @@ export interface ProfileCreateParams {
|
|
|
803
1755
|
'x-profile-id'?: string;
|
|
804
1756
|
}
|
|
805
1757
|
export declare namespace ProfileCreateParams {
|
|
1758
|
+
/**
|
|
1759
|
+
* Billing contact information for a profile. Required when billing_model is
|
|
1760
|
+
* "profile" or "profile_and_organization".
|
|
1761
|
+
*/
|
|
1762
|
+
interface BillingContact {
|
|
1763
|
+
/**
|
|
1764
|
+
* Email address where invoices will be sent (required)
|
|
1765
|
+
*/
|
|
1766
|
+
email: string;
|
|
1767
|
+
/**
|
|
1768
|
+
* Full name of the billing contact or company (required)
|
|
1769
|
+
*/
|
|
1770
|
+
name: string;
|
|
1771
|
+
/**
|
|
1772
|
+
* Billing address (optional). Free-form text including street, city, state, postal
|
|
1773
|
+
* code, and country.
|
|
1774
|
+
*/
|
|
1775
|
+
address?: string | null;
|
|
1776
|
+
/**
|
|
1777
|
+
* Phone number for the billing contact (optional)
|
|
1778
|
+
*/
|
|
1779
|
+
phone?: string | null;
|
|
1780
|
+
}
|
|
1781
|
+
/**
|
|
1782
|
+
* Brand and KYC data grouped into contact, business, and compliance sections
|
|
1783
|
+
*/
|
|
1784
|
+
interface Brand {
|
|
1785
|
+
/**
|
|
1786
|
+
* Compliance and TCR information for brand registration
|
|
1787
|
+
*/
|
|
1788
|
+
compliance: Brand.Compliance;
|
|
1789
|
+
/**
|
|
1790
|
+
* Contact information for brand KYC
|
|
1791
|
+
*/
|
|
1792
|
+
contact: Brand.Contact;
|
|
1793
|
+
/**
|
|
1794
|
+
* Business details and address for brand KYC
|
|
1795
|
+
*/
|
|
1796
|
+
business?: Brand.Business | null;
|
|
1797
|
+
}
|
|
1798
|
+
namespace Brand {
|
|
1799
|
+
/**
|
|
1800
|
+
* Compliance and TCR information for brand registration
|
|
1801
|
+
*/
|
|
1802
|
+
interface Compliance {
|
|
1803
|
+
brandRelationship: 'BASIC_ACCOUNT' | 'MEDIUM_ACCOUNT' | 'LARGE_ACCOUNT' | 'SMALL_ACCOUNT' | 'KEY_ACCOUNT';
|
|
1804
|
+
vertical: 'PROFESSIONAL' | 'REAL_ESTATE' | 'HEALTHCARE' | 'HUMAN_RESOURCES' | 'ENERGY' | 'ENTERTAINMENT' | 'RETAIL' | 'TRANSPORTATION' | 'AGRICULTURE' | 'INSURANCE' | 'POSTAL' | 'EDUCATION' | 'HOSPITALITY' | 'FINANCIAL' | 'POLITICAL' | 'GAMBLING' | 'LEGAL' | 'CONSTRUCTION' | 'NGO' | 'MANUFACTURING' | 'GOVERNMENT' | 'TECHNOLOGY' | 'COMMUNICATION';
|
|
1805
|
+
/**
|
|
1806
|
+
* List of destination countries for messaging
|
|
1807
|
+
*/
|
|
1808
|
+
destinationCountries?: Array<Compliance.DestinationCountry> | null;
|
|
1809
|
+
/**
|
|
1810
|
+
* Expected daily messaging volume
|
|
1811
|
+
*/
|
|
1812
|
+
expectedMessagingVolume?: string | null;
|
|
1813
|
+
/**
|
|
1814
|
+
* Whether this is a TCR (Campaign Registry) application
|
|
1815
|
+
*/
|
|
1816
|
+
isTcrApplication?: boolean | null;
|
|
1817
|
+
/**
|
|
1818
|
+
* Additional notes about the business or use case
|
|
1819
|
+
*/
|
|
1820
|
+
notes?: string | null;
|
|
1821
|
+
/**
|
|
1822
|
+
* Phone number prefix for messaging (e.g., "+1")
|
|
1823
|
+
*/
|
|
1824
|
+
phoneNumberPrefix?: string | null;
|
|
1825
|
+
/**
|
|
1826
|
+
* Primary messaging use case description
|
|
1827
|
+
*/
|
|
1828
|
+
primaryUseCase?: string | null;
|
|
1829
|
+
}
|
|
1830
|
+
namespace Compliance {
|
|
1831
|
+
interface DestinationCountry {
|
|
1832
|
+
id?: string;
|
|
1833
|
+
isMain?: boolean;
|
|
1834
|
+
}
|
|
1835
|
+
}
|
|
1836
|
+
/**
|
|
1837
|
+
* Contact information for brand KYC
|
|
1838
|
+
*/
|
|
1839
|
+
interface Contact {
|
|
1840
|
+
/**
|
|
1841
|
+
* Primary contact name (required)
|
|
1842
|
+
*/
|
|
1843
|
+
name: string;
|
|
1844
|
+
/**
|
|
1845
|
+
* Business/brand name
|
|
1846
|
+
*/
|
|
1847
|
+
businessName?: string | null;
|
|
1848
|
+
/**
|
|
1849
|
+
* Contact email address
|
|
1850
|
+
*/
|
|
1851
|
+
email?: string | null;
|
|
1852
|
+
/**
|
|
1853
|
+
* Contact phone number in E.164 format
|
|
1854
|
+
*/
|
|
1855
|
+
phone?: string | null;
|
|
1856
|
+
/**
|
|
1857
|
+
* Contact phone country code (e.g., "1" for US)
|
|
1858
|
+
*/
|
|
1859
|
+
phoneCountryCode?: string | null;
|
|
1860
|
+
/**
|
|
1861
|
+
* Contact's role in the business
|
|
1862
|
+
*/
|
|
1863
|
+
role?: string | null;
|
|
1864
|
+
}
|
|
1865
|
+
/**
|
|
1866
|
+
* Business details and address for brand KYC
|
|
1867
|
+
*/
|
|
1868
|
+
interface Business {
|
|
1869
|
+
/**
|
|
1870
|
+
* City
|
|
1871
|
+
*/
|
|
1872
|
+
city?: string | null;
|
|
1873
|
+
/**
|
|
1874
|
+
* Country code (e.g., US, CA)
|
|
1875
|
+
*/
|
|
1876
|
+
country?: string | null;
|
|
1877
|
+
/**
|
|
1878
|
+
* Country where the business is registered
|
|
1879
|
+
*/
|
|
1880
|
+
countryOfRegistration?: string | null;
|
|
1881
|
+
entityType?: 'PRIVATE_PROFIT' | 'PUBLIC_PROFIT' | 'NON_PROFIT' | 'SOLE_PROPRIETOR' | 'GOVERNMENT' | null;
|
|
1882
|
+
/**
|
|
1883
|
+
* Legal business name
|
|
1884
|
+
*/
|
|
1885
|
+
legalName?: string | null;
|
|
1886
|
+
/**
|
|
1887
|
+
* Postal/ZIP code
|
|
1888
|
+
*/
|
|
1889
|
+
postalCode?: string | null;
|
|
1890
|
+
/**
|
|
1891
|
+
* State/province code
|
|
1892
|
+
*/
|
|
1893
|
+
state?: string | null;
|
|
1894
|
+
/**
|
|
1895
|
+
* Street address
|
|
1896
|
+
*/
|
|
1897
|
+
street?: string | null;
|
|
1898
|
+
/**
|
|
1899
|
+
* Tax ID/EIN number
|
|
1900
|
+
*/
|
|
1901
|
+
taxId?: string | null;
|
|
1902
|
+
/**
|
|
1903
|
+
* Type of tax ID (e.g., us_ein, ca_bn)
|
|
1904
|
+
*/
|
|
1905
|
+
taxIdType?: string | null;
|
|
1906
|
+
/**
|
|
1907
|
+
* Business website URL
|
|
1908
|
+
*/
|
|
1909
|
+
url?: string | null;
|
|
1910
|
+
}
|
|
1911
|
+
}
|
|
1912
|
+
/**
|
|
1913
|
+
* Payment card details for a profile. Accepted when billing_model is "profile" or
|
|
1914
|
+
* "profile_and_organization". These details are not stored on our servers and will
|
|
1915
|
+
* be forwarded to the payment processor.
|
|
1916
|
+
*/
|
|
1917
|
+
interface PaymentDetails {
|
|
1918
|
+
/**
|
|
1919
|
+
* Card number (digits only, 13–19 characters)
|
|
1920
|
+
*/
|
|
1921
|
+
card_number: string;
|
|
1922
|
+
/**
|
|
1923
|
+
* Card security code (3–4 digits)
|
|
1924
|
+
*/
|
|
1925
|
+
cvc: string;
|
|
1926
|
+
/**
|
|
1927
|
+
* Card expiry date in MM/YY format (e.g. "09/27")
|
|
1928
|
+
*/
|
|
1929
|
+
expiry: string;
|
|
1930
|
+
/**
|
|
1931
|
+
* Billing ZIP / postal code associated with the card
|
|
1932
|
+
*/
|
|
1933
|
+
zip_code: string;
|
|
1934
|
+
}
|
|
806
1935
|
/**
|
|
807
1936
|
* Direct WhatsApp Business Account credentials for a profile. Use this when the
|
|
808
1937
|
* profile should have its own WhatsApp Business Account instead of inheriting from
|
|
@@ -854,7 +1983,7 @@ export interface ProfileUpdateParams {
|
|
|
854
1983
|
* Body param: Billing contact information for a profile. Required when
|
|
855
1984
|
* billing_model is "profile" or "profile_and_organization".
|
|
856
1985
|
*/
|
|
857
|
-
billing_contact?:
|
|
1986
|
+
billing_contact?: ProfileUpdateParams.BillingContact | null;
|
|
858
1987
|
/**
|
|
859
1988
|
* Body param: Billing model: profile, organization, or profile_and_organization
|
|
860
1989
|
* (optional).
|
|
@@ -870,7 +1999,7 @@ export interface ProfileUpdateParams {
|
|
|
870
1999
|
* Body param: Brand and KYC data grouped into contact, business, and compliance
|
|
871
2000
|
* sections
|
|
872
2001
|
*/
|
|
873
|
-
brand?:
|
|
2002
|
+
brand?: ProfileUpdateParams.Brand | null;
|
|
874
2003
|
/**
|
|
875
2004
|
* Body param: Profile description (optional)
|
|
876
2005
|
*/
|
|
@@ -905,7 +2034,7 @@ export interface ProfileUpdateParams {
|
|
|
905
2034
|
* "profile" or "profile_and_organization". These details are not stored on our
|
|
906
2035
|
* servers and will be forwarded to the payment processor.
|
|
907
2036
|
*/
|
|
908
|
-
payment_details?: PaymentDetails | null;
|
|
2037
|
+
payment_details?: ProfileUpdateParams.PaymentDetails | null;
|
|
909
2038
|
/**
|
|
910
2039
|
* Body param: Sandbox flag - when true, the operation is simulated without side
|
|
911
2040
|
* effects Useful for testing integrations without actual execution
|
|
@@ -948,6 +2077,185 @@ export interface ProfileUpdateParams {
|
|
|
948
2077
|
*/
|
|
949
2078
|
'x-profile-id'?: string;
|
|
950
2079
|
}
|
|
2080
|
+
export declare namespace ProfileUpdateParams {
|
|
2081
|
+
/**
|
|
2082
|
+
* Billing contact information for a profile. Required when billing_model is
|
|
2083
|
+
* "profile" or "profile_and_organization".
|
|
2084
|
+
*/
|
|
2085
|
+
interface BillingContact {
|
|
2086
|
+
/**
|
|
2087
|
+
* Email address where invoices will be sent (required)
|
|
2088
|
+
*/
|
|
2089
|
+
email: string;
|
|
2090
|
+
/**
|
|
2091
|
+
* Full name of the billing contact or company (required)
|
|
2092
|
+
*/
|
|
2093
|
+
name: string;
|
|
2094
|
+
/**
|
|
2095
|
+
* Billing address (optional). Free-form text including street, city, state, postal
|
|
2096
|
+
* code, and country.
|
|
2097
|
+
*/
|
|
2098
|
+
address?: string | null;
|
|
2099
|
+
/**
|
|
2100
|
+
* Phone number for the billing contact (optional)
|
|
2101
|
+
*/
|
|
2102
|
+
phone?: string | null;
|
|
2103
|
+
}
|
|
2104
|
+
/**
|
|
2105
|
+
* Brand and KYC data grouped into contact, business, and compliance sections
|
|
2106
|
+
*/
|
|
2107
|
+
interface Brand {
|
|
2108
|
+
/**
|
|
2109
|
+
* Compliance and TCR information for brand registration
|
|
2110
|
+
*/
|
|
2111
|
+
compliance: Brand.Compliance;
|
|
2112
|
+
/**
|
|
2113
|
+
* Contact information for brand KYC
|
|
2114
|
+
*/
|
|
2115
|
+
contact: Brand.Contact;
|
|
2116
|
+
/**
|
|
2117
|
+
* Business details and address for brand KYC
|
|
2118
|
+
*/
|
|
2119
|
+
business?: Brand.Business | null;
|
|
2120
|
+
}
|
|
2121
|
+
namespace Brand {
|
|
2122
|
+
/**
|
|
2123
|
+
* Compliance and TCR information for brand registration
|
|
2124
|
+
*/
|
|
2125
|
+
interface Compliance {
|
|
2126
|
+
brandRelationship: 'BASIC_ACCOUNT' | 'MEDIUM_ACCOUNT' | 'LARGE_ACCOUNT' | 'SMALL_ACCOUNT' | 'KEY_ACCOUNT';
|
|
2127
|
+
vertical: 'PROFESSIONAL' | 'REAL_ESTATE' | 'HEALTHCARE' | 'HUMAN_RESOURCES' | 'ENERGY' | 'ENTERTAINMENT' | 'RETAIL' | 'TRANSPORTATION' | 'AGRICULTURE' | 'INSURANCE' | 'POSTAL' | 'EDUCATION' | 'HOSPITALITY' | 'FINANCIAL' | 'POLITICAL' | 'GAMBLING' | 'LEGAL' | 'CONSTRUCTION' | 'NGO' | 'MANUFACTURING' | 'GOVERNMENT' | 'TECHNOLOGY' | 'COMMUNICATION';
|
|
2128
|
+
/**
|
|
2129
|
+
* List of destination countries for messaging
|
|
2130
|
+
*/
|
|
2131
|
+
destinationCountries?: Array<Compliance.DestinationCountry> | null;
|
|
2132
|
+
/**
|
|
2133
|
+
* Expected daily messaging volume
|
|
2134
|
+
*/
|
|
2135
|
+
expectedMessagingVolume?: string | null;
|
|
2136
|
+
/**
|
|
2137
|
+
* Whether this is a TCR (Campaign Registry) application
|
|
2138
|
+
*/
|
|
2139
|
+
isTcrApplication?: boolean | null;
|
|
2140
|
+
/**
|
|
2141
|
+
* Additional notes about the business or use case
|
|
2142
|
+
*/
|
|
2143
|
+
notes?: string | null;
|
|
2144
|
+
/**
|
|
2145
|
+
* Phone number prefix for messaging (e.g., "+1")
|
|
2146
|
+
*/
|
|
2147
|
+
phoneNumberPrefix?: string | null;
|
|
2148
|
+
/**
|
|
2149
|
+
* Primary messaging use case description
|
|
2150
|
+
*/
|
|
2151
|
+
primaryUseCase?: string | null;
|
|
2152
|
+
}
|
|
2153
|
+
namespace Compliance {
|
|
2154
|
+
interface DestinationCountry {
|
|
2155
|
+
id?: string;
|
|
2156
|
+
isMain?: boolean;
|
|
2157
|
+
}
|
|
2158
|
+
}
|
|
2159
|
+
/**
|
|
2160
|
+
* Contact information for brand KYC
|
|
2161
|
+
*/
|
|
2162
|
+
interface Contact {
|
|
2163
|
+
/**
|
|
2164
|
+
* Primary contact name (required)
|
|
2165
|
+
*/
|
|
2166
|
+
name: string;
|
|
2167
|
+
/**
|
|
2168
|
+
* Business/brand name
|
|
2169
|
+
*/
|
|
2170
|
+
businessName?: string | null;
|
|
2171
|
+
/**
|
|
2172
|
+
* Contact email address
|
|
2173
|
+
*/
|
|
2174
|
+
email?: string | null;
|
|
2175
|
+
/**
|
|
2176
|
+
* Contact phone number in E.164 format
|
|
2177
|
+
*/
|
|
2178
|
+
phone?: string | null;
|
|
2179
|
+
/**
|
|
2180
|
+
* Contact phone country code (e.g., "1" for US)
|
|
2181
|
+
*/
|
|
2182
|
+
phoneCountryCode?: string | null;
|
|
2183
|
+
/**
|
|
2184
|
+
* Contact's role in the business
|
|
2185
|
+
*/
|
|
2186
|
+
role?: string | null;
|
|
2187
|
+
}
|
|
2188
|
+
/**
|
|
2189
|
+
* Business details and address for brand KYC
|
|
2190
|
+
*/
|
|
2191
|
+
interface Business {
|
|
2192
|
+
/**
|
|
2193
|
+
* City
|
|
2194
|
+
*/
|
|
2195
|
+
city?: string | null;
|
|
2196
|
+
/**
|
|
2197
|
+
* Country code (e.g., US, CA)
|
|
2198
|
+
*/
|
|
2199
|
+
country?: string | null;
|
|
2200
|
+
/**
|
|
2201
|
+
* Country where the business is registered
|
|
2202
|
+
*/
|
|
2203
|
+
countryOfRegistration?: string | null;
|
|
2204
|
+
entityType?: 'PRIVATE_PROFIT' | 'PUBLIC_PROFIT' | 'NON_PROFIT' | 'SOLE_PROPRIETOR' | 'GOVERNMENT' | null;
|
|
2205
|
+
/**
|
|
2206
|
+
* Legal business name
|
|
2207
|
+
*/
|
|
2208
|
+
legalName?: string | null;
|
|
2209
|
+
/**
|
|
2210
|
+
* Postal/ZIP code
|
|
2211
|
+
*/
|
|
2212
|
+
postalCode?: string | null;
|
|
2213
|
+
/**
|
|
2214
|
+
* State/province code
|
|
2215
|
+
*/
|
|
2216
|
+
state?: string | null;
|
|
2217
|
+
/**
|
|
2218
|
+
* Street address
|
|
2219
|
+
*/
|
|
2220
|
+
street?: string | null;
|
|
2221
|
+
/**
|
|
2222
|
+
* Tax ID/EIN number
|
|
2223
|
+
*/
|
|
2224
|
+
taxId?: string | null;
|
|
2225
|
+
/**
|
|
2226
|
+
* Type of tax ID (e.g., us_ein, ca_bn)
|
|
2227
|
+
*/
|
|
2228
|
+
taxIdType?: string | null;
|
|
2229
|
+
/**
|
|
2230
|
+
* Business website URL
|
|
2231
|
+
*/
|
|
2232
|
+
url?: string | null;
|
|
2233
|
+
}
|
|
2234
|
+
}
|
|
2235
|
+
/**
|
|
2236
|
+
* Payment card details for a profile. Accepted when billing_model is "profile" or
|
|
2237
|
+
* "profile_and_organization". These details are not stored on our servers and will
|
|
2238
|
+
* be forwarded to the payment processor.
|
|
2239
|
+
*/
|
|
2240
|
+
interface PaymentDetails {
|
|
2241
|
+
/**
|
|
2242
|
+
* Card number (digits only, 13–19 characters)
|
|
2243
|
+
*/
|
|
2244
|
+
card_number: string;
|
|
2245
|
+
/**
|
|
2246
|
+
* Card security code (3–4 digits)
|
|
2247
|
+
*/
|
|
2248
|
+
cvc: string;
|
|
2249
|
+
/**
|
|
2250
|
+
* Card expiry date in MM/YY format (e.g. "09/27")
|
|
2251
|
+
*/
|
|
2252
|
+
expiry: string;
|
|
2253
|
+
/**
|
|
2254
|
+
* Billing ZIP / postal code associated with the card
|
|
2255
|
+
*/
|
|
2256
|
+
zip_code: string;
|
|
2257
|
+
}
|
|
2258
|
+
}
|
|
951
2259
|
export interface ProfileListParams {
|
|
952
2260
|
/**
|
|
953
2261
|
* Profile UUID to scope the request to a child profile. Only organization API keys
|
|
@@ -993,7 +2301,7 @@ export interface ProfileCompleteParams {
|
|
|
993
2301
|
'x-profile-id'?: string;
|
|
994
2302
|
}
|
|
995
2303
|
export declare namespace Profiles {
|
|
996
|
-
export { type
|
|
997
|
-
export { Campaigns as Campaigns, type
|
|
2304
|
+
export { type ProfileCreateResponse as ProfileCreateResponse, type ProfileRetrieveResponse as ProfileRetrieveResponse, type ProfileUpdateResponse as ProfileUpdateResponse, type ProfileListResponse as ProfileListResponse, type ProfileCompleteResponse as ProfileCompleteResponse, type ProfileCreateParams as ProfileCreateParams, type ProfileRetrieveParams as ProfileRetrieveParams, type ProfileUpdateParams as ProfileUpdateParams, type ProfileListParams as ProfileListParams, type ProfileDeleteParams as ProfileDeleteParams, type ProfileCompleteParams as ProfileCompleteParams, };
|
|
2305
|
+
export { Campaigns as Campaigns, 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, };
|
|
998
2306
|
}
|
|
999
2307
|
//# sourceMappingURL=profiles.d.ts.map
|