@talqing/sdk 0.13.1 → 0.14.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.
@@ -1855,6 +1855,10 @@ export type CatalogResponse = {
1855
1855
  * Turn Detector Languages
1856
1856
  */
1857
1857
  turn_detector_languages: Array<LanguageOption>;
1858
+ /**
1859
+ * Whatsapp Template Languages
1860
+ */
1861
+ whatsapp_template_languages: Array<string>;
1858
1862
  };
1859
1863
  /**
1860
1864
  * ChatDetailResponse
@@ -3495,6 +3499,15 @@ export type CreateTelephonyAccountRequest = {
3495
3499
  */
3496
3500
  provider: 'plivo' | 'exotel' | 'vobiz' | 'twilio';
3497
3501
  };
3502
+ /**
3503
+ * CreateTokenRequest
3504
+ */
3505
+ export type CreateTokenRequest = {
3506
+ /**
3507
+ * Name
3508
+ */
3509
+ name: string;
3510
+ };
3498
3511
  /**
3499
3512
  * CreateToolRequest
3500
3513
  */
@@ -3615,6 +3628,63 @@ export type CreateWhatsAppBatchRequest = {
3615
3628
  };
3616
3629
  window?: TimeWindow | null;
3617
3630
  };
3631
+ /**
3632
+ * CreateWhatsAppTemplateRequest
3633
+ */
3634
+ export type CreateWhatsAppTemplateRequest = {
3635
+ /**
3636
+ * Body
3637
+ *
3638
+ * Variables are named: `{{first_name}}`.
3639
+ */
3640
+ body: string;
3641
+ /**
3642
+ * Buttons
3643
+ */
3644
+ buttons?: Array<WhatsAppTemplateQuickReplyButtonInput | WhatsAppTemplateUrlButtonInput | WhatsAppTemplatePhoneButtonInput | WhatsAppTemplateVoiceCallButtonInput | WhatsAppTemplateCopyCodeButtonInput>;
3645
+ /**
3646
+ * Category
3647
+ */
3648
+ category: 'marketing' | 'utility';
3649
+ /**
3650
+ * Examples
3651
+ *
3652
+ * A realistic sample for every variable; WhatsApp reviews them.
3653
+ */
3654
+ examples?: {
3655
+ [key: string]: string;
3656
+ };
3657
+ /**
3658
+ * Footer
3659
+ */
3660
+ footer?: string | null;
3661
+ /**
3662
+ * Header
3663
+ */
3664
+ header?: ({
3665
+ type: 'text';
3666
+ } & WhatsAppTemplateTextHeaderInput) | ({
3667
+ type: 'document' | 'image' | 'video';
3668
+ } & WhatsAppTemplateMediaHeaderInput) | null;
3669
+ /**
3670
+ * Integration Id
3671
+ *
3672
+ * A Twilio WhatsApp sender; the template is account-wide.
3673
+ */
3674
+ integration_id: string;
3675
+ /**
3676
+ * Language
3677
+ *
3678
+ * One of the catalog's `whatsapp_template_languages`.
3679
+ */
3680
+ language: string;
3681
+ /**
3682
+ * Name
3683
+ *
3684
+ * Lowercase letters, digits and `_`.
3685
+ */
3686
+ name: string;
3687
+ };
3618
3688
  /**
3619
3689
  * CreditBalanceResponse
3620
3690
  *
@@ -7879,6 +7949,27 @@ export type PageTelephonyProviderSpec = {
7879
7949
  */
7880
7950
  offset: number;
7881
7951
  };
7952
+ /**
7953
+ * Page[TokenResponse]
7954
+ */
7955
+ export type PageTokenResponse = {
7956
+ /**
7957
+ * Has More
7958
+ */
7959
+ has_more: boolean;
7960
+ /**
7961
+ * Items
7962
+ */
7963
+ items: Array<TokenResponse>;
7964
+ /**
7965
+ * Limit
7966
+ */
7967
+ limit: number;
7968
+ /**
7969
+ * Offset
7970
+ */
7971
+ offset: number;
7972
+ };
7882
7973
  /**
7883
7974
  * Page[ToolResponse]
7884
7975
  */
@@ -12012,6 +12103,39 @@ export type TimeWindow = {
12012
12103
  */
12013
12104
  start: string;
12014
12105
  };
