@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,22 +1,16 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
3
|
import { APIResource } from '../../core/resource';
|
|
4
|
-
import * as ProfilesAPI from './profiles';
|
|
5
|
-
import * as WebhooksAPI from '../webhooks';
|
|
6
4
|
import * as CampaignsAPI from './campaigns';
|
|
7
5
|
import {
|
|
8
|
-
APIResponseOfTcrCampaignWithUseCases,
|
|
9
|
-
BaseDto,
|
|
10
6
|
CampaignCreateParams,
|
|
11
|
-
|
|
7
|
+
CampaignCreateResponse,
|
|
12
8
|
CampaignDeleteParams,
|
|
13
9
|
CampaignListParams,
|
|
14
10
|
CampaignListResponse,
|
|
15
11
|
CampaignUpdateParams,
|
|
12
|
+
CampaignUpdateResponse,
|
|
16
13
|
Campaigns,
|
|
17
|
-
MessagingUseCaseUs,
|
|
18
|
-
SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData,
|
|
19
|
-
TcrCampaignWithUseCases,
|
|
20
14
|
} from './campaigns';
|
|
21
15
|
import { APIPromise } from '../../core/api-promise';
|
|
22
16
|
import { buildHeaders } from '../../internal/headers';
|
|
@@ -69,11 +63,10 @@ export class Profiles extends APIResource {
|
|
|
69
63
|
*
|
|
70
64
|
* @example
|
|
71
65
|
* ```ts
|
|
72
|
-
* const
|
|
73
|
-
* await client.profiles.create();
|
|
66
|
+
* const profile = await client.profiles.create();
|
|
74
67
|
* ```
|
|
75
68
|
*/
|
|
76
|
-
create(params: ProfileCreateParams, options?: RequestOptions): APIPromise<
|
|
69
|
+
create(params: ProfileCreateParams, options?: RequestOptions): APIPromise<ProfileCreateResponse> {
|
|
77
70
|
const { 'Idempotency-Key': idempotencyKey, 'x-profile-id': xProfileID, ...body } = params;
|
|
78
71
|
return this._client.post('/v3/profiles', {
|
|
79
72
|
body,
|
|
@@ -95,15 +88,14 @@ export class Profiles extends APIResource {
|
|
|
95
88
|
*
|
|
96
89
|
* @example
|
|
97
90
|
* ```ts
|
|
98
|
-
* const
|
|
99
|
-
* await client.profiles.retrieve('profileId');
|
|
91
|
+
* const profile = await client.profiles.retrieve('profileId');
|
|
100
92
|
* ```
|
|
101
93
|
*/
|
|
102
94
|
retrieve(
|
|
103
95
|
profileID: string,
|
|
104
96
|
params: ProfileRetrieveParams | null | undefined = {},
|
|
105
97
|
options?: RequestOptions,
|
|
106
|
-
): APIPromise<
|
|
98
|
+
): APIPromise<ProfileRetrieveResponse> {
|
|
107
99
|
const { 'x-profile-id': xProfileID } = params ?? {};
|
|
108
100
|
return this._client.get(path`/v3/profiles/${profileID}`, {
|
|
109
101
|
...options,
|
|
@@ -136,15 +128,14 @@ export class Profiles extends APIResource {
|
|
|
136
128
|
*
|
|
137
129
|
* @example
|
|
138
130
|
* ```ts
|
|
139
|
-
* const
|
|
140
|
-
* await client.profiles.update('profileId');
|
|
131
|
+
* const profile = await client.profiles.update('profileId');
|
|
141
132
|
* ```
|
|
142
133
|
*/
|
|
143
134
|
update(
|
|
144
135
|
profileID: string,
|
|
145
136
|
params: ProfileUpdateParams,
|
|
146
137
|
options?: RequestOptions,
|
|
147
|
-
): APIPromise<
|
|
138
|
+
): APIPromise<ProfileUpdateResponse> {
|
|
148
139
|
const { 'Idempotency-Key': idempotencyKey, 'x-profile-id': xProfileID, ...body } = params;
|
|
149
140
|
return this._client.patch(path`/v3/profiles/${profileID}`, {
|
|
150
141
|
body,
|
|
@@ -259,21 +250,21 @@ export class Profiles extends APIResource {
|
|
|
259
250
|
/**
|
|
260
251
|
* Standard API response envelope for all v3 endpoints
|
|
261
252
|
*/
|
|
262
|
-
export interface
|
|
253
|
+
export interface ProfileCreateResponse {
|
|
263
254
|
/**
|
|
264
255
|
* Detailed profile response for v3 API
|
|
265
256
|
*/
|
|
266
|
-
data?:
|
|
257
|
+
data?: ProfileCreateResponse.Data | null;
|
|
267
258
|
|
|
268
259
|
/**
|
|
269
260
|
* Error information
|
|
270
261
|
*/
|
|
271
|
-
error?:
|
|
262
|
+
error?: ProfileCreateResponse.Error | null;
|
|
272
263
|
|
|
273
264
|
/**
|
|
274
265
|
* Request and response metadata
|
|
275
266
|
*/
|
|
276
|
-
meta?:
|
|
267
|
+
meta?: ProfileCreateResponse.Meta;
|
|
277
268
|
|
|
278
269
|
/**
|
|
279
270
|
* Indicates whether the request was successful
|
|
@@ -281,637 +272,1846 @@ export interface APIResponseOfProfileDetail {
|
|
|
281
272
|
success?: boolean;
|
|
282
273
|
}
|
|
283
274
|
|
|
284
|
-
|
|
285
|
-
* Billing contact information for a profile. Required when billing_model is
|
|
286
|
-
* "profile" or "profile_and_organization".
|
|
287
|
-
*/
|
|
288
|
-
export interface BillingContactInfo {
|
|
289
|
-
/**
|
|
290
|
-
* Email address where invoices will be sent (required)
|
|
291
|
-
*/
|
|
292
|
-
email: string;
|
|
293
|
-
|
|
294
|
-
/**
|
|
295
|
-
* Full name of the billing contact or company (required)
|
|
296
|
-
*/
|
|
297
|
-
name: string;
|
|
298
|
-
|
|
299
|
-
/**
|
|
300
|
-
* Billing address (optional). Free-form text including street, city, state, postal
|
|
301
|
-
* code, and country.
|
|
302
|
-
*/
|
|
303
|
-
address?: string | null;
|
|
304
|
-
|
|
305
|
-
/**
|
|
306
|
-
* Phone number for the billing contact (optional)
|
|
307
|
-
*/
|
|
308
|
-
phone?: string | null;
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
/**
|
|
312
|
-
* Brand and KYC data grouped into contact, business, and compliance sections
|
|
313
|
-
*/
|
|
314
|
-
export interface BrandsBrandData {
|
|
315
|
-
/**
|
|
316
|
-
* Compliance and TCR information for brand registration
|
|
317
|
-
*/
|
|
318
|
-
compliance: SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo;
|
|
319
|
-
|
|
320
|
-
/**
|
|
321
|
-
* Contact information for brand KYC
|
|
322
|
-
*/
|
|
323
|
-
contact: SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo;
|
|
324
|
-
|
|
325
|
-
/**
|
|
326
|
-
* Business details and address for brand KYC
|
|
327
|
-
*/
|
|
328
|
-
business?: SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo | null;
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
export interface DestinationCountry {
|
|
332
|
-
id?: string;
|
|
333
|
-
|
|
334
|
-
isMain?: boolean;
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
/**
|
|
338
|
-
* Payment card details for a profile. Accepted when billing_model is "profile" or
|
|
339
|
-
* "profile_and_organization". These details are not stored on our servers and will
|
|
340
|
-
* be forwarded to the payment processor.
|
|
341
|
-
*/
|
|
342
|
-
export interface PaymentDetails {
|
|
343
|
-
/**
|
|
344
|
-
* Card number (digits only, 13–19 characters)
|
|
345
|
-
*/
|
|
346
|
-
card_number: string;
|
|
347
|
-
|
|
348
|
-
/**
|
|
349
|
-
* Card security code (3–4 digits)
|
|
350
|
-
*/
|
|
351
|
-
cvc: string;
|
|
352
|
-
|
|
353
|
-
/**
|
|
354
|
-
* Card expiry date in MM/YY format (e.g. "09/27")
|
|
355
|
-
*/
|
|
356
|
-
expiry: string;
|
|
357
|
-
|
|
358
|
-
/**
|
|
359
|
-
* Billing ZIP / postal code associated with the card
|
|
360
|
-
*/
|
|
361
|
-
zip_code: string;
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
/**
|
|
365
|
-
* Detailed profile response for v3 API
|
|
366
|
-
*/
|
|
367
|
-
export interface ProfileDetail {
|
|
368
|
-
/**
|
|
369
|
-
* Profile unique identifier
|
|
370
|
-
*/
|
|
371
|
-
id?: string;
|
|
372
|
-
|
|
373
|
-
/**
|
|
374
|
-
* Whether contacts are shared across profiles in the organization
|
|
375
|
-
*/
|
|
376
|
-
allow_contact_sharing?: boolean;
|
|
377
|
-
|
|
378
|
-
/**
|
|
379
|
-
* Whether number changes are allowed during onboarding
|
|
380
|
-
*/
|
|
381
|
-
allow_number_change_during_onboarding?: boolean | null;
|
|
382
|
-
|
|
383
|
-
/**
|
|
384
|
-
* Whether templates are shared across profiles in the organization
|
|
385
|
-
*/
|
|
386
|
-
allow_template_sharing?: boolean;
|
|
387
|
-
|
|
388
|
-
/**
|
|
389
|
-
* Billing contact info returned in profile responses
|
|
390
|
-
*/
|
|
391
|
-
billing_contact?: ProfileDetail.BillingContact | null;
|
|
392
|
-
|
|
393
|
-
/**
|
|
394
|
-
* Billing model: profile, organization, or profile_and_organization
|
|
395
|
-
*/
|
|
396
|
-
billing_model?: string;
|
|
397
|
-
|
|
398
|
-
/**
|
|
399
|
-
* Brand response with nested contact, business, and compliance sections — mirrors
|
|
400
|
-
* the request structure.
|
|
401
|
-
*/
|
|
402
|
-
brand?: ProfileDetail.Brand | null;
|
|
403
|
-
|
|
404
|
-
/**
|
|
405
|
-
* When the profile was created
|
|
406
|
-
*/
|
|
407
|
-
created_at?: string;
|
|
408
|
-
|
|
409
|
-
/**
|
|
410
|
-
* Profile description
|
|
411
|
-
*/
|
|
412
|
-
description?: string | null;
|
|
413
|
-
|
|
414
|
-
/**
|
|
415
|
-
* Profile email (inherited from organization)
|
|
416
|
-
*/
|
|
417
|
-
email?: string | null;
|
|
418
|
-
|
|
419
|
-
/**
|
|
420
|
-
* Profile icon URL
|
|
421
|
-
*/
|
|
422
|
-
icon?: string | null;
|
|
423
|
-
|
|
424
|
-
/**
|
|
425
|
-
* Whether this profile inherits contacts from the organization
|
|
426
|
-
*/
|
|
427
|
-
inherit_contacts?: boolean;
|
|
428
|
-
|
|
429
|
-
/**
|
|
430
|
-
* Whether this profile inherits TCR brand from the organization
|
|
431
|
-
*/
|
|
432
|
-
inherit_tcr_brand?: boolean;
|
|
433
|
-
|
|
434
|
-
/**
|
|
435
|
-
* Whether this profile inherits TCR campaign from the organization
|
|
436
|
-
*/
|
|
437
|
-
inherit_tcr_campaign?: boolean;
|
|
438
|
-
|
|
439
|
-
/**
|
|
440
|
-
* Whether this profile inherits templates from the organization
|
|
441
|
-
*/
|
|
442
|
-
inherit_templates?: boolean;
|
|
443
|
-
|
|
444
|
-
/**
|
|
445
|
-
* Profile name
|
|
446
|
-
*/
|
|
447
|
-
name?: string;
|
|
448
|
-
|
|
449
|
-
/**
|
|
450
|
-
* Parent organization ID
|
|
451
|
-
*/
|
|
452
|
-
organization_id?: string | null;
|
|
453
|
-
|
|
275
|
+
export namespace ProfileCreateResponse {
|
|
454
276
|
/**
|
|
455
|
-
*
|
|
277
|
+
* Detailed profile response for v3 API
|
|
456
278
|
*/
|
|
457
|
-
|
|
279
|
+
export interface Data {
|
|
280
|
+
/**
|
|
281
|
+
* Profile unique identifier
|
|
282
|
+
*/
|
|
283
|
+
id?: string;
|
|
458
284
|
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
285
|
+
/**
|
|
286
|
+
* Whether contacts are shared across profiles in the organization
|
|
287
|
+
*/
|
|
288
|
+
allow_contact_sharing?: boolean;
|
|
463
289
|
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
290
|
+
/**
|
|
291
|
+
* Whether number changes are allowed during onboarding
|
|
292
|
+
*/
|
|
293
|
+
allow_number_change_during_onboarding?: boolean | null;
|
|
468
294
|
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
short_name?: string | null;
|
|
295
|
+
/**
|
|
296
|
+
* Whether templates are shared across profiles in the organization
|
|
297
|
+
*/
|
|
298
|
+
allow_template_sharing?: boolean;
|
|
474
299
|
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
300
|
+
/**
|
|
301
|
+
* Billing contact info returned in profile responses
|
|
302
|
+
*/
|
|
303
|
+
billing_contact?: Data.BillingContact | null;
|
|
479
304
|
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
305
|
+
/**
|
|
306
|
+
* Billing model: profile, organization, or profile_and_organization
|
|
307
|
+
*/
|
|
308
|
+
billing_model?: string;
|
|
484
309
|
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
310
|
+
/**
|
|
311
|
+
* Brand response with nested contact, business, and compliance sections — mirrors
|
|
312
|
+
* the request structure.
|
|
313
|
+
*/
|
|
314
|
+
brand?: Data.Brand | null;
|
|
490
315
|
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
}
|
|
316
|
+
/**
|
|
317
|
+
* When the profile was created
|
|
318
|
+
*/
|
|
319
|
+
created_at?: string;
|
|
496
320
|
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
export interface BillingContact {
|
|
502
|
-
address?: string | null;
|
|
321
|
+
/**
|
|
322
|
+
* Profile description
|
|
323
|
+
*/
|
|
324
|
+
description?: string | null;
|
|
503
325
|
|
|
326
|
+
/**
|
|
327
|
+
* Profile email (inherited from organization)
|
|
328
|
+
*/
|
|
504
329
|
email?: string | null;
|
|
505
330
|
|
|
506
|
-
name?: string | null;
|
|
507
|
-
|
|
508
|
-
phone?: string | null;
|
|
509
|
-
}
|
|
510
|
-
|
|
511
|
-
/**
|
|
512
|
-
* Brand response with nested contact, business, and compliance sections — mirrors
|
|
513
|
-
* the request structure.
|
|
514
|
-
*/
|
|
515
|
-
export interface Brand {
|
|
516
331
|
/**
|
|
517
|
-
*
|
|
332
|
+
* Profile icon URL
|
|
518
333
|
*/
|
|
519
|
-
|
|
334
|
+
icon?: string | null;
|
|
520
335
|
|
|
521
336
|
/**
|
|
522
|
-
*
|
|
337
|
+
* Whether this profile inherits contacts from the organization
|
|
523
338
|
*/
|
|
524
|
-
|
|
339
|
+
inherit_contacts?: boolean;
|
|
525
340
|
|
|
526
341
|
/**
|
|
527
|
-
*
|
|
342
|
+
* Whether this profile inherits TCR brand from the organization
|
|
528
343
|
*/
|
|
529
|
-
|
|
344
|
+
inherit_tcr_brand?: boolean;
|
|
530
345
|
|
|
531
346
|
/**
|
|
532
|
-
*
|
|
347
|
+
* Whether this profile inherits TCR campaign from the organization
|
|
533
348
|
*/
|
|
534
|
-
|
|
349
|
+
inherit_tcr_campaign?: boolean;
|
|
535
350
|
|
|
536
351
|
/**
|
|
537
|
-
*
|
|
352
|
+
* Whether this profile inherits templates from the organization
|
|
538
353
|
*/
|
|
539
|
-
|
|
354
|
+
inherit_templates?: boolean;
|
|
540
355
|
|
|
541
356
|
/**
|
|
542
|
-
*
|
|
357
|
+
* Profile name
|
|
543
358
|
*/
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
identity_status?: 'SELF_DECLARED' | 'UNVERIFIED' | 'VERIFIED' | 'VETTED_VERIFIED' | null;
|
|
359
|
+
name?: string;
|
|
547
360
|
|
|
548
361
|
/**
|
|
549
|
-
*
|
|
362
|
+
* Parent organization ID
|
|
550
363
|
*/
|
|
551
|
-
|
|
364
|
+
organization_id?: string | null;
|
|
552
365
|
|
|
553
|
-
|
|
366
|
+
/**
|
|
367
|
+
* Direct SMS phone number
|
|
368
|
+
*/
|
|
369
|
+
sending_phone_number?: string | null;
|
|
554
370
|
|
|
555
371
|
/**
|
|
556
|
-
*
|
|
372
|
+
* Reference to another profile for SMS/Telnyx configuration
|
|
557
373
|
*/
|
|
558
|
-
|
|
374
|
+
sending_phone_number_profile_id?: string | null;
|
|
559
375
|
|
|
560
376
|
/**
|
|
561
|
-
*
|
|
377
|
+
* Reference to another profile for WhatsApp configuration
|
|
562
378
|
*/
|
|
563
|
-
|
|
379
|
+
sending_whatsapp_number_profile_id?: string | null;
|
|
564
380
|
|
|
565
381
|
/**
|
|
566
|
-
*
|
|
382
|
+
* Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
|
|
383
|
+
* only, with at least one letter.
|
|
567
384
|
*/
|
|
568
|
-
|
|
385
|
+
short_name?: string | null;
|
|
569
386
|
|
|
570
387
|
/**
|
|
571
|
-
*
|
|
388
|
+
* Profile setup status: incomplete, pending_review, approved, rejected
|
|
572
389
|
*/
|
|
573
|
-
|
|
390
|
+
status?: string;
|
|
574
391
|
|
|
575
392
|
/**
|
|
576
|
-
* When the
|
|
393
|
+
* When the profile was last updated
|
|
577
394
|
*/
|
|
578
395
|
updated_at?: string | null;
|
|
579
|
-
}
|
|
580
396
|
|
|
581
|
-
export namespace Brand {
|
|
582
397
|
/**
|
|
583
|
-
* Business
|
|
398
|
+
* WhatsApp Business Account ID associated with this profile. Present whether the
|
|
399
|
+
* WABA is inherited from the organization or configured directly.
|
|
584
400
|
*/
|
|
585
|
-
|
|
586
|
-
/**
|
|
587
|
-
* City
|
|
588
|
-
*/
|
|
589
|
-
city?: string | null;
|
|
401
|
+
waba_id?: string | null;
|
|
590
402
|
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
403
|
+
/**
|
|
404
|
+
* Direct WhatsApp phone number
|
|
405
|
+
*/
|
|
406
|
+
whatsapp_phone_number?: string | null;
|
|
407
|
+
}
|
|
595
408
|
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
409
|
+
export namespace Data {
|
|
410
|
+
/**
|
|
411
|
+
* Billing contact info returned in profile responses
|
|
412
|
+
*/
|
|
413
|
+
export interface BillingContact {
|
|
414
|
+
address?: string | null;
|
|
600
415
|
|
|
601
|
-
|
|
602
|
-
* Business entity type
|
|
603
|
-
*/
|
|
604
|
-
entity_type?: string | null;
|
|
416
|
+
email?: string | null;
|
|
605
417
|
|
|
606
|
-
|
|
607
|
-
* Legal business name
|
|
608
|
-
*/
|
|
609
|
-
legal_name?: string | null;
|
|
418
|
+
name?: string | null;
|
|
610
419
|
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
*/
|
|
614
|
-
postal_code?: string | null;
|
|
420
|
+
phone?: string | null;
|
|
421
|
+
}
|
|
615
422
|
|
|
423
|
+
/**
|
|
424
|
+
* Brand response with nested contact, business, and compliance sections — mirrors
|
|
425
|
+
* the request structure.
|
|
426
|
+
*/
|
|
427
|
+
export interface Brand {
|
|
616
428
|
/**
|
|
617
|
-
*
|
|
429
|
+
* Unique identifier for the brand
|
|
618
430
|
*/
|
|
619
|
-
|
|
431
|
+
id?: string;
|
|
620
432
|
|
|
621
433
|
/**
|
|
622
|
-
*
|
|
434
|
+
* Business details and address information
|
|
623
435
|
*/
|
|
624
|
-
|
|
436
|
+
business?: Brand.Business | null;
|
|
625
437
|
|
|
626
438
|
/**
|
|
627
|
-
*
|
|
439
|
+
* Compliance and TCR-related information
|
|
628
440
|
*/
|
|
629
|
-
|
|
441
|
+
compliance?: Brand.Compliance | null;
|
|
630
442
|
|
|
631
443
|
/**
|
|
632
|
-
*
|
|
444
|
+
* Contact information for the brand
|
|
633
445
|
*/
|
|
634
|
-
|
|
446
|
+
contact?: Brand.Contact | null;
|
|
635
447
|
|
|
636
448
|
/**
|
|
637
|
-
*
|
|
449
|
+
* When the brand was created
|
|
638
450
|
*/
|
|
639
|
-
|
|
640
|
-
}
|
|
641
|
-
|
|
642
|
-
/**
|
|
643
|
-
* Compliance and TCR-related information
|
|
644
|
-
*/
|
|
645
|
-
export interface Compliance {
|
|
646
|
-
brand_relationship?: ProfilesAPI.TcrBrandRelationship | null;
|
|
451
|
+
created_at?: string;
|
|
647
452
|
|
|
648
453
|
/**
|
|
649
|
-
*
|
|
454
|
+
* CSP (Campaign Service Provider) ID
|
|
650
455
|
*/
|
|
651
|
-
|
|
456
|
+
csp_id?: string | null;
|
|
652
457
|
|
|
653
|
-
|
|
654
|
-
* Expected daily messaging volume
|
|
655
|
-
*/
|
|
656
|
-
expected_messaging_volume?: string | null;
|
|
458
|
+
identity_status?: 'SELF_DECLARED' | 'UNVERIFIED' | 'VERIFIED' | 'VETTED_VERIFIED' | null;
|
|
657
459
|
|
|
658
460
|
/**
|
|
659
|
-
* Whether this is
|
|
461
|
+
* Whether this brand is inherited from the parent organization
|
|
660
462
|
*/
|
|
661
|
-
|
|
463
|
+
is_inherited?: boolean;
|
|
662
464
|
|
|
663
|
-
|
|
664
|
-
* Additional notes about the business or use case
|
|
665
|
-
*/
|
|
666
|
-
notes?: string | null;
|
|
465
|
+
status?: 'ACTIVE' | 'INACTIVE' | 'SUSPENDED' | null;
|
|
667
466
|
|
|
668
467
|
/**
|
|
669
|
-
*
|
|
468
|
+
* When the brand was submitted to TCR
|
|
670
469
|
*/
|
|
671
|
-
|
|
470
|
+
submitted_at?: string | null;
|
|
672
471
|
|
|
673
472
|
/**
|
|
674
|
-
*
|
|
473
|
+
* Whether this brand has been submitted to TCR
|
|
675
474
|
*/
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
vertical?: ProfilesAPI.TcrVertical | null;
|
|
679
|
-
}
|
|
475
|
+
submitted_to_tcr?: boolean;
|
|
680
476
|
|
|
681
|
-
/**
|
|
682
|
-
* Contact information for the brand
|
|
683
|
-
*/
|
|
684
|
-
export interface Contact {
|
|
685
477
|
/**
|
|
686
|
-
*
|
|
478
|
+
* TCR brand ID (populated after TCR submission)
|
|
687
479
|
*/
|
|
688
|
-
|
|
480
|
+
tcr_brand_id?: string | null;
|
|
689
481
|
|
|
690
482
|
/**
|
|
691
|
-
*
|
|
483
|
+
* Universal EIN from TCR
|
|
692
484
|
*/
|
|
693
|
-
|
|
485
|
+
universal_ein?: string | null;
|
|
694
486
|
|
|
695
487
|
/**
|
|
696
|
-
*
|
|
488
|
+
* When the brand was last updated
|
|
697
489
|
*/
|
|
698
|
-
|
|
490
|
+
updated_at?: string | null;
|
|
491
|
+
}
|
|
699
492
|
|
|
493
|
+
export namespace Brand {
|
|
700
494
|
/**
|
|
701
|
-
*
|
|
495
|
+
* Business details and address information
|
|
702
496
|
*/
|
|
703
|
-
|
|
497
|
+
export interface Business {
|
|
498
|
+
/**
|
|
499
|
+
* City
|
|
500
|
+
*/
|
|
501
|
+
city?: string | null;
|
|
502
|
+
|
|
503
|
+
/**
|
|
504
|
+
* Country code (e.g., US, CA)
|
|
505
|
+
*/
|
|
506
|
+
country?: string | null;
|
|
507
|
+
|
|
508
|
+
/**
|
|
509
|
+
* Country where the business is registered
|
|
510
|
+
*/
|
|
511
|
+
country_of_registration?: string | null;
|
|
512
|
+
|
|
513
|
+
/**
|
|
514
|
+
* Business entity type
|
|
515
|
+
*/
|
|
516
|
+
entity_type?: string | null;
|
|
517
|
+
|
|
518
|
+
/**
|
|
519
|
+
* Legal business name
|
|
520
|
+
*/
|
|
521
|
+
legal_name?: string | null;
|
|
522
|
+
|
|
523
|
+
/**
|
|
524
|
+
* Postal/ZIP code
|
|
525
|
+
*/
|
|
526
|
+
postal_code?: string | null;
|
|
527
|
+
|
|
528
|
+
/**
|
|
529
|
+
* State/province code
|
|
530
|
+
*/
|
|
531
|
+
state?: string | null;
|
|
532
|
+
|
|
533
|
+
/**
|
|
534
|
+
* Street address
|
|
535
|
+
*/
|
|
536
|
+
street?: string | null;
|
|
537
|
+
|
|
538
|
+
/**
|
|
539
|
+
* Tax ID/EIN number
|
|
540
|
+
*/
|
|
541
|
+
tax_id?: string | null;
|
|
542
|
+
|
|
543
|
+
/**
|
|
544
|
+
* Type of tax ID (e.g., us_ein, ca_bn)
|
|
545
|
+
*/
|
|
546
|
+
tax_id_type?: string | null;
|
|
547
|
+
|
|
548
|
+
/**
|
|
549
|
+
* Business website URL
|
|
550
|
+
*/
|
|
551
|
+
url?: string | null;
|
|
552
|
+
}
|
|
704
553
|
|
|
705
554
|
/**
|
|
706
|
-
*
|
|
555
|
+
* Compliance and TCR-related information
|
|
707
556
|
*/
|
|
708
|
-
|
|
557
|
+
export interface Compliance {
|
|
558
|
+
brand_relationship?:
|
|
559
|
+
| 'BASIC_ACCOUNT'
|
|
560
|
+
| 'MEDIUM_ACCOUNT'
|
|
561
|
+
| 'LARGE_ACCOUNT'
|
|
562
|
+
| 'SMALL_ACCOUNT'
|
|
563
|
+
| 'KEY_ACCOUNT'
|
|
564
|
+
| null;
|
|
565
|
+
|
|
566
|
+
/**
|
|
567
|
+
* List of destination countries for messaging
|
|
568
|
+
*/
|
|
569
|
+
destination_countries?: Array<Compliance.DestinationCountry>;
|
|
570
|
+
|
|
571
|
+
/**
|
|
572
|
+
* Expected daily messaging volume
|
|
573
|
+
*/
|
|
574
|
+
expected_messaging_volume?: string | null;
|
|
575
|
+
|
|
576
|
+
/**
|
|
577
|
+
* Whether this is a TCR (Campaign Registry) application
|
|
578
|
+
*/
|
|
579
|
+
is_tcr_application?: boolean;
|
|
580
|
+
|
|
581
|
+
/**
|
|
582
|
+
* Additional notes about the business or use case
|
|
583
|
+
*/
|
|
584
|
+
notes?: string | null;
|
|
585
|
+
|
|
586
|
+
/**
|
|
587
|
+
* Phone number prefix for messaging (e.g., "+1")
|
|
588
|
+
*/
|
|
589
|
+
phone_number_prefix?: string | null;
|
|
590
|
+
|
|
591
|
+
/**
|
|
592
|
+
* Primary messaging use case description
|
|
593
|
+
*/
|
|
594
|
+
primary_use_case?: string | null;
|
|
595
|
+
|
|
596
|
+
vertical?:
|
|
597
|
+
| 'PROFESSIONAL'
|
|
598
|
+
| 'REAL_ESTATE'
|
|
599
|
+
| 'HEALTHCARE'
|
|
600
|
+
| 'HUMAN_RESOURCES'
|
|
601
|
+
| 'ENERGY'
|
|
602
|
+
| 'ENTERTAINMENT'
|
|
603
|
+
| 'RETAIL'
|
|
604
|
+
| 'TRANSPORTATION'
|
|
605
|
+
| 'AGRICULTURE'
|
|
606
|
+
| 'INSURANCE'
|
|
607
|
+
| 'POSTAL'
|
|
608
|
+
| 'EDUCATION'
|
|
609
|
+
| 'HOSPITALITY'
|
|
610
|
+
| 'FINANCIAL'
|
|
611
|
+
| 'POLITICAL'
|
|
612
|
+
| 'GAMBLING'
|
|
613
|
+
| 'LEGAL'
|
|
614
|
+
| 'CONSTRUCTION'
|
|
615
|
+
| 'NGO'
|
|
616
|
+
| 'MANUFACTURING'
|
|
617
|
+
| 'GOVERNMENT'
|
|
618
|
+
| 'TECHNOLOGY'
|
|
619
|
+
| 'COMMUNICATION'
|
|
620
|
+
| null;
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
export namespace Compliance {
|
|
624
|
+
export interface DestinationCountry {
|
|
625
|
+
id?: string;
|
|
626
|
+
|
|
627
|
+
isMain?: boolean;
|
|
628
|
+
}
|
|
629
|
+
}
|
|
709
630
|
|
|
710
631
|
/**
|
|
711
|
-
* Contact
|
|
632
|
+
* Contact information for the brand
|
|
712
633
|
*/
|
|
713
|
-
|
|
634
|
+
export interface Contact {
|
|
635
|
+
/**
|
|
636
|
+
* Business/brand name
|
|
637
|
+
*/
|
|
638
|
+
business_name?: string | null;
|
|
639
|
+
|
|
640
|
+
/**
|
|
641
|
+
* Contact email address
|
|
642
|
+
*/
|
|
643
|
+
email?: string | null;
|
|
644
|
+
|
|
645
|
+
/**
|
|
646
|
+
* Primary contact name
|
|
647
|
+
*/
|
|
648
|
+
name?: string;
|
|
649
|
+
|
|
650
|
+
/**
|
|
651
|
+
* Contact phone number in E.164 format
|
|
652
|
+
*/
|
|
653
|
+
phone?: string | null;
|
|
654
|
+
|
|
655
|
+
/**
|
|
656
|
+
* Contact phone country code (e.g., "1" for US)
|
|
657
|
+
*/
|
|
658
|
+
phone_country_code?: string | null;
|
|
659
|
+
|
|
660
|
+
/**
|
|
661
|
+
* Contact's role in the business
|
|
662
|
+
*/
|
|
663
|
+
role?: string | null;
|
|
664
|
+
}
|
|
714
665
|
}
|
|
715
666
|
}
|
|
716
|
-
}
|
|
717
667
|
|
|
718
|
-
/**
|
|
719
|
-
* Business details and address for brand KYC
|
|
720
|
-
*/
|
|
721
|
-
export interface SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo {
|
|
722
668
|
/**
|
|
723
|
-
*
|
|
669
|
+
* Error information
|
|
724
670
|
*/
|
|
725
|
-
|
|
671
|
+
export interface Error {
|
|
672
|
+
/**
|
|
673
|
+
* Machine-readable error code (e.g., "RESOURCE_001")
|
|
674
|
+
*/
|
|
675
|
+
code?: string;
|
|
726
676
|
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
677
|
+
/**
|
|
678
|
+
* Additional validation error details (field-level errors)
|
|
679
|
+
*/
|
|
680
|
+
details?: { [key: string]: Array<string> } | null;
|
|
731
681
|
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
682
|
+
/**
|
|
683
|
+
* URL to documentation about this error
|
|
684
|
+
*/
|
|
685
|
+
doc_url?: string | null;
|
|
736
686
|
|
|
737
|
-
|
|
687
|
+
/**
|
|
688
|
+
* Human-readable error message
|
|
689
|
+
*/
|
|
690
|
+
message?: string;
|
|
691
|
+
}
|
|
738
692
|
|
|
739
693
|
/**
|
|
740
|
-
*
|
|
694
|
+
* Request and response metadata
|
|
741
695
|
*/
|
|
742
|
-
|
|
696
|
+
export interface Meta {
|
|
697
|
+
/**
|
|
698
|
+
* Unique identifier for this request (for tracing and support)
|
|
699
|
+
*/
|
|
700
|
+
request_id?: string;
|
|
701
|
+
|
|
702
|
+
/**
|
|
703
|
+
* Server timestamp when the response was generated
|
|
704
|
+
*/
|
|
705
|
+
timestamp?: string;
|
|
743
706
|
|
|
707
|
+
/**
|
|
708
|
+
* API version used for this request
|
|
709
|
+
*/
|
|
710
|
+
version?: string;
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
|
|
714
|
+
/**
|
|
715
|
+
* Standard API response envelope for all v3 endpoints
|
|
716
|
+
*/
|
|
717
|
+
export interface ProfileRetrieveResponse {
|
|
744
718
|
/**
|
|
745
|
-
*
|
|
719
|
+
* Detailed profile response for v3 API
|
|
746
720
|
*/
|
|
747
|
-
|
|
721
|
+
data?: ProfileRetrieveResponse.Data | null;
|
|
748
722
|
|
|
749
723
|
/**
|
|
750
|
-
*
|
|
724
|
+
* Error information
|
|
751
725
|
*/
|
|
752
|
-
|
|
726
|
+
error?: ProfileRetrieveResponse.Error | null;
|
|
753
727
|
|
|
754
728
|
/**
|
|
755
|
-
*
|
|
729
|
+
* Request and response metadata
|
|
756
730
|
*/
|
|
757
|
-
|
|
731
|
+
meta?: ProfileRetrieveResponse.Meta;
|
|
758
732
|
|
|
759
733
|
/**
|
|
760
|
-
*
|
|
734
|
+
* Indicates whether the request was successful
|
|
761
735
|
*/
|
|
762
|
-
|
|
736
|
+
success?: boolean;
|
|
737
|
+
}
|
|
763
738
|
|
|
739
|
+
export namespace ProfileRetrieveResponse {
|
|
764
740
|
/**
|
|
765
|
-
*
|
|
741
|
+
* Detailed profile response for v3 API
|
|
766
742
|
*/
|
|
767
|
-
|
|
743
|
+
export interface Data {
|
|
744
|
+
/**
|
|
745
|
+
* Profile unique identifier
|
|
746
|
+
*/
|
|
747
|
+
id?: string;
|
|
748
|
+
|
|
749
|
+
/**
|
|
750
|
+
* Whether contacts are shared across profiles in the organization
|
|
751
|
+
*/
|
|
752
|
+
allow_contact_sharing?: boolean;
|
|
753
|
+
|
|
754
|
+
/**
|
|
755
|
+
* Whether number changes are allowed during onboarding
|
|
756
|
+
*/
|
|
757
|
+
allow_number_change_during_onboarding?: boolean | null;
|
|
758
|
+
|
|
759
|
+
/**
|
|
760
|
+
* Whether templates are shared across profiles in the organization
|
|
761
|
+
*/
|
|
762
|
+
allow_template_sharing?: boolean;
|
|
763
|
+
|
|
764
|
+
/**
|
|
765
|
+
* Billing contact info returned in profile responses
|
|
766
|
+
*/
|
|
767
|
+
billing_contact?: Data.BillingContact | null;
|
|
768
|
+
|
|
769
|
+
/**
|
|
770
|
+
* Billing model: profile, organization, or profile_and_organization
|
|
771
|
+
*/
|
|
772
|
+
billing_model?: string;
|
|
773
|
+
|
|
774
|
+
/**
|
|
775
|
+
* Brand response with nested contact, business, and compliance sections — mirrors
|
|
776
|
+
* the request structure.
|
|
777
|
+
*/
|
|
778
|
+
brand?: Data.Brand | null;
|
|
779
|
+
|
|
780
|
+
/**
|
|
781
|
+
* When the profile was created
|
|
782
|
+
*/
|
|
783
|
+
created_at?: string;
|
|
784
|
+
|
|
785
|
+
/**
|
|
786
|
+
* Profile description
|
|
787
|
+
*/
|
|
788
|
+
description?: string | null;
|
|
789
|
+
|
|
790
|
+
/**
|
|
791
|
+
* Profile email (inherited from organization)
|
|
792
|
+
*/
|
|
793
|
+
email?: string | null;
|
|
794
|
+
|
|
795
|
+
/**
|
|
796
|
+
* Profile icon URL
|
|
797
|
+
*/
|
|
798
|
+
icon?: string | null;
|
|
799
|
+
|
|
800
|
+
/**
|
|
801
|
+
* Whether this profile inherits contacts from the organization
|
|
802
|
+
*/
|
|
803
|
+
inherit_contacts?: boolean;
|
|
804
|
+
|
|
805
|
+
/**
|
|
806
|
+
* Whether this profile inherits TCR brand from the organization
|
|
807
|
+
*/
|
|
808
|
+
inherit_tcr_brand?: boolean;
|
|
809
|
+
|
|
810
|
+
/**
|
|
811
|
+
* Whether this profile inherits TCR campaign from the organization
|
|
812
|
+
*/
|
|
813
|
+
inherit_tcr_campaign?: boolean;
|
|
814
|
+
|
|
815
|
+
/**
|
|
816
|
+
* Whether this profile inherits templates from the organization
|
|
817
|
+
*/
|
|
818
|
+
inherit_templates?: boolean;
|
|
819
|
+
|
|
820
|
+
/**
|
|
821
|
+
* Profile name
|
|
822
|
+
*/
|
|
823
|
+
name?: string;
|
|
824
|
+
|
|
825
|
+
/**
|
|
826
|
+
* Parent organization ID
|
|
827
|
+
*/
|
|
828
|
+
organization_id?: string | null;
|
|
829
|
+
|
|
830
|
+
/**
|
|
831
|
+
* Direct SMS phone number
|
|
832
|
+
*/
|
|
833
|
+
sending_phone_number?: string | null;
|
|
834
|
+
|
|
835
|
+
/**
|
|
836
|
+
* Reference to another profile for SMS/Telnyx configuration
|
|
837
|
+
*/
|
|
838
|
+
sending_phone_number_profile_id?: string | null;
|
|
839
|
+
|
|
840
|
+
/**
|
|
841
|
+
* Reference to another profile for WhatsApp configuration
|
|
842
|
+
*/
|
|
843
|
+
sending_whatsapp_number_profile_id?: string | null;
|
|
844
|
+
|
|
845
|
+
/**
|
|
846
|
+
* Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
|
|
847
|
+
* only, with at least one letter.
|
|
848
|
+
*/
|
|
849
|
+
short_name?: string | null;
|
|
850
|
+
|
|
851
|
+
/**
|
|
852
|
+
* Profile setup status: incomplete, pending_review, approved, rejected
|
|
853
|
+
*/
|
|
854
|
+
status?: string;
|
|
855
|
+
|
|
856
|
+
/**
|
|
857
|
+
* When the profile was last updated
|
|
858
|
+
*/
|
|
859
|
+
updated_at?: string | null;
|
|
860
|
+
|
|
861
|
+
/**
|
|
862
|
+
* WhatsApp Business Account ID associated with this profile. Present whether the
|
|
863
|
+
* WABA is inherited from the organization or configured directly.
|
|
864
|
+
*/
|
|
865
|
+
waba_id?: string | null;
|
|
866
|
+
|
|
867
|
+
/**
|
|
868
|
+
* Direct WhatsApp phone number
|
|
869
|
+
*/
|
|
870
|
+
whatsapp_phone_number?: string | null;
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
export namespace Data {
|
|
874
|
+
/**
|
|
875
|
+
* Billing contact info returned in profile responses
|
|
876
|
+
*/
|
|
877
|
+
export interface BillingContact {
|
|
878
|
+
address?: string | null;
|
|
879
|
+
|
|
880
|
+
email?: string | null;
|
|
881
|
+
|
|
882
|
+
name?: string | null;
|
|
883
|
+
|
|
884
|
+
phone?: string | null;
|
|
885
|
+
}
|
|
886
|
+
|
|
887
|
+
/**
|
|
888
|
+
* Brand response with nested contact, business, and compliance sections — mirrors
|
|
889
|
+
* the request structure.
|
|
890
|
+
*/
|
|
891
|
+
export interface Brand {
|
|
892
|
+
/**
|
|
893
|
+
* Unique identifier for the brand
|
|
894
|
+
*/
|
|
895
|
+
id?: string;
|
|
896
|
+
|
|
897
|
+
/**
|
|
898
|
+
* Business details and address information
|
|
899
|
+
*/
|
|
900
|
+
business?: Brand.Business | null;
|
|
901
|
+
|
|
902
|
+
/**
|
|
903
|
+
* Compliance and TCR-related information
|
|
904
|
+
*/
|
|
905
|
+
compliance?: Brand.Compliance | null;
|
|
906
|
+
|
|
907
|
+
/**
|
|
908
|
+
* Contact information for the brand
|
|
909
|
+
*/
|
|
910
|
+
contact?: Brand.Contact | null;
|
|
911
|
+
|
|
912
|
+
/**
|
|
913
|
+
* When the brand was created
|
|
914
|
+
*/
|
|
915
|
+
created_at?: string;
|
|
916
|
+
|
|
917
|
+
/**
|
|
918
|
+
* CSP (Campaign Service Provider) ID
|
|
919
|
+
*/
|
|
920
|
+
csp_id?: string | null;
|
|
921
|
+
|
|
922
|
+
identity_status?: 'SELF_DECLARED' | 'UNVERIFIED' | 'VERIFIED' | 'VETTED_VERIFIED' | null;
|
|
923
|
+
|
|
924
|
+
/**
|
|
925
|
+
* Whether this brand is inherited from the parent organization
|
|
926
|
+
*/
|
|
927
|
+
is_inherited?: boolean;
|
|
928
|
+
|
|
929
|
+
status?: 'ACTIVE' | 'INACTIVE' | 'SUSPENDED' | null;
|
|
930
|
+
|
|
931
|
+
/**
|
|
932
|
+
* When the brand was submitted to TCR
|
|
933
|
+
*/
|
|
934
|
+
submitted_at?: string | null;
|
|
935
|
+
|
|
936
|
+
/**
|
|
937
|
+
* Whether this brand has been submitted to TCR
|
|
938
|
+
*/
|
|
939
|
+
submitted_to_tcr?: boolean;
|
|
940
|
+
|
|
941
|
+
/**
|
|
942
|
+
* TCR brand ID (populated after TCR submission)
|
|
943
|
+
*/
|
|
944
|
+
tcr_brand_id?: string | null;
|
|
945
|
+
|
|
946
|
+
/**
|
|
947
|
+
* Universal EIN from TCR
|
|
948
|
+
*/
|
|
949
|
+
universal_ein?: string | null;
|
|
950
|
+
|
|
951
|
+
/**
|
|
952
|
+
* When the brand was last updated
|
|
953
|
+
*/
|
|
954
|
+
updated_at?: string | null;
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
export namespace Brand {
|
|
958
|
+
/**
|
|
959
|
+
* Business details and address information
|
|
960
|
+
*/
|
|
961
|
+
export interface Business {
|
|
962
|
+
/**
|
|
963
|
+
* City
|
|
964
|
+
*/
|
|
965
|
+
city?: string | null;
|
|
966
|
+
|
|
967
|
+
/**
|
|
968
|
+
* Country code (e.g., US, CA)
|
|
969
|
+
*/
|
|
970
|
+
country?: string | null;
|
|
971
|
+
|
|
972
|
+
/**
|
|
973
|
+
* Country where the business is registered
|
|
974
|
+
*/
|
|
975
|
+
country_of_registration?: string | null;
|
|
976
|
+
|
|
977
|
+
/**
|
|
978
|
+
* Business entity type
|
|
979
|
+
*/
|
|
980
|
+
entity_type?: string | null;
|
|
981
|
+
|
|
982
|
+
/**
|
|
983
|
+
* Legal business name
|
|
984
|
+
*/
|
|
985
|
+
legal_name?: string | null;
|
|
986
|
+
|
|
987
|
+
/**
|
|
988
|
+
* Postal/ZIP code
|
|
989
|
+
*/
|
|
990
|
+
postal_code?: string | null;
|
|
991
|
+
|
|
992
|
+
/**
|
|
993
|
+
* State/province code
|
|
994
|
+
*/
|
|
995
|
+
state?: string | null;
|
|
996
|
+
|
|
997
|
+
/**
|
|
998
|
+
* Street address
|
|
999
|
+
*/
|
|
1000
|
+
street?: string | null;
|
|
1001
|
+
|
|
1002
|
+
/**
|
|
1003
|
+
* Tax ID/EIN number
|
|
1004
|
+
*/
|
|
1005
|
+
tax_id?: string | null;
|
|
1006
|
+
|
|
1007
|
+
/**
|
|
1008
|
+
* Type of tax ID (e.g., us_ein, ca_bn)
|
|
1009
|
+
*/
|
|
1010
|
+
tax_id_type?: string | null;
|
|
1011
|
+
|
|
1012
|
+
/**
|
|
1013
|
+
* Business website URL
|
|
1014
|
+
*/
|
|
1015
|
+
url?: string | null;
|
|
1016
|
+
}
|
|
1017
|
+
|
|
1018
|
+
/**
|
|
1019
|
+
* Compliance and TCR-related information
|
|
1020
|
+
*/
|
|
1021
|
+
export interface Compliance {
|
|
1022
|
+
brand_relationship?:
|
|
1023
|
+
| 'BASIC_ACCOUNT'
|
|
1024
|
+
| 'MEDIUM_ACCOUNT'
|
|
1025
|
+
| 'LARGE_ACCOUNT'
|
|
1026
|
+
| 'SMALL_ACCOUNT'
|
|
1027
|
+
| 'KEY_ACCOUNT'
|
|
1028
|
+
| null;
|
|
1029
|
+
|
|
1030
|
+
/**
|
|
1031
|
+
* List of destination countries for messaging
|
|
1032
|
+
*/
|
|
1033
|
+
destination_countries?: Array<Compliance.DestinationCountry>;
|
|
1034
|
+
|
|
1035
|
+
/**
|
|
1036
|
+
* Expected daily messaging volume
|
|
1037
|
+
*/
|
|
1038
|
+
expected_messaging_volume?: string | null;
|
|
1039
|
+
|
|
1040
|
+
/**
|
|
1041
|
+
* Whether this is a TCR (Campaign Registry) application
|
|
1042
|
+
*/
|
|
1043
|
+
is_tcr_application?: boolean;
|
|
1044
|
+
|
|
1045
|
+
/**
|
|
1046
|
+
* Additional notes about the business or use case
|
|
1047
|
+
*/
|
|
1048
|
+
notes?: string | null;
|
|
1049
|
+
|
|
1050
|
+
/**
|
|
1051
|
+
* Phone number prefix for messaging (e.g., "+1")
|
|
1052
|
+
*/
|
|
1053
|
+
phone_number_prefix?: string | null;
|
|
1054
|
+
|
|
1055
|
+
/**
|
|
1056
|
+
* Primary messaging use case description
|
|
1057
|
+
*/
|
|
1058
|
+
primary_use_case?: string | null;
|
|
1059
|
+
|
|
1060
|
+
vertical?:
|
|
1061
|
+
| 'PROFESSIONAL'
|
|
1062
|
+
| 'REAL_ESTATE'
|
|
1063
|
+
| 'HEALTHCARE'
|
|
1064
|
+
| 'HUMAN_RESOURCES'
|
|
1065
|
+
| 'ENERGY'
|
|
1066
|
+
| 'ENTERTAINMENT'
|
|
1067
|
+
| 'RETAIL'
|
|
1068
|
+
| 'TRANSPORTATION'
|
|
1069
|
+
| 'AGRICULTURE'
|
|
1070
|
+
| 'INSURANCE'
|
|
1071
|
+
| 'POSTAL'
|
|
1072
|
+
| 'EDUCATION'
|
|
1073
|
+
| 'HOSPITALITY'
|
|
1074
|
+
| 'FINANCIAL'
|
|
1075
|
+
| 'POLITICAL'
|
|
1076
|
+
| 'GAMBLING'
|
|
1077
|
+
| 'LEGAL'
|
|
1078
|
+
| 'CONSTRUCTION'
|
|
1079
|
+
| 'NGO'
|
|
1080
|
+
| 'MANUFACTURING'
|
|
1081
|
+
| 'GOVERNMENT'
|
|
1082
|
+
| 'TECHNOLOGY'
|
|
1083
|
+
| 'COMMUNICATION'
|
|
1084
|
+
| null;
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1087
|
+
export namespace Compliance {
|
|
1088
|
+
export interface DestinationCountry {
|
|
1089
|
+
id?: string;
|
|
1090
|
+
|
|
1091
|
+
isMain?: boolean;
|
|
1092
|
+
}
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
/**
|
|
1096
|
+
* Contact information for the brand
|
|
1097
|
+
*/
|
|
1098
|
+
export interface Contact {
|
|
1099
|
+
/**
|
|
1100
|
+
* Business/brand name
|
|
1101
|
+
*/
|
|
1102
|
+
business_name?: string | null;
|
|
1103
|
+
|
|
1104
|
+
/**
|
|
1105
|
+
* Contact email address
|
|
1106
|
+
*/
|
|
1107
|
+
email?: string | null;
|
|
1108
|
+
|
|
1109
|
+
/**
|
|
1110
|
+
* Primary contact name
|
|
1111
|
+
*/
|
|
1112
|
+
name?: string;
|
|
1113
|
+
|
|
1114
|
+
/**
|
|
1115
|
+
* Contact phone number in E.164 format
|
|
1116
|
+
*/
|
|
1117
|
+
phone?: string | null;
|
|
1118
|
+
|
|
1119
|
+
/**
|
|
1120
|
+
* Contact phone country code (e.g., "1" for US)
|
|
1121
|
+
*/
|
|
1122
|
+
phone_country_code?: string | null;
|
|
1123
|
+
|
|
1124
|
+
/**
|
|
1125
|
+
* Contact's role in the business
|
|
1126
|
+
*/
|
|
1127
|
+
role?: string | null;
|
|
1128
|
+
}
|
|
1129
|
+
}
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
/**
|
|
1133
|
+
* Error information
|
|
1134
|
+
*/
|
|
1135
|
+
export interface Error {
|
|
1136
|
+
/**
|
|
1137
|
+
* Machine-readable error code (e.g., "RESOURCE_001")
|
|
1138
|
+
*/
|
|
1139
|
+
code?: string;
|
|
1140
|
+
|
|
1141
|
+
/**
|
|
1142
|
+
* Additional validation error details (field-level errors)
|
|
1143
|
+
*/
|
|
1144
|
+
details?: { [key: string]: Array<string> } | null;
|
|
1145
|
+
|
|
1146
|
+
/**
|
|
1147
|
+
* URL to documentation about this error
|
|
1148
|
+
*/
|
|
1149
|
+
doc_url?: string | null;
|
|
1150
|
+
|
|
1151
|
+
/**
|
|
1152
|
+
* Human-readable error message
|
|
1153
|
+
*/
|
|
1154
|
+
message?: string;
|
|
1155
|
+
}
|
|
768
1156
|
|
|
769
1157
|
/**
|
|
770
|
-
*
|
|
1158
|
+
* Request and response metadata
|
|
771
1159
|
*/
|
|
772
|
-
|
|
1160
|
+
export interface Meta {
|
|
1161
|
+
/**
|
|
1162
|
+
* Unique identifier for this request (for tracing and support)
|
|
1163
|
+
*/
|
|
1164
|
+
request_id?: string;
|
|
1165
|
+
|
|
1166
|
+
/**
|
|
1167
|
+
* Server timestamp when the response was generated
|
|
1168
|
+
*/
|
|
1169
|
+
timestamp?: string;
|
|
1170
|
+
|
|
1171
|
+
/**
|
|
1172
|
+
* API version used for this request
|
|
1173
|
+
*/
|
|
1174
|
+
version?: string;
|
|
1175
|
+
}
|
|
773
1176
|
}
|
|
774
1177
|
|
|
775
1178
|
/**
|
|
776
|
-
*
|
|
1179
|
+
* Standard API response envelope for all v3 endpoints
|
|
777
1180
|
*/
|
|
778
|
-
export interface
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
1181
|
+
export interface ProfileUpdateResponse {
|
|
1182
|
+
/**
|
|
1183
|
+
* Detailed profile response for v3 API
|
|
1184
|
+
*/
|
|
1185
|
+
data?: ProfileUpdateResponse.Data | null;
|
|
782
1186
|
|
|
783
1187
|
/**
|
|
784
|
-
*
|
|
1188
|
+
* Error information
|
|
785
1189
|
*/
|
|
786
|
-
|
|
1190
|
+
error?: ProfileUpdateResponse.Error | null;
|
|
787
1191
|
|
|
788
1192
|
/**
|
|
789
|
-
*
|
|
1193
|
+
* Request and response metadata
|
|
790
1194
|
*/
|
|
791
|
-
|
|
1195
|
+
meta?: ProfileUpdateResponse.Meta;
|
|
792
1196
|
|
|
793
1197
|
/**
|
|
794
|
-
*
|
|
1198
|
+
* Indicates whether the request was successful
|
|
795
1199
|
*/
|
|
796
|
-
|
|
1200
|
+
success?: boolean;
|
|
1201
|
+
}
|
|
797
1202
|
|
|
1203
|
+
export namespace ProfileUpdateResponse {
|
|
798
1204
|
/**
|
|
799
|
-
*
|
|
1205
|
+
* Detailed profile response for v3 API
|
|
800
1206
|
*/
|
|
801
|
-
|
|
1207
|
+
export interface Data {
|
|
1208
|
+
/**
|
|
1209
|
+
* Profile unique identifier
|
|
1210
|
+
*/
|
|
1211
|
+
id?: string;
|
|
1212
|
+
|
|
1213
|
+
/**
|
|
1214
|
+
* Whether contacts are shared across profiles in the organization
|
|
1215
|
+
*/
|
|
1216
|
+
allow_contact_sharing?: boolean;
|
|
1217
|
+
|
|
1218
|
+
/**
|
|
1219
|
+
* Whether number changes are allowed during onboarding
|
|
1220
|
+
*/
|
|
1221
|
+
allow_number_change_during_onboarding?: boolean | null;
|
|
1222
|
+
|
|
1223
|
+
/**
|
|
1224
|
+
* Whether templates are shared across profiles in the organization
|
|
1225
|
+
*/
|
|
1226
|
+
allow_template_sharing?: boolean;
|
|
1227
|
+
|
|
1228
|
+
/**
|
|
1229
|
+
* Billing contact info returned in profile responses
|
|
1230
|
+
*/
|
|
1231
|
+
billing_contact?: Data.BillingContact | null;
|
|
1232
|
+
|
|
1233
|
+
/**
|
|
1234
|
+
* Billing model: profile, organization, or profile_and_organization
|
|
1235
|
+
*/
|
|
1236
|
+
billing_model?: string;
|
|
1237
|
+
|
|
1238
|
+
/**
|
|
1239
|
+
* Brand response with nested contact, business, and compliance sections — mirrors
|
|
1240
|
+
* the request structure.
|
|
1241
|
+
*/
|
|
1242
|
+
brand?: Data.Brand | null;
|
|
1243
|
+
|
|
1244
|
+
/**
|
|
1245
|
+
* When the profile was created
|
|
1246
|
+
*/
|
|
1247
|
+
created_at?: string;
|
|
1248
|
+
|
|
1249
|
+
/**
|
|
1250
|
+
* Profile description
|
|
1251
|
+
*/
|
|
1252
|
+
description?: string | null;
|
|
1253
|
+
|
|
1254
|
+
/**
|
|
1255
|
+
* Profile email (inherited from organization)
|
|
1256
|
+
*/
|
|
1257
|
+
email?: string | null;
|
|
1258
|
+
|
|
1259
|
+
/**
|
|
1260
|
+
* Profile icon URL
|
|
1261
|
+
*/
|
|
1262
|
+
icon?: string | null;
|
|
1263
|
+
|
|
1264
|
+
/**
|
|
1265
|
+
* Whether this profile inherits contacts from the organization
|
|
1266
|
+
*/
|
|
1267
|
+
inherit_contacts?: boolean;
|
|
1268
|
+
|
|
1269
|
+
/**
|
|
1270
|
+
* Whether this profile inherits TCR brand from the organization
|
|
1271
|
+
*/
|
|
1272
|
+
inherit_tcr_brand?: boolean;
|
|
1273
|
+
|
|
1274
|
+
/**
|
|
1275
|
+
* Whether this profile inherits TCR campaign from the organization
|
|
1276
|
+
*/
|
|
1277
|
+
inherit_tcr_campaign?: boolean;
|
|
1278
|
+
|
|
1279
|
+
/**
|
|
1280
|
+
* Whether this profile inherits templates from the organization
|
|
1281
|
+
*/
|
|
1282
|
+
inherit_templates?: boolean;
|
|
1283
|
+
|
|
1284
|
+
/**
|
|
1285
|
+
* Profile name
|
|
1286
|
+
*/
|
|
1287
|
+
name?: string;
|
|
1288
|
+
|
|
1289
|
+
/**
|
|
1290
|
+
* Parent organization ID
|
|
1291
|
+
*/
|
|
1292
|
+
organization_id?: string | null;
|
|
1293
|
+
|
|
1294
|
+
/**
|
|
1295
|
+
* Direct SMS phone number
|
|
1296
|
+
*/
|
|
1297
|
+
sending_phone_number?: string | null;
|
|
1298
|
+
|
|
1299
|
+
/**
|
|
1300
|
+
* Reference to another profile for SMS/Telnyx configuration
|
|
1301
|
+
*/
|
|
1302
|
+
sending_phone_number_profile_id?: string | null;
|
|
1303
|
+
|
|
1304
|
+
/**
|
|
1305
|
+
* Reference to another profile for WhatsApp configuration
|
|
1306
|
+
*/
|
|
1307
|
+
sending_whatsapp_number_profile_id?: string | null;
|
|
1308
|
+
|
|
1309
|
+
/**
|
|
1310
|
+
* Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
|
|
1311
|
+
* only, with at least one letter.
|
|
1312
|
+
*/
|
|
1313
|
+
short_name?: string | null;
|
|
1314
|
+
|
|
1315
|
+
/**
|
|
1316
|
+
* Profile setup status: incomplete, pending_review, approved, rejected
|
|
1317
|
+
*/
|
|
1318
|
+
status?: string;
|
|
1319
|
+
|
|
1320
|
+
/**
|
|
1321
|
+
* When the profile was last updated
|
|
1322
|
+
*/
|
|
1323
|
+
updated_at?: string | null;
|
|
1324
|
+
|
|
1325
|
+
/**
|
|
1326
|
+
* WhatsApp Business Account ID associated with this profile. Present whether the
|
|
1327
|
+
* WABA is inherited from the organization or configured directly.
|
|
1328
|
+
*/
|
|
1329
|
+
waba_id?: string | null;
|
|
1330
|
+
|
|
1331
|
+
/**
|
|
1332
|
+
* Direct WhatsApp phone number
|
|
1333
|
+
*/
|
|
1334
|
+
whatsapp_phone_number?: string | null;
|
|
1335
|
+
}
|
|
1336
|
+
|
|
1337
|
+
export namespace Data {
|
|
1338
|
+
/**
|
|
1339
|
+
* Billing contact info returned in profile responses
|
|
1340
|
+
*/
|
|
1341
|
+
export interface BillingContact {
|
|
1342
|
+
address?: string | null;
|
|
1343
|
+
|
|
1344
|
+
email?: string | null;
|
|
1345
|
+
|
|
1346
|
+
name?: string | null;
|
|
1347
|
+
|
|
1348
|
+
phone?: string | null;
|
|
1349
|
+
}
|
|
1350
|
+
|
|
1351
|
+
/**
|
|
1352
|
+
* Brand response with nested contact, business, and compliance sections — mirrors
|
|
1353
|
+
* the request structure.
|
|
1354
|
+
*/
|
|
1355
|
+
export interface Brand {
|
|
1356
|
+
/**
|
|
1357
|
+
* Unique identifier for the brand
|
|
1358
|
+
*/
|
|
1359
|
+
id?: string;
|
|
1360
|
+
|
|
1361
|
+
/**
|
|
1362
|
+
* Business details and address information
|
|
1363
|
+
*/
|
|
1364
|
+
business?: Brand.Business | null;
|
|
1365
|
+
|
|
1366
|
+
/**
|
|
1367
|
+
* Compliance and TCR-related information
|
|
1368
|
+
*/
|
|
1369
|
+
compliance?: Brand.Compliance | null;
|
|
1370
|
+
|
|
1371
|
+
/**
|
|
1372
|
+
* Contact information for the brand
|
|
1373
|
+
*/
|
|
1374
|
+
contact?: Brand.Contact | null;
|
|
1375
|
+
|
|
1376
|
+
/**
|
|
1377
|
+
* When the brand was created
|
|
1378
|
+
*/
|
|
1379
|
+
created_at?: string;
|
|
1380
|
+
|
|
1381
|
+
/**
|
|
1382
|
+
* CSP (Campaign Service Provider) ID
|
|
1383
|
+
*/
|
|
1384
|
+
csp_id?: string | null;
|
|
1385
|
+
|
|
1386
|
+
identity_status?: 'SELF_DECLARED' | 'UNVERIFIED' | 'VERIFIED' | 'VETTED_VERIFIED' | null;
|
|
1387
|
+
|
|
1388
|
+
/**
|
|
1389
|
+
* Whether this brand is inherited from the parent organization
|
|
1390
|
+
*/
|
|
1391
|
+
is_inherited?: boolean;
|
|
1392
|
+
|
|
1393
|
+
status?: 'ACTIVE' | 'INACTIVE' | 'SUSPENDED' | null;
|
|
1394
|
+
|
|
1395
|
+
/**
|
|
1396
|
+
* When the brand was submitted to TCR
|
|
1397
|
+
*/
|
|
1398
|
+
submitted_at?: string | null;
|
|
1399
|
+
|
|
1400
|
+
/**
|
|
1401
|
+
* Whether this brand has been submitted to TCR
|
|
1402
|
+
*/
|
|
1403
|
+
submitted_to_tcr?: boolean;
|
|
1404
|
+
|
|
1405
|
+
/**
|
|
1406
|
+
* TCR brand ID (populated after TCR submission)
|
|
1407
|
+
*/
|
|
1408
|
+
tcr_brand_id?: string | null;
|
|
1409
|
+
|
|
1410
|
+
/**
|
|
1411
|
+
* Universal EIN from TCR
|
|
1412
|
+
*/
|
|
1413
|
+
universal_ein?: string | null;
|
|
1414
|
+
|
|
1415
|
+
/**
|
|
1416
|
+
* When the brand was last updated
|
|
1417
|
+
*/
|
|
1418
|
+
updated_at?: string | null;
|
|
1419
|
+
}
|
|
1420
|
+
|
|
1421
|
+
export namespace Brand {
|
|
1422
|
+
/**
|
|
1423
|
+
* Business details and address information
|
|
1424
|
+
*/
|
|
1425
|
+
export interface Business {
|
|
1426
|
+
/**
|
|
1427
|
+
* City
|
|
1428
|
+
*/
|
|
1429
|
+
city?: string | null;
|
|
1430
|
+
|
|
1431
|
+
/**
|
|
1432
|
+
* Country code (e.g., US, CA)
|
|
1433
|
+
*/
|
|
1434
|
+
country?: string | null;
|
|
1435
|
+
|
|
1436
|
+
/**
|
|
1437
|
+
* Country where the business is registered
|
|
1438
|
+
*/
|
|
1439
|
+
country_of_registration?: string | null;
|
|
1440
|
+
|
|
1441
|
+
/**
|
|
1442
|
+
* Business entity type
|
|
1443
|
+
*/
|
|
1444
|
+
entity_type?: string | null;
|
|
1445
|
+
|
|
1446
|
+
/**
|
|
1447
|
+
* Legal business name
|
|
1448
|
+
*/
|
|
1449
|
+
legal_name?: string | null;
|
|
1450
|
+
|
|
1451
|
+
/**
|
|
1452
|
+
* Postal/ZIP code
|
|
1453
|
+
*/
|
|
1454
|
+
postal_code?: string | null;
|
|
1455
|
+
|
|
1456
|
+
/**
|
|
1457
|
+
* State/province code
|
|
1458
|
+
*/
|
|
1459
|
+
state?: string | null;
|
|
1460
|
+
|
|
1461
|
+
/**
|
|
1462
|
+
* Street address
|
|
1463
|
+
*/
|
|
1464
|
+
street?: string | null;
|
|
1465
|
+
|
|
1466
|
+
/**
|
|
1467
|
+
* Tax ID/EIN number
|
|
1468
|
+
*/
|
|
1469
|
+
tax_id?: string | null;
|
|
1470
|
+
|
|
1471
|
+
/**
|
|
1472
|
+
* Type of tax ID (e.g., us_ein, ca_bn)
|
|
1473
|
+
*/
|
|
1474
|
+
tax_id_type?: string | null;
|
|
1475
|
+
|
|
1476
|
+
/**
|
|
1477
|
+
* Business website URL
|
|
1478
|
+
*/
|
|
1479
|
+
url?: string | null;
|
|
1480
|
+
}
|
|
1481
|
+
|
|
1482
|
+
/**
|
|
1483
|
+
* Compliance and TCR-related information
|
|
1484
|
+
*/
|
|
1485
|
+
export interface Compliance {
|
|
1486
|
+
brand_relationship?:
|
|
1487
|
+
| 'BASIC_ACCOUNT'
|
|
1488
|
+
| 'MEDIUM_ACCOUNT'
|
|
1489
|
+
| 'LARGE_ACCOUNT'
|
|
1490
|
+
| 'SMALL_ACCOUNT'
|
|
1491
|
+
| 'KEY_ACCOUNT'
|
|
1492
|
+
| null;
|
|
1493
|
+
|
|
1494
|
+
/**
|
|
1495
|
+
* List of destination countries for messaging
|
|
1496
|
+
*/
|
|
1497
|
+
destination_countries?: Array<Compliance.DestinationCountry>;
|
|
1498
|
+
|
|
1499
|
+
/**
|
|
1500
|
+
* Expected daily messaging volume
|
|
1501
|
+
*/
|
|
1502
|
+
expected_messaging_volume?: string | null;
|
|
1503
|
+
|
|
1504
|
+
/**
|
|
1505
|
+
* Whether this is a TCR (Campaign Registry) application
|
|
1506
|
+
*/
|
|
1507
|
+
is_tcr_application?: boolean;
|
|
1508
|
+
|
|
1509
|
+
/**
|
|
1510
|
+
* Additional notes about the business or use case
|
|
1511
|
+
*/
|
|
1512
|
+
notes?: string | null;
|
|
1513
|
+
|
|
1514
|
+
/**
|
|
1515
|
+
* Phone number prefix for messaging (e.g., "+1")
|
|
1516
|
+
*/
|
|
1517
|
+
phone_number_prefix?: string | null;
|
|
1518
|
+
|
|
1519
|
+
/**
|
|
1520
|
+
* Primary messaging use case description
|
|
1521
|
+
*/
|
|
1522
|
+
primary_use_case?: string | null;
|
|
1523
|
+
|
|
1524
|
+
vertical?:
|
|
1525
|
+
| 'PROFESSIONAL'
|
|
1526
|
+
| 'REAL_ESTATE'
|
|
1527
|
+
| 'HEALTHCARE'
|
|
1528
|
+
| 'HUMAN_RESOURCES'
|
|
1529
|
+
| 'ENERGY'
|
|
1530
|
+
| 'ENTERTAINMENT'
|
|
1531
|
+
| 'RETAIL'
|
|
1532
|
+
| 'TRANSPORTATION'
|
|
1533
|
+
| 'AGRICULTURE'
|
|
1534
|
+
| 'INSURANCE'
|
|
1535
|
+
| 'POSTAL'
|
|
1536
|
+
| 'EDUCATION'
|
|
1537
|
+
| 'HOSPITALITY'
|
|
1538
|
+
| 'FINANCIAL'
|
|
1539
|
+
| 'POLITICAL'
|
|
1540
|
+
| 'GAMBLING'
|
|
1541
|
+
| 'LEGAL'
|
|
1542
|
+
| 'CONSTRUCTION'
|
|
1543
|
+
| 'NGO'
|
|
1544
|
+
| 'MANUFACTURING'
|
|
1545
|
+
| 'GOVERNMENT'
|
|
1546
|
+
| 'TECHNOLOGY'
|
|
1547
|
+
| 'COMMUNICATION'
|
|
1548
|
+
| null;
|
|
1549
|
+
}
|
|
1550
|
+
|
|
1551
|
+
export namespace Compliance {
|
|
1552
|
+
export interface DestinationCountry {
|
|
1553
|
+
id?: string;
|
|
1554
|
+
|
|
1555
|
+
isMain?: boolean;
|
|
1556
|
+
}
|
|
1557
|
+
}
|
|
1558
|
+
|
|
1559
|
+
/**
|
|
1560
|
+
* Contact information for the brand
|
|
1561
|
+
*/
|
|
1562
|
+
export interface Contact {
|
|
1563
|
+
/**
|
|
1564
|
+
* Business/brand name
|
|
1565
|
+
*/
|
|
1566
|
+
business_name?: string | null;
|
|
1567
|
+
|
|
1568
|
+
/**
|
|
1569
|
+
* Contact email address
|
|
1570
|
+
*/
|
|
1571
|
+
email?: string | null;
|
|
1572
|
+
|
|
1573
|
+
/**
|
|
1574
|
+
* Primary contact name
|
|
1575
|
+
*/
|
|
1576
|
+
name?: string;
|
|
1577
|
+
|
|
1578
|
+
/**
|
|
1579
|
+
* Contact phone number in E.164 format
|
|
1580
|
+
*/
|
|
1581
|
+
phone?: string | null;
|
|
1582
|
+
|
|
1583
|
+
/**
|
|
1584
|
+
* Contact phone country code (e.g., "1" for US)
|
|
1585
|
+
*/
|
|
1586
|
+
phone_country_code?: string | null;
|
|
1587
|
+
|
|
1588
|
+
/**
|
|
1589
|
+
* Contact's role in the business
|
|
1590
|
+
*/
|
|
1591
|
+
role?: string | null;
|
|
1592
|
+
}
|
|
1593
|
+
}
|
|
1594
|
+
}
|
|
802
1595
|
|
|
803
1596
|
/**
|
|
804
|
-
*
|
|
1597
|
+
* Error information
|
|
805
1598
|
*/
|
|
806
|
-
|
|
1599
|
+
export interface Error {
|
|
1600
|
+
/**
|
|
1601
|
+
* Machine-readable error code (e.g., "RESOURCE_001")
|
|
1602
|
+
*/
|
|
1603
|
+
code?: string;
|
|
1604
|
+
|
|
1605
|
+
/**
|
|
1606
|
+
* Additional validation error details (field-level errors)
|
|
1607
|
+
*/
|
|
1608
|
+
details?: { [key: string]: Array<string> } | null;
|
|
1609
|
+
|
|
1610
|
+
/**
|
|
1611
|
+
* URL to documentation about this error
|
|
1612
|
+
*/
|
|
1613
|
+
doc_url?: string | null;
|
|
1614
|
+
|
|
1615
|
+
/**
|
|
1616
|
+
* Human-readable error message
|
|
1617
|
+
*/
|
|
1618
|
+
message?: string;
|
|
1619
|
+
}
|
|
807
1620
|
|
|
808
1621
|
/**
|
|
809
|
-
*
|
|
1622
|
+
* Request and response metadata
|
|
810
1623
|
*/
|
|
811
|
-
|
|
1624
|
+
export interface Meta {
|
|
1625
|
+
/**
|
|
1626
|
+
* Unique identifier for this request (for tracing and support)
|
|
1627
|
+
*/
|
|
1628
|
+
request_id?: string;
|
|
1629
|
+
|
|
1630
|
+
/**
|
|
1631
|
+
* Server timestamp when the response was generated
|
|
1632
|
+
*/
|
|
1633
|
+
timestamp?: string;
|
|
1634
|
+
|
|
1635
|
+
/**
|
|
1636
|
+
* API version used for this request
|
|
1637
|
+
*/
|
|
1638
|
+
version?: string;
|
|
1639
|
+
}
|
|
812
1640
|
}
|
|
813
1641
|
|
|
814
1642
|
/**
|
|
815
|
-
*
|
|
1643
|
+
* Standard API response envelope for all v3 endpoints
|
|
816
1644
|
*/
|
|
817
|
-
export interface
|
|
1645
|
+
export interface ProfileListResponse {
|
|
1646
|
+
/**
|
|
1647
|
+
* List of profiles response
|
|
1648
|
+
*/
|
|
1649
|
+
data?: ProfileListResponse.Data | null;
|
|
1650
|
+
|
|
818
1651
|
/**
|
|
819
|
-
*
|
|
1652
|
+
* Error information
|
|
820
1653
|
*/
|
|
821
|
-
|
|
1654
|
+
error?: ProfileListResponse.Error | null;
|
|
822
1655
|
|
|
823
1656
|
/**
|
|
824
|
-
*
|
|
1657
|
+
* Request and response metadata
|
|
825
1658
|
*/
|
|
826
|
-
|
|
1659
|
+
meta?: ProfileListResponse.Meta;
|
|
827
1660
|
|
|
828
1661
|
/**
|
|
829
|
-
*
|
|
1662
|
+
* Indicates whether the request was successful
|
|
830
1663
|
*/
|
|
831
|
-
|
|
1664
|
+
success?: boolean;
|
|
1665
|
+
}
|
|
832
1666
|
|
|
1667
|
+
export namespace ProfileListResponse {
|
|
833
1668
|
/**
|
|
834
|
-
*
|
|
1669
|
+
* List of profiles response
|
|
835
1670
|
*/
|
|
836
|
-
|
|
1671
|
+
export interface Data {
|
|
1672
|
+
/**
|
|
1673
|
+
* List of profiles in the organization
|
|
1674
|
+
*/
|
|
1675
|
+
profiles?: Array<Data.Profile>;
|
|
1676
|
+
}
|
|
1677
|
+
|
|
1678
|
+
export namespace Data {
|
|
1679
|
+
/**
|
|
1680
|
+
* Detailed profile response for v3 API
|
|
1681
|
+
*/
|
|
1682
|
+
export interface Profile {
|
|
1683
|
+
/**
|
|
1684
|
+
* Profile unique identifier
|
|
1685
|
+
*/
|
|
1686
|
+
id?: string;
|
|
1687
|
+
|
|
1688
|
+
/**
|
|
1689
|
+
* Whether contacts are shared across profiles in the organization
|
|
1690
|
+
*/
|
|
1691
|
+
allow_contact_sharing?: boolean;
|
|
1692
|
+
|
|
1693
|
+
/**
|
|
1694
|
+
* Whether number changes are allowed during onboarding
|
|
1695
|
+
*/
|
|
1696
|
+
allow_number_change_during_onboarding?: boolean | null;
|
|
1697
|
+
|
|
1698
|
+
/**
|
|
1699
|
+
* Whether templates are shared across profiles in the organization
|
|
1700
|
+
*/
|
|
1701
|
+
allow_template_sharing?: boolean;
|
|
1702
|
+
|
|
1703
|
+
/**
|
|
1704
|
+
* Billing contact info returned in profile responses
|
|
1705
|
+
*/
|
|
1706
|
+
billing_contact?: Profile.BillingContact | null;
|
|
1707
|
+
|
|
1708
|
+
/**
|
|
1709
|
+
* Billing model: profile, organization, or profile_and_organization
|
|
1710
|
+
*/
|
|
1711
|
+
billing_model?: string;
|
|
1712
|
+
|
|
1713
|
+
/**
|
|
1714
|
+
* Brand response with nested contact, business, and compliance sections — mirrors
|
|
1715
|
+
* the request structure.
|
|
1716
|
+
*/
|
|
1717
|
+
brand?: Profile.Brand | null;
|
|
1718
|
+
|
|
1719
|
+
/**
|
|
1720
|
+
* When the profile was created
|
|
1721
|
+
*/
|
|
1722
|
+
created_at?: string;
|
|
1723
|
+
|
|
1724
|
+
/**
|
|
1725
|
+
* Profile description
|
|
1726
|
+
*/
|
|
1727
|
+
description?: string | null;
|
|
1728
|
+
|
|
1729
|
+
/**
|
|
1730
|
+
* Profile email (inherited from organization)
|
|
1731
|
+
*/
|
|
1732
|
+
email?: string | null;
|
|
1733
|
+
|
|
1734
|
+
/**
|
|
1735
|
+
* Profile icon URL
|
|
1736
|
+
*/
|
|
1737
|
+
icon?: string | null;
|
|
1738
|
+
|
|
1739
|
+
/**
|
|
1740
|
+
* Whether this profile inherits contacts from the organization
|
|
1741
|
+
*/
|
|
1742
|
+
inherit_contacts?: boolean;
|
|
1743
|
+
|
|
1744
|
+
/**
|
|
1745
|
+
* Whether this profile inherits TCR brand from the organization
|
|
1746
|
+
*/
|
|
1747
|
+
inherit_tcr_brand?: boolean;
|
|
1748
|
+
|
|
1749
|
+
/**
|
|
1750
|
+
* Whether this profile inherits TCR campaign from the organization
|
|
1751
|
+
*/
|
|
1752
|
+
inherit_tcr_campaign?: boolean;
|
|
1753
|
+
|
|
1754
|
+
/**
|
|
1755
|
+
* Whether this profile inherits templates from the organization
|
|
1756
|
+
*/
|
|
1757
|
+
inherit_templates?: boolean;
|
|
1758
|
+
|
|
1759
|
+
/**
|
|
1760
|
+
* Profile name
|
|
1761
|
+
*/
|
|
1762
|
+
name?: string;
|
|
1763
|
+
|
|
1764
|
+
/**
|
|
1765
|
+
* Parent organization ID
|
|
1766
|
+
*/
|
|
1767
|
+
organization_id?: string | null;
|
|
1768
|
+
|
|
1769
|
+
/**
|
|
1770
|
+
* Direct SMS phone number
|
|
1771
|
+
*/
|
|
1772
|
+
sending_phone_number?: string | null;
|
|
1773
|
+
|
|
1774
|
+
/**
|
|
1775
|
+
* Reference to another profile for SMS/Telnyx configuration
|
|
1776
|
+
*/
|
|
1777
|
+
sending_phone_number_profile_id?: string | null;
|
|
1778
|
+
|
|
1779
|
+
/**
|
|
1780
|
+
* Reference to another profile for WhatsApp configuration
|
|
1781
|
+
*/
|
|
1782
|
+
sending_whatsapp_number_profile_id?: string | null;
|
|
1783
|
+
|
|
1784
|
+
/**
|
|
1785
|
+
* Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
|
|
1786
|
+
* only, with at least one letter.
|
|
1787
|
+
*/
|
|
1788
|
+
short_name?: string | null;
|
|
1789
|
+
|
|
1790
|
+
/**
|
|
1791
|
+
* Profile setup status: incomplete, pending_review, approved, rejected
|
|
1792
|
+
*/
|
|
1793
|
+
status?: string;
|
|
1794
|
+
|
|
1795
|
+
/**
|
|
1796
|
+
* When the profile was last updated
|
|
1797
|
+
*/
|
|
1798
|
+
updated_at?: string | null;
|
|
1799
|
+
|
|
1800
|
+
/**
|
|
1801
|
+
* WhatsApp Business Account ID associated with this profile. Present whether the
|
|
1802
|
+
* WABA is inherited from the organization or configured directly.
|
|
1803
|
+
*/
|
|
1804
|
+
waba_id?: string | null;
|
|
1805
|
+
|
|
1806
|
+
/**
|
|
1807
|
+
* Direct WhatsApp phone number
|
|
1808
|
+
*/
|
|
1809
|
+
whatsapp_phone_number?: string | null;
|
|
1810
|
+
}
|
|
1811
|
+
|
|
1812
|
+
export namespace Profile {
|
|
1813
|
+
/**
|
|
1814
|
+
* Billing contact info returned in profile responses
|
|
1815
|
+
*/
|
|
1816
|
+
export interface BillingContact {
|
|
1817
|
+
address?: string | null;
|
|
837
1818
|
|
|
838
|
-
|
|
839
|
-
* Contact phone country code (e.g., "1" for US)
|
|
840
|
-
*/
|
|
841
|
-
phoneCountryCode?: string | null;
|
|
1819
|
+
email?: string | null;
|
|
842
1820
|
|
|
843
|
-
|
|
844
|
-
* Contact's role in the business
|
|
845
|
-
*/
|
|
846
|
-
role?: string | null;
|
|
847
|
-
}
|
|
1821
|
+
name?: string | null;
|
|
848
1822
|
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
| 'MEDIUM_ACCOUNT'
|
|
852
|
-
| 'LARGE_ACCOUNT'
|
|
853
|
-
| 'SMALL_ACCOUNT'
|
|
854
|
-
| 'KEY_ACCOUNT';
|
|
855
|
-
|
|
856
|
-
export type TcrVertical =
|
|
857
|
-
| 'PROFESSIONAL'
|
|
858
|
-
| 'REAL_ESTATE'
|
|
859
|
-
| 'HEALTHCARE'
|
|
860
|
-
| 'HUMAN_RESOURCES'
|
|
861
|
-
| 'ENERGY'
|
|
862
|
-
| 'ENTERTAINMENT'
|
|
863
|
-
| 'RETAIL'
|
|
864
|
-
| 'TRANSPORTATION'
|
|
865
|
-
| 'AGRICULTURE'
|
|
866
|
-
| 'INSURANCE'
|
|
867
|
-
| 'POSTAL'
|
|
868
|
-
| 'EDUCATION'
|
|
869
|
-
| 'HOSPITALITY'
|
|
870
|
-
| 'FINANCIAL'
|
|
871
|
-
| 'POLITICAL'
|
|
872
|
-
| 'GAMBLING'
|
|
873
|
-
| 'LEGAL'
|
|
874
|
-
| 'CONSTRUCTION'
|
|
875
|
-
| 'NGO'
|
|
876
|
-
| 'MANUFACTURING'
|
|
877
|
-
| 'GOVERNMENT'
|
|
878
|
-
| 'TECHNOLOGY'
|
|
879
|
-
| 'COMMUNICATION';
|
|
1823
|
+
phone?: string | null;
|
|
1824
|
+
}
|
|
880
1825
|
|
|
881
|
-
/**
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
1826
|
+
/**
|
|
1827
|
+
* Brand response with nested contact, business, and compliance sections — mirrors
|
|
1828
|
+
* the request structure.
|
|
1829
|
+
*/
|
|
1830
|
+
export interface Brand {
|
|
1831
|
+
/**
|
|
1832
|
+
* Unique identifier for the brand
|
|
1833
|
+
*/
|
|
1834
|
+
id?: string;
|
|
1835
|
+
|
|
1836
|
+
/**
|
|
1837
|
+
* Business details and address information
|
|
1838
|
+
*/
|
|
1839
|
+
business?: Brand.Business | null;
|
|
1840
|
+
|
|
1841
|
+
/**
|
|
1842
|
+
* Compliance and TCR-related information
|
|
1843
|
+
*/
|
|
1844
|
+
compliance?: Brand.Compliance | null;
|
|
1845
|
+
|
|
1846
|
+
/**
|
|
1847
|
+
* Contact information for the brand
|
|
1848
|
+
*/
|
|
1849
|
+
contact?: Brand.Contact | null;
|
|
1850
|
+
|
|
1851
|
+
/**
|
|
1852
|
+
* When the brand was created
|
|
1853
|
+
*/
|
|
1854
|
+
created_at?: string;
|
|
1855
|
+
|
|
1856
|
+
/**
|
|
1857
|
+
* CSP (Campaign Service Provider) ID
|
|
1858
|
+
*/
|
|
1859
|
+
csp_id?: string | null;
|
|
1860
|
+
|
|
1861
|
+
identity_status?: 'SELF_DECLARED' | 'UNVERIFIED' | 'VERIFIED' | 'VETTED_VERIFIED' | null;
|
|
1862
|
+
|
|
1863
|
+
/**
|
|
1864
|
+
* Whether this brand is inherited from the parent organization
|
|
1865
|
+
*/
|
|
1866
|
+
is_inherited?: boolean;
|
|
1867
|
+
|
|
1868
|
+
status?: 'ACTIVE' | 'INACTIVE' | 'SUSPENDED' | null;
|
|
1869
|
+
|
|
1870
|
+
/**
|
|
1871
|
+
* When the brand was submitted to TCR
|
|
1872
|
+
*/
|
|
1873
|
+
submitted_at?: string | null;
|
|
1874
|
+
|
|
1875
|
+
/**
|
|
1876
|
+
* Whether this brand has been submitted to TCR
|
|
1877
|
+
*/
|
|
1878
|
+
submitted_to_tcr?: boolean;
|
|
1879
|
+
|
|
1880
|
+
/**
|
|
1881
|
+
* TCR brand ID (populated after TCR submission)
|
|
1882
|
+
*/
|
|
1883
|
+
tcr_brand_id?: string | null;
|
|
1884
|
+
|
|
1885
|
+
/**
|
|
1886
|
+
* Universal EIN from TCR
|
|
1887
|
+
*/
|
|
1888
|
+
universal_ein?: string | null;
|
|
1889
|
+
|
|
1890
|
+
/**
|
|
1891
|
+
* When the brand was last updated
|
|
1892
|
+
*/
|
|
1893
|
+
updated_at?: string | null;
|
|
1894
|
+
}
|
|
1895
|
+
|
|
1896
|
+
export namespace Brand {
|
|
1897
|
+
/**
|
|
1898
|
+
* Business details and address information
|
|
1899
|
+
*/
|
|
1900
|
+
export interface Business {
|
|
1901
|
+
/**
|
|
1902
|
+
* City
|
|
1903
|
+
*/
|
|
1904
|
+
city?: string | null;
|
|
1905
|
+
|
|
1906
|
+
/**
|
|
1907
|
+
* Country code (e.g., US, CA)
|
|
1908
|
+
*/
|
|
1909
|
+
country?: string | null;
|
|
1910
|
+
|
|
1911
|
+
/**
|
|
1912
|
+
* Country where the business is registered
|
|
1913
|
+
*/
|
|
1914
|
+
country_of_registration?: string | null;
|
|
1915
|
+
|
|
1916
|
+
/**
|
|
1917
|
+
* Business entity type
|
|
1918
|
+
*/
|
|
1919
|
+
entity_type?: string | null;
|
|
1920
|
+
|
|
1921
|
+
/**
|
|
1922
|
+
* Legal business name
|
|
1923
|
+
*/
|
|
1924
|
+
legal_name?: string | null;
|
|
1925
|
+
|
|
1926
|
+
/**
|
|
1927
|
+
* Postal/ZIP code
|
|
1928
|
+
*/
|
|
1929
|
+
postal_code?: string | null;
|
|
1930
|
+
|
|
1931
|
+
/**
|
|
1932
|
+
* State/province code
|
|
1933
|
+
*/
|
|
1934
|
+
state?: string | null;
|
|
1935
|
+
|
|
1936
|
+
/**
|
|
1937
|
+
* Street address
|
|
1938
|
+
*/
|
|
1939
|
+
street?: string | null;
|
|
1940
|
+
|
|
1941
|
+
/**
|
|
1942
|
+
* Tax ID/EIN number
|
|
1943
|
+
*/
|
|
1944
|
+
tax_id?: string | null;
|
|
1945
|
+
|
|
1946
|
+
/**
|
|
1947
|
+
* Type of tax ID (e.g., us_ein, ca_bn)
|
|
1948
|
+
*/
|
|
1949
|
+
tax_id_type?: string | null;
|
|
1950
|
+
|
|
1951
|
+
/**
|
|
1952
|
+
* Business website URL
|
|
1953
|
+
*/
|
|
1954
|
+
url?: string | null;
|
|
1955
|
+
}
|
|
1956
|
+
|
|
1957
|
+
/**
|
|
1958
|
+
* Compliance and TCR-related information
|
|
1959
|
+
*/
|
|
1960
|
+
export interface Compliance {
|
|
1961
|
+
brand_relationship?:
|
|
1962
|
+
| 'BASIC_ACCOUNT'
|
|
1963
|
+
| 'MEDIUM_ACCOUNT'
|
|
1964
|
+
| 'LARGE_ACCOUNT'
|
|
1965
|
+
| 'SMALL_ACCOUNT'
|
|
1966
|
+
| 'KEY_ACCOUNT'
|
|
1967
|
+
| null;
|
|
1968
|
+
|
|
1969
|
+
/**
|
|
1970
|
+
* List of destination countries for messaging
|
|
1971
|
+
*/
|
|
1972
|
+
destination_countries?: Array<Compliance.DestinationCountry>;
|
|
1973
|
+
|
|
1974
|
+
/**
|
|
1975
|
+
* Expected daily messaging volume
|
|
1976
|
+
*/
|
|
1977
|
+
expected_messaging_volume?: string | null;
|
|
1978
|
+
|
|
1979
|
+
/**
|
|
1980
|
+
* Whether this is a TCR (Campaign Registry) application
|
|
1981
|
+
*/
|
|
1982
|
+
is_tcr_application?: boolean;
|
|
1983
|
+
|
|
1984
|
+
/**
|
|
1985
|
+
* Additional notes about the business or use case
|
|
1986
|
+
*/
|
|
1987
|
+
notes?: string | null;
|
|
1988
|
+
|
|
1989
|
+
/**
|
|
1990
|
+
* Phone number prefix for messaging (e.g., "+1")
|
|
1991
|
+
*/
|
|
1992
|
+
phone_number_prefix?: string | null;
|
|
1993
|
+
|
|
1994
|
+
/**
|
|
1995
|
+
* Primary messaging use case description
|
|
1996
|
+
*/
|
|
1997
|
+
primary_use_case?: string | null;
|
|
1998
|
+
|
|
1999
|
+
vertical?:
|
|
2000
|
+
| 'PROFESSIONAL'
|
|
2001
|
+
| 'REAL_ESTATE'
|
|
2002
|
+
| 'HEALTHCARE'
|
|
2003
|
+
| 'HUMAN_RESOURCES'
|
|
2004
|
+
| 'ENERGY'
|
|
2005
|
+
| 'ENTERTAINMENT'
|
|
2006
|
+
| 'RETAIL'
|
|
2007
|
+
| 'TRANSPORTATION'
|
|
2008
|
+
| 'AGRICULTURE'
|
|
2009
|
+
| 'INSURANCE'
|
|
2010
|
+
| 'POSTAL'
|
|
2011
|
+
| 'EDUCATION'
|
|
2012
|
+
| 'HOSPITALITY'
|
|
2013
|
+
| 'FINANCIAL'
|
|
2014
|
+
| 'POLITICAL'
|
|
2015
|
+
| 'GAMBLING'
|
|
2016
|
+
| 'LEGAL'
|
|
2017
|
+
| 'CONSTRUCTION'
|
|
2018
|
+
| 'NGO'
|
|
2019
|
+
| 'MANUFACTURING'
|
|
2020
|
+
| 'GOVERNMENT'
|
|
2021
|
+
| 'TECHNOLOGY'
|
|
2022
|
+
| 'COMMUNICATION'
|
|
2023
|
+
| null;
|
|
2024
|
+
}
|
|
2025
|
+
|
|
2026
|
+
export namespace Compliance {
|
|
2027
|
+
export interface DestinationCountry {
|
|
2028
|
+
id?: string;
|
|
2029
|
+
|
|
2030
|
+
isMain?: boolean;
|
|
2031
|
+
}
|
|
2032
|
+
}
|
|
2033
|
+
|
|
2034
|
+
/**
|
|
2035
|
+
* Contact information for the brand
|
|
2036
|
+
*/
|
|
2037
|
+
export interface Contact {
|
|
2038
|
+
/**
|
|
2039
|
+
* Business/brand name
|
|
2040
|
+
*/
|
|
2041
|
+
business_name?: string | null;
|
|
2042
|
+
|
|
2043
|
+
/**
|
|
2044
|
+
* Contact email address
|
|
2045
|
+
*/
|
|
2046
|
+
email?: string | null;
|
|
2047
|
+
|
|
2048
|
+
/**
|
|
2049
|
+
* Primary contact name
|
|
2050
|
+
*/
|
|
2051
|
+
name?: string;
|
|
2052
|
+
|
|
2053
|
+
/**
|
|
2054
|
+
* Contact phone number in E.164 format
|
|
2055
|
+
*/
|
|
2056
|
+
phone?: string | null;
|
|
2057
|
+
|
|
2058
|
+
/**
|
|
2059
|
+
* Contact phone country code (e.g., "1" for US)
|
|
2060
|
+
*/
|
|
2061
|
+
phone_country_code?: string | null;
|
|
2062
|
+
|
|
2063
|
+
/**
|
|
2064
|
+
* Contact's role in the business
|
|
2065
|
+
*/
|
|
2066
|
+
role?: string | null;
|
|
2067
|
+
}
|
|
2068
|
+
}
|
|
2069
|
+
}
|
|
2070
|
+
}
|
|
889
2071
|
|
|
890
2072
|
/**
|
|
891
2073
|
* Error information
|
|
892
2074
|
*/
|
|
893
|
-
|
|
2075
|
+
export interface Error {
|
|
2076
|
+
/**
|
|
2077
|
+
* Machine-readable error code (e.g., "RESOURCE_001")
|
|
2078
|
+
*/
|
|
2079
|
+
code?: string;
|
|
2080
|
+
|
|
2081
|
+
/**
|
|
2082
|
+
* Additional validation error details (field-level errors)
|
|
2083
|
+
*/
|
|
2084
|
+
details?: { [key: string]: Array<string> } | null;
|
|
2085
|
+
|
|
2086
|
+
/**
|
|
2087
|
+
* URL to documentation about this error
|
|
2088
|
+
*/
|
|
2089
|
+
doc_url?: string | null;
|
|
2090
|
+
|
|
2091
|
+
/**
|
|
2092
|
+
* Human-readable error message
|
|
2093
|
+
*/
|
|
2094
|
+
message?: string;
|
|
2095
|
+
}
|
|
894
2096
|
|
|
895
2097
|
/**
|
|
896
2098
|
* Request and response metadata
|
|
897
2099
|
*/
|
|
898
|
-
|
|
2100
|
+
export interface Meta {
|
|
2101
|
+
/**
|
|
2102
|
+
* Unique identifier for this request (for tracing and support)
|
|
2103
|
+
*/
|
|
2104
|
+
request_id?: string;
|
|
899
2105
|
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
}
|
|
2106
|
+
/**
|
|
2107
|
+
* Server timestamp when the response was generated
|
|
2108
|
+
*/
|
|
2109
|
+
timestamp?: string;
|
|
905
2110
|
|
|
906
|
-
export namespace ProfileListResponse {
|
|
907
|
-
/**
|
|
908
|
-
* List of profiles response
|
|
909
|
-
*/
|
|
910
|
-
export interface Data {
|
|
911
2111
|
/**
|
|
912
|
-
*
|
|
2112
|
+
* API version used for this request
|
|
913
2113
|
*/
|
|
914
|
-
|
|
2114
|
+
version?: string;
|
|
915
2115
|
}
|
|
916
2116
|
}
|
|
917
2117
|
|
|
@@ -928,12 +2128,12 @@ export interface ProfileCompleteResponse {
|
|
|
928
2128
|
/**
|
|
929
2129
|
* Error information
|
|
930
2130
|
*/
|
|
931
|
-
error?:
|
|
2131
|
+
error?: ProfileCompleteResponse.Error | null;
|
|
932
2132
|
|
|
933
2133
|
/**
|
|
934
2134
|
* Request and response metadata
|
|
935
2135
|
*/
|
|
936
|
-
meta?:
|
|
2136
|
+
meta?: ProfileCompleteResponse.Meta;
|
|
937
2137
|
|
|
938
2138
|
/**
|
|
939
2139
|
* Indicates whether the request was successful
|
|
@@ -958,6 +2158,51 @@ export namespace ProfileCompleteResponse {
|
|
|
958
2158
|
*/
|
|
959
2159
|
status?: string;
|
|
960
2160
|
}
|
|
2161
|
+
|
|
2162
|
+
/**
|
|
2163
|
+
* Error information
|
|
2164
|
+
*/
|
|
2165
|
+
export interface Error {
|
|
2166
|
+
/**
|
|
2167
|
+
* Machine-readable error code (e.g., "RESOURCE_001")
|
|
2168
|
+
*/
|
|
2169
|
+
code?: string;
|
|
2170
|
+
|
|
2171
|
+
/**
|
|
2172
|
+
* Additional validation error details (field-level errors)
|
|
2173
|
+
*/
|
|
2174
|
+
details?: { [key: string]: Array<string> } | null;
|
|
2175
|
+
|
|
2176
|
+
/**
|
|
2177
|
+
* URL to documentation about this error
|
|
2178
|
+
*/
|
|
2179
|
+
doc_url?: string | null;
|
|
2180
|
+
|
|
2181
|
+
/**
|
|
2182
|
+
* Human-readable error message
|
|
2183
|
+
*/
|
|
2184
|
+
message?: string;
|
|
2185
|
+
}
|
|
2186
|
+
|
|
2187
|
+
/**
|
|
2188
|
+
* Request and response metadata
|
|
2189
|
+
*/
|
|
2190
|
+
export interface Meta {
|
|
2191
|
+
/**
|
|
2192
|
+
* Unique identifier for this request (for tracing and support)
|
|
2193
|
+
*/
|
|
2194
|
+
request_id?: string;
|
|
2195
|
+
|
|
2196
|
+
/**
|
|
2197
|
+
* Server timestamp when the response was generated
|
|
2198
|
+
*/
|
|
2199
|
+
timestamp?: string;
|
|
2200
|
+
|
|
2201
|
+
/**
|
|
2202
|
+
* API version used for this request
|
|
2203
|
+
*/
|
|
2204
|
+
version?: string;
|
|
2205
|
+
}
|
|
961
2206
|
}
|
|
962
2207
|
|
|
963
2208
|
export interface ProfileCreateParams {
|
|
@@ -975,7 +2220,7 @@ export interface ProfileCreateParams {
|
|
|
975
2220
|
* Body param: Billing contact information for a profile. Required when
|
|
976
2221
|
* billing_model is "profile" or "profile_and_organization".
|
|
977
2222
|
*/
|
|
978
|
-
billing_contact?:
|
|
2223
|
+
billing_contact?: ProfileCreateParams.BillingContact | null;
|
|
979
2224
|
|
|
980
2225
|
/**
|
|
981
2226
|
* Body param: Billing model: profile, organization, or profile_and_organization
|
|
@@ -993,7 +2238,7 @@ export interface ProfileCreateParams {
|
|
|
993
2238
|
* Body param: Brand and KYC data grouped into contact, business, and compliance
|
|
994
2239
|
* sections
|
|
995
2240
|
*/
|
|
996
|
-
brand?:
|
|
2241
|
+
brand?: ProfileCreateParams.Brand | null;
|
|
997
2242
|
|
|
998
2243
|
/**
|
|
999
2244
|
* Body param: Profile description (optional)
|
|
@@ -1011,74 +2256,323 @@ export interface ProfileCreateParams {
|
|
|
1011
2256
|
*/
|
|
1012
2257
|
inherit_contacts?: boolean | null;
|
|
1013
2258
|
|
|
1014
|
-
/**
|
|
1015
|
-
* Body param: Whether this profile inherits TCR brand from organization (default:
|
|
1016
|
-
* true)
|
|
1017
|
-
*/
|
|
1018
|
-
inherit_tcr_brand?: boolean | null;
|
|
2259
|
+
/**
|
|
2260
|
+
* Body param: Whether this profile inherits TCR brand from organization (default:
|
|
2261
|
+
* true)
|
|
2262
|
+
*/
|
|
2263
|
+
inherit_tcr_brand?: boolean | null;
|
|
2264
|
+
|
|
2265
|
+
/**
|
|
2266
|
+
* Body param: Whether this profile inherits TCR campaign from organization
|
|
2267
|
+
* (default: true)
|
|
2268
|
+
*/
|
|
2269
|
+
inherit_tcr_campaign?: boolean | null;
|
|
2270
|
+
|
|
2271
|
+
/**
|
|
2272
|
+
* Body param: Whether this profile inherits templates from organization (default:
|
|
2273
|
+
* true)
|
|
2274
|
+
*/
|
|
2275
|
+
inherit_templates?: boolean | null;
|
|
2276
|
+
|
|
2277
|
+
/**
|
|
2278
|
+
* Body param: Profile name (required)
|
|
2279
|
+
*/
|
|
2280
|
+
name?: string;
|
|
2281
|
+
|
|
2282
|
+
/**
|
|
2283
|
+
* Body param: Payment card details for a profile. Accepted when billing_model is
|
|
2284
|
+
* "profile" or "profile_and_organization". These details are not stored on our
|
|
2285
|
+
* servers and will be forwarded to the payment processor.
|
|
2286
|
+
*/
|
|
2287
|
+
payment_details?: ProfileCreateParams.PaymentDetails | null;
|
|
2288
|
+
|
|
2289
|
+
/**
|
|
2290
|
+
* Body param: Sandbox flag - when true, the operation is simulated without side
|
|
2291
|
+
* effects Useful for testing integrations without actual execution
|
|
2292
|
+
*/
|
|
2293
|
+
sandbox?: boolean;
|
|
2294
|
+
|
|
2295
|
+
/**
|
|
2296
|
+
* Body param: Profile short name/abbreviation (optional). Must be 3–11 characters,
|
|
2297
|
+
* contain only letters, numbers, and spaces, and include at least one letter.
|
|
2298
|
+
* Example: "SALES", "Mkt 2", "Support1".
|
|
2299
|
+
*/
|
|
2300
|
+
short_name?: string | null;
|
|
2301
|
+
|
|
2302
|
+
/**
|
|
2303
|
+
* Body param: Direct WhatsApp Business Account credentials for a profile. Use this
|
|
2304
|
+
* when the profile should have its own WhatsApp Business Account instead of
|
|
2305
|
+
* inheriting from the organization. Credentials must be obtained from Meta
|
|
2306
|
+
* Business Manager by creating a System User with whatsapp_business_messaging and
|
|
2307
|
+
* whatsapp_business_management scopes.
|
|
2308
|
+
*/
|
|
2309
|
+
whatsapp_business_account?: ProfileCreateParams.WhatsappBusinessAccount | null;
|
|
2310
|
+
|
|
2311
|
+
/**
|
|
2312
|
+
* Header param: Unique key to ensure idempotent request processing. Must be 1-255
|
|
2313
|
+
* alphanumeric characters, hyphens, or underscores. Responses are cached for 24
|
|
2314
|
+
* hours per key per customer.
|
|
2315
|
+
*/
|
|
2316
|
+
'Idempotency-Key'?: string;
|
|
2317
|
+
|
|
2318
|
+
/**
|
|
2319
|
+
* Header param: Profile UUID to scope the request to a child profile. Only
|
|
2320
|
+
* organization API keys can use this header. The profile must belong to the
|
|
2321
|
+
* calling organization.
|
|
2322
|
+
*/
|
|
2323
|
+
'x-profile-id'?: string;
|
|
2324
|
+
}
|
|
2325
|
+
|
|
2326
|
+
export namespace ProfileCreateParams {
|
|
2327
|
+
/**
|
|
2328
|
+
* Billing contact information for a profile. Required when billing_model is
|
|
2329
|
+
* "profile" or "profile_and_organization".
|
|
2330
|
+
*/
|
|
2331
|
+
export interface BillingContact {
|
|
2332
|
+
/**
|
|
2333
|
+
* Email address where invoices will be sent (required)
|
|
2334
|
+
*/
|
|
2335
|
+
email: string;
|
|
2336
|
+
|
|
2337
|
+
/**
|
|
2338
|
+
* Full name of the billing contact or company (required)
|
|
2339
|
+
*/
|
|
2340
|
+
name: string;
|
|
2341
|
+
|
|
2342
|
+
/**
|
|
2343
|
+
* Billing address (optional). Free-form text including street, city, state, postal
|
|
2344
|
+
* code, and country.
|
|
2345
|
+
*/
|
|
2346
|
+
address?: string | null;
|
|
2347
|
+
|
|
2348
|
+
/**
|
|
2349
|
+
* Phone number for the billing contact (optional)
|
|
2350
|
+
*/
|
|
2351
|
+
phone?: string | null;
|
|
2352
|
+
}
|
|
2353
|
+
|
|
2354
|
+
/**
|
|
2355
|
+
* Brand and KYC data grouped into contact, business, and compliance sections
|
|
2356
|
+
*/
|
|
2357
|
+
export interface Brand {
|
|
2358
|
+
/**
|
|
2359
|
+
* Compliance and TCR information for brand registration
|
|
2360
|
+
*/
|
|
2361
|
+
compliance: Brand.Compliance;
|
|
2362
|
+
|
|
2363
|
+
/**
|
|
2364
|
+
* Contact information for brand KYC
|
|
2365
|
+
*/
|
|
2366
|
+
contact: Brand.Contact;
|
|
2367
|
+
|
|
2368
|
+
/**
|
|
2369
|
+
* Business details and address for brand KYC
|
|
2370
|
+
*/
|
|
2371
|
+
business?: Brand.Business | null;
|
|
2372
|
+
}
|
|
2373
|
+
|
|
2374
|
+
export namespace Brand {
|
|
2375
|
+
/**
|
|
2376
|
+
* Compliance and TCR information for brand registration
|
|
2377
|
+
*/
|
|
2378
|
+
export interface Compliance {
|
|
2379
|
+
brandRelationship:
|
|
2380
|
+
| 'BASIC_ACCOUNT'
|
|
2381
|
+
| 'MEDIUM_ACCOUNT'
|
|
2382
|
+
| 'LARGE_ACCOUNT'
|
|
2383
|
+
| 'SMALL_ACCOUNT'
|
|
2384
|
+
| 'KEY_ACCOUNT';
|
|
2385
|
+
|
|
2386
|
+
vertical:
|
|
2387
|
+
| 'PROFESSIONAL'
|
|
2388
|
+
| 'REAL_ESTATE'
|
|
2389
|
+
| 'HEALTHCARE'
|
|
2390
|
+
| 'HUMAN_RESOURCES'
|
|
2391
|
+
| 'ENERGY'
|
|
2392
|
+
| 'ENTERTAINMENT'
|
|
2393
|
+
| 'RETAIL'
|
|
2394
|
+
| 'TRANSPORTATION'
|
|
2395
|
+
| 'AGRICULTURE'
|
|
2396
|
+
| 'INSURANCE'
|
|
2397
|
+
| 'POSTAL'
|
|
2398
|
+
| 'EDUCATION'
|
|
2399
|
+
| 'HOSPITALITY'
|
|
2400
|
+
| 'FINANCIAL'
|
|
2401
|
+
| 'POLITICAL'
|
|
2402
|
+
| 'GAMBLING'
|
|
2403
|
+
| 'LEGAL'
|
|
2404
|
+
| 'CONSTRUCTION'
|
|
2405
|
+
| 'NGO'
|
|
2406
|
+
| 'MANUFACTURING'
|
|
2407
|
+
| 'GOVERNMENT'
|
|
2408
|
+
| 'TECHNOLOGY'
|
|
2409
|
+
| 'COMMUNICATION';
|
|
2410
|
+
|
|
2411
|
+
/**
|
|
2412
|
+
* List of destination countries for messaging
|
|
2413
|
+
*/
|
|
2414
|
+
destinationCountries?: Array<Compliance.DestinationCountry> | null;
|
|
2415
|
+
|
|
2416
|
+
/**
|
|
2417
|
+
* Expected daily messaging volume
|
|
2418
|
+
*/
|
|
2419
|
+
expectedMessagingVolume?: string | null;
|
|
2420
|
+
|
|
2421
|
+
/**
|
|
2422
|
+
* Whether this is a TCR (Campaign Registry) application
|
|
2423
|
+
*/
|
|
2424
|
+
isTcrApplication?: boolean | null;
|
|
2425
|
+
|
|
2426
|
+
/**
|
|
2427
|
+
* Additional notes about the business or use case
|
|
2428
|
+
*/
|
|
2429
|
+
notes?: string | null;
|
|
2430
|
+
|
|
2431
|
+
/**
|
|
2432
|
+
* Phone number prefix for messaging (e.g., "+1")
|
|
2433
|
+
*/
|
|
2434
|
+
phoneNumberPrefix?: string | null;
|
|
2435
|
+
|
|
2436
|
+
/**
|
|
2437
|
+
* Primary messaging use case description
|
|
2438
|
+
*/
|
|
2439
|
+
primaryUseCase?: string | null;
|
|
2440
|
+
}
|
|
2441
|
+
|
|
2442
|
+
export namespace Compliance {
|
|
2443
|
+
export interface DestinationCountry {
|
|
2444
|
+
id?: string;
|
|
2445
|
+
|
|
2446
|
+
isMain?: boolean;
|
|
2447
|
+
}
|
|
2448
|
+
}
|
|
2449
|
+
|
|
2450
|
+
/**
|
|
2451
|
+
* Contact information for brand KYC
|
|
2452
|
+
*/
|
|
2453
|
+
export interface Contact {
|
|
2454
|
+
/**
|
|
2455
|
+
* Primary contact name (required)
|
|
2456
|
+
*/
|
|
2457
|
+
name: string;
|
|
2458
|
+
|
|
2459
|
+
/**
|
|
2460
|
+
* Business/brand name
|
|
2461
|
+
*/
|
|
2462
|
+
businessName?: string | null;
|
|
2463
|
+
|
|
2464
|
+
/**
|
|
2465
|
+
* Contact email address
|
|
2466
|
+
*/
|
|
2467
|
+
email?: string | null;
|
|
2468
|
+
|
|
2469
|
+
/**
|
|
2470
|
+
* Contact phone number in E.164 format
|
|
2471
|
+
*/
|
|
2472
|
+
phone?: string | null;
|
|
2473
|
+
|
|
2474
|
+
/**
|
|
2475
|
+
* Contact phone country code (e.g., "1" for US)
|
|
2476
|
+
*/
|
|
2477
|
+
phoneCountryCode?: string | null;
|
|
2478
|
+
|
|
2479
|
+
/**
|
|
2480
|
+
* Contact's role in the business
|
|
2481
|
+
*/
|
|
2482
|
+
role?: string | null;
|
|
2483
|
+
}
|
|
2484
|
+
|
|
2485
|
+
/**
|
|
2486
|
+
* Business details and address for brand KYC
|
|
2487
|
+
*/
|
|
2488
|
+
export interface Business {
|
|
2489
|
+
/**
|
|
2490
|
+
* City
|
|
2491
|
+
*/
|
|
2492
|
+
city?: string | null;
|
|
2493
|
+
|
|
2494
|
+
/**
|
|
2495
|
+
* Country code (e.g., US, CA)
|
|
2496
|
+
*/
|
|
2497
|
+
country?: string | null;
|
|
2498
|
+
|
|
2499
|
+
/**
|
|
2500
|
+
* Country where the business is registered
|
|
2501
|
+
*/
|
|
2502
|
+
countryOfRegistration?: string | null;
|
|
2503
|
+
|
|
2504
|
+
entityType?:
|
|
2505
|
+
| 'PRIVATE_PROFIT'
|
|
2506
|
+
| 'PUBLIC_PROFIT'
|
|
2507
|
+
| 'NON_PROFIT'
|
|
2508
|
+
| 'SOLE_PROPRIETOR'
|
|
2509
|
+
| 'GOVERNMENT'
|
|
2510
|
+
| null;
|
|
1019
2511
|
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
inherit_tcr_campaign?: boolean | null;
|
|
2512
|
+
/**
|
|
2513
|
+
* Legal business name
|
|
2514
|
+
*/
|
|
2515
|
+
legalName?: string | null;
|
|
1025
2516
|
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
inherit_templates?: boolean | null;
|
|
2517
|
+
/**
|
|
2518
|
+
* Postal/ZIP code
|
|
2519
|
+
*/
|
|
2520
|
+
postalCode?: string | null;
|
|
1031
2521
|
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
2522
|
+
/**
|
|
2523
|
+
* State/province code
|
|
2524
|
+
*/
|
|
2525
|
+
state?: string | null;
|
|
1036
2526
|
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
*/
|
|
1042
|
-
payment_details?: PaymentDetails | null;
|
|
2527
|
+
/**
|
|
2528
|
+
* Street address
|
|
2529
|
+
*/
|
|
2530
|
+
street?: string | null;
|
|
1043
2531
|
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
sandbox?: boolean;
|
|
2532
|
+
/**
|
|
2533
|
+
* Tax ID/EIN number
|
|
2534
|
+
*/
|
|
2535
|
+
taxId?: string | null;
|
|
1049
2536
|
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
*/
|
|
1055
|
-
short_name?: string | null;
|
|
2537
|
+
/**
|
|
2538
|
+
* Type of tax ID (e.g., us_ein, ca_bn)
|
|
2539
|
+
*/
|
|
2540
|
+
taxIdType?: string | null;
|
|
1056
2541
|
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
*/
|
|
1064
|
-
whatsapp_business_account?: ProfileCreateParams.WhatsappBusinessAccount | null;
|
|
2542
|
+
/**
|
|
2543
|
+
* Business website URL
|
|
2544
|
+
*/
|
|
2545
|
+
url?: string | null;
|
|
2546
|
+
}
|
|
2547
|
+
}
|
|
1065
2548
|
|
|
1066
2549
|
/**
|
|
1067
|
-
*
|
|
1068
|
-
*
|
|
1069
|
-
*
|
|
2550
|
+
* Payment card details for a profile. Accepted when billing_model is "profile" or
|
|
2551
|
+
* "profile_and_organization". These details are not stored on our servers and will
|
|
2552
|
+
* be forwarded to the payment processor.
|
|
1070
2553
|
*/
|
|
1071
|
-
|
|
2554
|
+
export interface PaymentDetails {
|
|
2555
|
+
/**
|
|
2556
|
+
* Card number (digits only, 13–19 characters)
|
|
2557
|
+
*/
|
|
2558
|
+
card_number: string;
|
|
1072
2559
|
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
2560
|
+
/**
|
|
2561
|
+
* Card security code (3–4 digits)
|
|
2562
|
+
*/
|
|
2563
|
+
cvc: string;
|
|
2564
|
+
|
|
2565
|
+
/**
|
|
2566
|
+
* Card expiry date in MM/YY format (e.g. "09/27")
|
|
2567
|
+
*/
|
|
2568
|
+
expiry: string;
|
|
2569
|
+
|
|
2570
|
+
/**
|
|
2571
|
+
* Billing ZIP / postal code associated with the card
|
|
2572
|
+
*/
|
|
2573
|
+
zip_code: string;
|
|
2574
|
+
}
|
|
1080
2575
|
|
|
1081
|
-
export namespace ProfileCreateParams {
|
|
1082
2576
|
/**
|
|
1083
2577
|
* Direct WhatsApp Business Account credentials for a profile. Use this when the
|
|
1084
2578
|
* profile should have its own WhatsApp Business Account instead of inheriting from
|
|
@@ -1137,7 +2631,7 @@ export interface ProfileUpdateParams {
|
|
|
1137
2631
|
* Body param: Billing contact information for a profile. Required when
|
|
1138
2632
|
* billing_model is "profile" or "profile_and_organization".
|
|
1139
2633
|
*/
|
|
1140
|
-
billing_contact?:
|
|
2634
|
+
billing_contact?: ProfileUpdateParams.BillingContact | null;
|
|
1141
2635
|
|
|
1142
2636
|
/**
|
|
1143
2637
|
* Body param: Billing model: profile, organization, or profile_and_organization
|
|
@@ -1155,7 +2649,7 @@ export interface ProfileUpdateParams {
|
|
|
1155
2649
|
* Body param: Brand and KYC data grouped into contact, business, and compliance
|
|
1156
2650
|
* sections
|
|
1157
2651
|
*/
|
|
1158
|
-
brand?:
|
|
2652
|
+
brand?: ProfileUpdateParams.Brand | null;
|
|
1159
2653
|
|
|
1160
2654
|
/**
|
|
1161
2655
|
* Body param: Profile description (optional)
|
|
@@ -1198,7 +2692,7 @@ export interface ProfileUpdateParams {
|
|
|
1198
2692
|
* "profile" or "profile_and_organization". These details are not stored on our
|
|
1199
2693
|
* servers and will be forwarded to the payment processor.
|
|
1200
2694
|
*/
|
|
1201
|
-
payment_details?: PaymentDetails | null;
|
|
2695
|
+
payment_details?: ProfileUpdateParams.PaymentDetails | null;
|
|
1202
2696
|
|
|
1203
2697
|
/**
|
|
1204
2698
|
* Body param: Sandbox flag - when true, the operation is simulated without side
|
|
@@ -1250,6 +2744,257 @@ export interface ProfileUpdateParams {
|
|
|
1250
2744
|
'x-profile-id'?: string;
|
|
1251
2745
|
}
|
|
1252
2746
|
|
|
2747
|
+
export namespace ProfileUpdateParams {
|
|
2748
|
+
/**
|
|
2749
|
+
* Billing contact information for a profile. Required when billing_model is
|
|
2750
|
+
* "profile" or "profile_and_organization".
|
|
2751
|
+
*/
|
|
2752
|
+
export interface BillingContact {
|
|
2753
|
+
/**
|
|
2754
|
+
* Email address where invoices will be sent (required)
|
|
2755
|
+
*/
|
|
2756
|
+
email: string;
|
|
2757
|
+
|
|
2758
|
+
/**
|
|
2759
|
+
* Full name of the billing contact or company (required)
|
|
2760
|
+
*/
|
|
2761
|
+
name: string;
|
|
2762
|
+
|
|
2763
|
+
/**
|
|
2764
|
+
* Billing address (optional). Free-form text including street, city, state, postal
|
|
2765
|
+
* code, and country.
|
|
2766
|
+
*/
|
|
2767
|
+
address?: string | null;
|
|
2768
|
+
|
|
2769
|
+
/**
|
|
2770
|
+
* Phone number for the billing contact (optional)
|
|
2771
|
+
*/
|
|
2772
|
+
phone?: string | null;
|
|
2773
|
+
}
|
|
2774
|
+
|
|
2775
|
+
/**
|
|
2776
|
+
* Brand and KYC data grouped into contact, business, and compliance sections
|
|
2777
|
+
*/
|
|
2778
|
+
export interface Brand {
|
|
2779
|
+
/**
|
|
2780
|
+
* Compliance and TCR information for brand registration
|
|
2781
|
+
*/
|
|
2782
|
+
compliance: Brand.Compliance;
|
|
2783
|
+
|
|
2784
|
+
/**
|
|
2785
|
+
* Contact information for brand KYC
|
|
2786
|
+
*/
|
|
2787
|
+
contact: Brand.Contact;
|
|
2788
|
+
|
|
2789
|
+
/**
|
|
2790
|
+
* Business details and address for brand KYC
|
|
2791
|
+
*/
|
|
2792
|
+
business?: Brand.Business | null;
|
|
2793
|
+
}
|
|
2794
|
+
|
|
2795
|
+
export namespace Brand {
|
|
2796
|
+
/**
|
|
2797
|
+
* Compliance and TCR information for brand registration
|
|
2798
|
+
*/
|
|
2799
|
+
export interface Compliance {
|
|
2800
|
+
brandRelationship:
|
|
2801
|
+
| 'BASIC_ACCOUNT'
|
|
2802
|
+
| 'MEDIUM_ACCOUNT'
|
|
2803
|
+
| 'LARGE_ACCOUNT'
|
|
2804
|
+
| 'SMALL_ACCOUNT'
|
|
2805
|
+
| 'KEY_ACCOUNT';
|
|
2806
|
+
|
|
2807
|
+
vertical:
|
|
2808
|
+
| 'PROFESSIONAL'
|
|
2809
|
+
| 'REAL_ESTATE'
|
|
2810
|
+
| 'HEALTHCARE'
|
|
2811
|
+
| 'HUMAN_RESOURCES'
|
|
2812
|
+
| 'ENERGY'
|
|
2813
|
+
| 'ENTERTAINMENT'
|
|
2814
|
+
| 'RETAIL'
|
|
2815
|
+
| 'TRANSPORTATION'
|
|
2816
|
+
| 'AGRICULTURE'
|
|
2817
|
+
| 'INSURANCE'
|
|
2818
|
+
| 'POSTAL'
|
|
2819
|
+
| 'EDUCATION'
|
|
2820
|
+
| 'HOSPITALITY'
|
|
2821
|
+
| 'FINANCIAL'
|
|
2822
|
+
| 'POLITICAL'
|
|
2823
|
+
| 'GAMBLING'
|
|
2824
|
+
| 'LEGAL'
|
|
2825
|
+
| 'CONSTRUCTION'
|
|
2826
|
+
| 'NGO'
|
|
2827
|
+
| 'MANUFACTURING'
|
|
2828
|
+
| 'GOVERNMENT'
|
|
2829
|
+
| 'TECHNOLOGY'
|
|
2830
|
+
| 'COMMUNICATION';
|
|
2831
|
+
|
|
2832
|
+
/**
|
|
2833
|
+
* List of destination countries for messaging
|
|
2834
|
+
*/
|
|
2835
|
+
destinationCountries?: Array<Compliance.DestinationCountry> | null;
|
|
2836
|
+
|
|
2837
|
+
/**
|
|
2838
|
+
* Expected daily messaging volume
|
|
2839
|
+
*/
|
|
2840
|
+
expectedMessagingVolume?: string | null;
|
|
2841
|
+
|
|
2842
|
+
/**
|
|
2843
|
+
* Whether this is a TCR (Campaign Registry) application
|
|
2844
|
+
*/
|
|
2845
|
+
isTcrApplication?: boolean | null;
|
|
2846
|
+
|
|
2847
|
+
/**
|
|
2848
|
+
* Additional notes about the business or use case
|
|
2849
|
+
*/
|
|
2850
|
+
notes?: string | null;
|
|
2851
|
+
|
|
2852
|
+
/**
|
|
2853
|
+
* Phone number prefix for messaging (e.g., "+1")
|
|
2854
|
+
*/
|
|
2855
|
+
phoneNumberPrefix?: string | null;
|
|
2856
|
+
|
|
2857
|
+
/**
|
|
2858
|
+
* Primary messaging use case description
|
|
2859
|
+
*/
|
|
2860
|
+
primaryUseCase?: string | null;
|
|
2861
|
+
}
|
|
2862
|
+
|
|
2863
|
+
export namespace Compliance {
|
|
2864
|
+
export interface DestinationCountry {
|
|
2865
|
+
id?: string;
|
|
2866
|
+
|
|
2867
|
+
isMain?: boolean;
|
|
2868
|
+
}
|
|
2869
|
+
}
|
|
2870
|
+
|
|
2871
|
+
/**
|
|
2872
|
+
* Contact information for brand KYC
|
|
2873
|
+
*/
|
|
2874
|
+
export interface Contact {
|
|
2875
|
+
/**
|
|
2876
|
+
* Primary contact name (required)
|
|
2877
|
+
*/
|
|
2878
|
+
name: string;
|
|
2879
|
+
|
|
2880
|
+
/**
|
|
2881
|
+
* Business/brand name
|
|
2882
|
+
*/
|
|
2883
|
+
businessName?: string | null;
|
|
2884
|
+
|
|
2885
|
+
/**
|
|
2886
|
+
* Contact email address
|
|
2887
|
+
*/
|
|
2888
|
+
email?: string | null;
|
|
2889
|
+
|
|
2890
|
+
/**
|
|
2891
|
+
* Contact phone number in E.164 format
|
|
2892
|
+
*/
|
|
2893
|
+
phone?: string | null;
|
|
2894
|
+
|
|
2895
|
+
/**
|
|
2896
|
+
* Contact phone country code (e.g., "1" for US)
|
|
2897
|
+
*/
|
|
2898
|
+
phoneCountryCode?: string | null;
|
|
2899
|
+
|
|
2900
|
+
/**
|
|
2901
|
+
* Contact's role in the business
|
|
2902
|
+
*/
|
|
2903
|
+
role?: string | null;
|
|
2904
|
+
}
|
|
2905
|
+
|
|
2906
|
+
/**
|
|
2907
|
+
* Business details and address for brand KYC
|
|
2908
|
+
*/
|
|
2909
|
+
export interface Business {
|
|
2910
|
+
/**
|
|
2911
|
+
* City
|
|
2912
|
+
*/
|
|
2913
|
+
city?: string | null;
|
|
2914
|
+
|
|
2915
|
+
/**
|
|
2916
|
+
* Country code (e.g., US, CA)
|
|
2917
|
+
*/
|
|
2918
|
+
country?: string | null;
|
|
2919
|
+
|
|
2920
|
+
/**
|
|
2921
|
+
* Country where the business is registered
|
|
2922
|
+
*/
|
|
2923
|
+
countryOfRegistration?: string | null;
|
|
2924
|
+
|
|
2925
|
+
entityType?:
|
|
2926
|
+
| 'PRIVATE_PROFIT'
|
|
2927
|
+
| 'PUBLIC_PROFIT'
|
|
2928
|
+
| 'NON_PROFIT'
|
|
2929
|
+
| 'SOLE_PROPRIETOR'
|
|
2930
|
+
| 'GOVERNMENT'
|
|
2931
|
+
| null;
|
|
2932
|
+
|
|
2933
|
+
/**
|
|
2934
|
+
* Legal business name
|
|
2935
|
+
*/
|
|
2936
|
+
legalName?: string | null;
|
|
2937
|
+
|
|
2938
|
+
/**
|
|
2939
|
+
* Postal/ZIP code
|
|
2940
|
+
*/
|
|
2941
|
+
postalCode?: string | null;
|
|
2942
|
+
|
|
2943
|
+
/**
|
|
2944
|
+
* State/province code
|
|
2945
|
+
*/
|
|
2946
|
+
state?: string | null;
|
|
2947
|
+
|
|
2948
|
+
/**
|
|
2949
|
+
* Street address
|
|
2950
|
+
*/
|
|
2951
|
+
street?: string | null;
|
|
2952
|
+
|
|
2953
|
+
/**
|
|
2954
|
+
* Tax ID/EIN number
|
|
2955
|
+
*/
|
|
2956
|
+
taxId?: string | null;
|
|
2957
|
+
|
|
2958
|
+
/**
|
|
2959
|
+
* Type of tax ID (e.g., us_ein, ca_bn)
|
|
2960
|
+
*/
|
|
2961
|
+
taxIdType?: string | null;
|
|
2962
|
+
|
|
2963
|
+
/**
|
|
2964
|
+
* Business website URL
|
|
2965
|
+
*/
|
|
2966
|
+
url?: string | null;
|
|
2967
|
+
}
|
|
2968
|
+
}
|
|
2969
|
+
|
|
2970
|
+
/**
|
|
2971
|
+
* Payment card details for a profile. Accepted when billing_model is "profile" or
|
|
2972
|
+
* "profile_and_organization". These details are not stored on our servers and will
|
|
2973
|
+
* be forwarded to the payment processor.
|
|
2974
|
+
*/
|
|
2975
|
+
export interface PaymentDetails {
|
|
2976
|
+
/**
|
|
2977
|
+
* Card number (digits only, 13–19 characters)
|
|
2978
|
+
*/
|
|
2979
|
+
card_number: string;
|
|
2980
|
+
|
|
2981
|
+
/**
|
|
2982
|
+
* Card security code (3–4 digits)
|
|
2983
|
+
*/
|
|
2984
|
+
cvc: string;
|
|
2985
|
+
|
|
2986
|
+
/**
|
|
2987
|
+
* Card expiry date in MM/YY format (e.g. "09/27")
|
|
2988
|
+
*/
|
|
2989
|
+
expiry: string;
|
|
2990
|
+
|
|
2991
|
+
/**
|
|
2992
|
+
* Billing ZIP / postal code associated with the card
|
|
2993
|
+
*/
|
|
2994
|
+
zip_code: string;
|
|
2995
|
+
}
|
|
2996
|
+
}
|
|
2997
|
+
|
|
1253
2998
|
export interface ProfileListParams {
|
|
1254
2999
|
/**
|
|
1255
3000
|
* Profile UUID to scope the request to a child profile. Only organization API keys
|
|
@@ -1305,17 +3050,9 @@ Profiles.Campaigns = Campaigns;
|
|
|
1305
3050
|
|
|
1306
3051
|
export declare namespace Profiles {
|
|
1307
3052
|
export {
|
|
1308
|
-
type
|
|
1309
|
-
type
|
|
1310
|
-
type
|
|
1311
|
-
type DestinationCountry as DestinationCountry,
|
|
1312
|
-
type PaymentDetails as PaymentDetails,
|
|
1313
|
-
type ProfileDetail as ProfileDetail,
|
|
1314
|
-
type SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo as SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo,
|
|
1315
|
-
type SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo as SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo,
|
|
1316
|
-
type SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo as SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo,
|
|
1317
|
-
type TcrBrandRelationship as TcrBrandRelationship,
|
|
1318
|
-
type TcrVertical as TcrVertical,
|
|
3053
|
+
type ProfileCreateResponse as ProfileCreateResponse,
|
|
3054
|
+
type ProfileRetrieveResponse as ProfileRetrieveResponse,
|
|
3055
|
+
type ProfileUpdateResponse as ProfileUpdateResponse,
|
|
1319
3056
|
type ProfileListResponse as ProfileListResponse,
|
|
1320
3057
|
type ProfileCompleteResponse as ProfileCompleteResponse,
|
|
1321
3058
|
type ProfileCreateParams as ProfileCreateParams,
|
|
@@ -1328,12 +3065,8 @@ export declare namespace Profiles {
|
|
|
1328
3065
|
|
|
1329
3066
|
export {
|
|
1330
3067
|
Campaigns as Campaigns,
|
|
1331
|
-
type
|
|
1332
|
-
type
|
|
1333
|
-
type CampaignData as CampaignData,
|
|
1334
|
-
type MessagingUseCaseUs as MessagingUseCaseUs,
|
|
1335
|
-
type SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData as SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData,
|
|
1336
|
-
type TcrCampaignWithUseCases as TcrCampaignWithUseCases,
|
|
3068
|
+
type CampaignCreateResponse as CampaignCreateResponse,
|
|
3069
|
+
type CampaignUpdateResponse as CampaignUpdateResponse,
|
|
1337
3070
|
type CampaignListResponse as CampaignListResponse,
|
|
1338
3071
|
type CampaignCreateParams as CampaignCreateParams,
|
|
1339
3072
|
type CampaignUpdateParams as CampaignUpdateParams,
|