12106
+ /**
12107
+ * TokenCreatedResponse
12108
+ */
12109
+ export type TokenCreatedResponse = {
12110
+ /**
12111
+ * Created At
12112
+ */
12113
+ created_at: string;
12114
+ /**
12115
+ * Id
12116
+ */
12117
+ id: string;
12118
+ /**
12119
+ * Kind
12120
+ */
12121
+ kind: 'manual' | 'mcp';
12122
+ /**
12123
+ * Name
12124
+ */
12125
+ name: string;
12126
+ /**
12127
+ * Token
12128
+ */
12129
+ token: string;
12130
+ /**
12131
+ * User Email
12132
+ */
12133
+ user_email: string;
12134
+ /**
12135
+ * User Id
12136
+ */
12137
+ user_id: string;
12138
+ };
12015
12139
  /**
12016
12140
  * TokenRequest
12017
12141
  *
@@ -12076,6 +12200,35 @@ export type TokenRequest = {
12076
12200
  [key: string]: string;
12077
12201
  } | null;
12078
12202
  };
12203
+ /**
12204
+ * TokenResponse
12205
+ */
12206
+ export type TokenResponse = {
12207
+ /**
12208
+ * Created At
12209
+ */
12210
+ created_at: string;
12211
+ /**
12212
+ * Id
12213
+ */
12214
+ id: string;
12215
+ /**
12216
+ * Kind
12217
+ */
12218
+ kind: 'manual' | 'mcp';
12219
+ /**
12220
+ * Name
12221
+ */
12222
+ name: string;
12223
+ /**
12224
+ * User Email
12225
+ */
12226
+ user_email: string;
12227
+ /**
12228
+ * User Id
12229
+ */
12230
+ user_id: string;
12231
+ };
12079
12232
  /**
12080
12233
  * ToolResponse
12081
12234
  */
@@ -13130,7 +13283,7 @@ export type WhatsAppBatchResponse = {
13130
13283
  * Status
13131
13284
  */
13132
13285
  status: 'draft' | 'scheduled' | 'sending' | 'paused' | 'completed' | 'canceled' | 'failed';
13133
- template: WhatsAppTemplate;
13286
+ template: WhatsAppTemplateSnapshot;
13134
13287
  /**
13135
13288
  * Timezone
13136
13289
  */
@@ -13248,7 +13401,7 @@ export type WhatsAppRecipientResponse = {
13248
13401
  /**
13249
13402
  * WhatsAppTemplate
13250
13403
  *
13251
- * The whole message: header, body, footer and buttons.
13404
+ * A template and where WhatsApp's review of it stands. Only `approved` can be sent.
13252
13405
  */
13253
13406
  export type WhatsAppTemplate = {
13254
13407
  /**
@@ -13262,7 +13415,17 @@ export type WhatsAppTemplate = {
13262
13415
  /**
13263
13416
  * Category
13264
13417
  */
13265
- category: string;
13418
+ category: 'marketing' | 'utility' | 'authentication';
13419
+ /**
13420
+ * Created At
13421
+ */
13422
+ created_at: string;
13423
+ /**
13424
+ * Examples
13425
+ */
13426
+ examples: {
13427
+ [key: string]: string;
13428
+ };
13266
13429
  /**
13267
13430
  * Footer
13268
13431
  */
@@ -13280,6 +13443,14 @@ export type WhatsAppTemplate = {
13280
13443
  * Name
13281
13444
  */
13282
13445
  name: string;
13446
+ /**
13447
+ * Rejection Reason
13448
+ */
13449
+ rejection_reason: string | null;
13450
+ /**
13451
+ * Status
13452
+ */
13453
+ status: 'pending' | 'approved' | 'rejected' | 'paused' | 'disabled';
13283
13454
  /**
13284
13455
  * Unsupported Reason
13285
13456
  */
@@ -13305,6 +13476,10 @@ export type WhatsAppTemplateButton = {
13305
13476
  * Text
13306
13477
  */
13307
13478
  text: string;
13479
+ /**
13480
+ * Ttl Minutes
13481
+ */
13482
+ ttl_minutes: number | null;
13308
13483
  /**
13309
13484
  * Type
13310
13485
  */
@@ -13314,6 +13489,21 @@ export type WhatsAppTemplateButton = {
13314
13489
  */
13315
13490
  url: string | null;
13316
13491
  };
13492
+ /**
13493
+ * WhatsAppTemplateCopyCodeButtonInput
13494
+ *
13495
+ * WhatsApp labels it "Copy Code".
13496
+ */
13497
+ export type WhatsAppTemplateCopyCodeButtonInput = {
13498
+ /**
13499
+ * Code
13500
+ */
13501
+ code: string;
13502
+ /**
13503
+ * Type
13504
+ */
13505
+ type: 'copy_code';
13506
+ };
13317
13507
  /**
13318
13508
  * WhatsAppTemplateHeader
13319
13509
  */
@@ -13331,6 +13521,144 @@ export type WhatsAppTemplateHeader = {
13331
13521
  */
13332
13522
  url: string | null;
13333
13523
  };
13524
+ /**
13525
+ * WhatsAppTemplateMediaHeaderInput
13526
+ */
13527
+ export type WhatsAppTemplateMediaHeaderInput = {
13528
+ /**
13529
+ * Type
13530
+ */
13531
+ type: 'image' | 'video' | 'document';
13532
+ /**
13533
+ * Url
13534
+ *
13535
+ * A public https file; WhatsApp downloads it.
13536
+ */
13537
+ url: string;
13538
+ };
13539
+ /**
13540
+ * WhatsAppTemplatePhoneButtonInput
13541
+ */
13542
+ export type WhatsAppTemplatePhoneButtonInput = {
13543
+ /**
13544
+ * Phone Number
13545
+ */
13546
+ phone_number: string;
13547
+ /**
13548
+ * Text
13549
+ */
13550
+ text: string;
13551
+ /**
13552
+ * Type
13553
+ */
13554
+ type: 'phone_number';
13555
+ };
13556
+ /**
13557
+ * WhatsAppTemplateQuickReplyButtonInput
13558
+ */
13559
+ export type WhatsAppTemplateQuickReplyButtonInput = {
13560
+ /**
13561
+ * Text
13562
+ */
13563
+ text: string;
13564
+ /**
13565
+ * Type
13566
+ */
13567
+ type: 'quick_reply';
13568
+ };
13569
+ /**
13570
+ * WhatsAppTemplateSnapshot
13571
+ *
13572
+ * The whole message as a batch sends it: header, body, footer and buttons.
13573
+ */
13574
+ export type WhatsAppTemplateSnapshot = {
13575
+ /**
13576
+ * Body
13577
+ */
13578
+ body: string;
13579
+ /**
13580
+ * Buttons
13581
+ */
13582
+ buttons: Array<WhatsAppTemplateButton>;
13583
+ /**
13584
+ * Category
13585
+ */
13586
+ category: 'marketing' | 'utility' | 'authentication';
13587
+ /**
13588
+ * Footer
13589
+ */
13590
+ footer: string | null;
13591
+ header: WhatsAppTemplateHeader | null;
13592
+ /**
13593
+ * Id
13594
+ */
13595
+ id: string;
13596
+ /**
13597
+ * Language
13598
+ */
13599
+ language: string;
13600
+ /**
13601
+ * Name
13602
+ */
13603
+ name: string;
13604
+ /**
13605
+ * Variables
13606
+ */
13607
+ variables: Array<string>;
13608
+ };
13609
+ /**
13610
+ * WhatsAppTemplateTextHeaderInput
13611
+ */
13612
+ export type WhatsAppTemplateTextHeaderInput = {
13613
+ /**
13614
+ * Text
13615
+ */
13616
+ text: string;
13617
+ /**
13618
+ * Type
13619
+ */
13620
+ type: 'text';
13621
+ };
13622
+ /**
13623
+ * WhatsAppTemplateUrlButtonInput
13624
+ */
13625
+ export type WhatsAppTemplateUrlButtonInput = {
13626
+ /**
13627
+ * Text
13628
+ */
13629
+ text: string;
13630
+ /**
13631
+ * Type
13632
+ */
13633
+ type: 'url';
13634
+ /**
13635
+ * Url
13636
+ *
13637
+ * May end in one variable, after a `/`.
13638
+ */
13639
+ url: string;
13640
+ };
13641
+ /**
13642
+ * WhatsAppTemplateVoiceCallButtonInput
13643
+ *
13644
+ * Starts a WhatsApp call to the sending number.
13645
+ */
13646
+ export type WhatsAppTemplateVoiceCallButtonInput = {
13647
+ /**
13648
+ * Text
13649
+ */
13650
+ text: string;
13651
+ /**
13652
+ * Ttl Minutes
13653
+ *
13654
+ * How long the button works after sending. Default 7 days.
13655
+ */
13656
+ ttl_minutes?: number | null;
13657
+ /**
13658
+ * Type
13659
+ */
13660
+ type: 'voice_call';
13661
+ };
13334
13662
  /**
13335
13663
  * WhatsAppTemplatesResponse
13336
13664
  */
@@ -20539,6 +20867,124 @@ export type TelephonyProvidersListResults = {
20539
20867
  200: PageTelephonyProviderSpec;
20540
20868
  };
20541
20869
  export type TelephonyProvidersListResult = TelephonyProvidersListResults[keyof TelephonyProvidersListResults];
20870
+ export type TokensListData = {
20871
+ body?: never;
20872
+ path?: never;
20873
+ query?: {
20874
+ /**
20875
+ * Limit
20876
+ */
20877
+ limit?: number;
20878
+ /**
20879
+ * Offset
20880
+ */
20881
+ offset?: number;
20882
+ };
20883
+ url: '/v1/tokens';
20884
+ };
20885
+ export type TokensListErrors = {
20886
+ /**
20887
+ * Missing credential, or one that is revoked or no longer a member of this organization.
20888
+ */
20889
+ 401: ErrorResponse;
20890
+ /**
20891
+ * The request did not match this operation's schema; `detail.errors` lists each field.
20892
+ */
20893
+ 422: ErrorResponse;
20894
+ /**
20895
+ * Unexpected error. Every error this API returns carries this body.
20896
+ */
20897
+ default: ErrorResponse;
20898
+ };
20899
+ export type TokensListError = TokensListErrors[keyof TokensListErrors];
20900
+ export type TokensListResults = {
20901
+ /**
20902
+ * Successful Response
20903
+ */
20904
+ 200: PageTokenResponse;
20905
+ };
20906
+ export type TokensListResult = TokensListResults[keyof TokensListResults];
20907
+ export type TokensCreateData = {
20908
+ body: CreateTokenRequest;
20909
+ path?: never;
20910
+ query?: never;
20911
+ url: '/v1/tokens';
20912
+ };
20913
+ export type TokensCreateErrors = {
20914
+ /**
20915
+ * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
20916
+ */
20917
+ 400: ErrorResponse;
20918
+ /**
20919
+ * Missing credential, or one that is revoked or no longer a member of this organization.
20920
+ */
20921
+ 401: ErrorResponse;
20922
+ /**
20923
+ * The resource's current state forbids this — a name already taken, a job already running.
20924
+ */
20925
+ 409: ErrorResponse;
20926
+ /**
20927
+ * The request did not match this operation's schema; `detail.errors` lists each field.
20928
+ */
20929
+ 422: ErrorResponse;
20930
+ /**
20931
+ * Unexpected error. Every error this API returns carries this body.
20932
+ */
20933
+ default: ErrorResponse;
20934
+ };
20935
+ export type TokensCreateError = TokensCreateErrors[keyof TokensCreateErrors];
20936
+ export type TokensCreateResults = {
20937
+ /**
20938
+ * Successful Response
20939
+ */
20940
+ 201: TokenCreatedResponse;
20941
+ };
20942
+ export type TokensCreateResult = TokensCreateResults[keyof TokensCreateResults];
20943
+ export type TokensDeleteData = {
20944
+ body?: never;
20945
+ path: {
20946
+ /**
20947
+ * Token Id
20948
+ */
20949
+ token_id: string;
20950
+ };
20951
+ query?: never;
20952
+ url: '/v1/tokens/{token_id}';
20953
+ };
20954
+ export type TokensDeleteErrors = {
20955
+ /**
20956
+ * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
20957
+ */
20958
+ 400: ErrorResponse;
20959
+ /**
20960
+ * Missing credential, or one that is revoked or no longer a member of this organization.
20961
+ */
20962
+ 401: ErrorResponse;
20963
+ /**
20964
+ * No such resource in this organization.
20965
+ */
20966
+ 404: ErrorResponse;
20967
+ /**
20968
+ * The resource's current state forbids this — a name already taken, a job already running.
20969
+ */
20970
+ 409: ErrorResponse;
20971
+ /**
20972
+ * The request did not match this operation's schema; `detail.errors` lists each field.
20973
+ */
20974
+ 422: ErrorResponse;
20975
+ /**
20976
+ * Unexpected error. Every error this API returns carries this body.
20977
+ */
20978
+ default: ErrorResponse;
20979
+ };
20980
+ export type TokensDeleteError = TokensDeleteErrors[keyof TokensDeleteErrors];
20981
+ export type TokensDeleteResults = {
20982
+ /**
20983
+ * Successful Response
20984
+ */
20985
+ 200: OkResponse;
20986
+ };
20987
+ export type TokensDeleteResult = TokensDeleteResults[keyof TokensDeleteResults];
20542
20988
  export type ToolsListData = {
20543
20989
  body?: never;
20544
20990
  path?: never;
@@ -21954,6 +22400,10 @@ export type WhatsappTemplatesListData = {
21954
22400
  * A connected WhatsApp sender.
21955
22401
  */
21956
22402
  integration_id: string;
22403
+ /**
22404
+ * Status
22405
+ */
22406
+ status?: Array<'pending' | 'approved' | 'rejected' | 'paused' | 'disabled'> | null;
21957
22407
  };
21958
22408
  url: '/v1/whatsapp/templates';
21959
22409
  };
@@ -21979,6 +22429,102 @@ export type WhatsappTemplatesListResults = {
21979
22429
  200: WhatsAppTemplatesResponse;
21980
22430
  };
21981
22431
  export type WhatsappTemplatesListResult = WhatsappTemplatesListResults[keyof WhatsappTemplatesListResults];
22432
+ export type WhatsappTemplatesCreateData = {
22433
+ body: CreateWhatsAppTemplateRequest;
22434
+ path?: never;
22435
+ query?: never;
22436
+ url: '/v1/whatsapp/templates';
22437
+ };
22438
+ export type WhatsappTemplatesCreateErrors = {
22439
+ /**
22440
+ * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
22441
+ */
22442
+ 400: ErrorResponse;
22443
+ /**
22444
+ * Missing credential, or one that is revoked or no longer a member of this organization.
22445
+ */
22446
+ 401: ErrorResponse;
22447
+ /**
22448
+ * Authenticated, but this organization role may not perform the operation.
22449
+ */
22450
+ 403: ErrorResponse;
22451
+ /**
22452
+ * The resource's current state forbids this — a name already taken, a job already running.
22453
+ */
22454
+ 409: ErrorResponse;
22455
+ /**
22456
+ * The request did not match this operation's schema; `detail.errors` lists each field.
22457
+ */
22458
+ 422: ErrorResponse;
22459
+ /**
22460
+ * Unexpected error. Every error this API returns carries this body.
22461
+ */
22462
+ default: ErrorResponse;
22463
+ };
22464
+ export type WhatsappTemplatesCreateError = WhatsappTemplatesCreateErrors[keyof WhatsappTemplatesCreateErrors];
22465
+ export type WhatsappTemplatesCreateResults = {
22466
+ /**
22467
+ * Successful Response
22468
+ */
22469
+ 201: WhatsAppTemplate;
22470
+ };
22471
+ export type WhatsappTemplatesCreateResult = WhatsappTemplatesCreateResults[keyof WhatsappTemplatesCreateResults];
22472
+ export type WhatsappTemplatesDeleteData = {
22473
+ body?: never;
22474
+ path: {
22475
+ /**
22476
+ * Template Id
22477
+ */
22478
+ template_id: string;
22479
+ };
22480
+ query: {
22481
+ /**
22482
+ * Integration Id
22483
+ *
22484
+ * A WhatsApp sender on the template's account.
22485
+ */
22486
+ integration_id: string;
22487
+ };
22488
+ url: '/v1/whatsapp/templates/{template_id}';
22489
+ };
22490
+ export type WhatsappTemplatesDeleteErrors = {
22491
+ /**
22492
+ * Well-formed, but rejected by a rule; `detail.errors` lists each problem.
22493
+ */
22494
+ 400: ErrorResponse;
22495
+ /**
22496
+ * Missing credential, or one that is revoked or no longer a member of this organization.
22497
+ */
22498
+ 401: ErrorResponse;
22499
+ /**
22500
+ * Authenticated, but this organization role may not perform the operation.
22501
+ */
22502
+ 403: ErrorResponse;
22503
+ /**
22504
+ * No such resource in this organization.
22505
+ */
22506
+ 404: ErrorResponse;
22507
+ /**
22508
+ * The resource's current state forbids this — a name already taken, a job already running.
22509
+ */
22510
+ 409: ErrorResponse;
22511
+ /**
22512
+ * The request did not match this operation's schema; `detail.errors` lists each field.
22513
+ */
22514
+ 422: ErrorResponse;
22515
+ /**
22516
+ * Unexpected error. Every error this API returns carries this body.
22517
+ */
22518
+ default: ErrorResponse;
22519
+ };
22520
+ export type WhatsappTemplatesDeleteError = WhatsappTemplatesDeleteErrors[keyof WhatsappTemplatesDeleteErrors];
22521
+ export type WhatsappTemplatesDeleteResults = {
22522
+ /**
22523
+ * Successful Response
22524
+ */
22525
+ 200: OkResponse;
22526
+ };
22527
+ export type WhatsappTemplatesDeleteResult = WhatsappTemplatesDeleteResults[keyof WhatsappTemplatesDeleteResults];
21982
22528
  export type WhatsappTwilioSendersListData = {
21983
22529
  body: TwilioSendersRequest;
21984
22530
  path?: never;