@getlatedev/node 0.2.1298 → 0.2.1299

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.
@@ -4483,6 +4483,59 @@ export type ConnectedApp = {
4483
4483
  tokenCount?: number;
4484
4484
  };
4485
4485
 
4486
+ export type ConnectHandoff = {
4487
+ id?: string;
4488
+ status?: 'waiting' | 'opened' | 'connected' | 'failed' | 'expired';
4489
+ platform?: string;
4490
+ /**
4491
+ * Filled when `status` is `connected`: every account the connect added (several when the user picked several pages, locations or organizations), each checked to be on the profile the connect was started for and written during this handoff. Empty otherwise.
4492
+ */
4493
+ accounts?: Array<{
4494
+ /**
4495
+ * The Zernio account id.
4496
+ */
4497
+ id?: string;
4498
+ profileId?: string;
4499
+ username?: string;
4500
+ }>;
4501
+ /**
4502
+ * Set when `status` is `failed`.
4503
+ */
4504
+ error?: {
4505
+ /**
4506
+ * The `error` code the flow ended on, as on a redirect_url. `connect_incomplete` when the phone reported no outcome, `connect_unverified` when it reported an account Zernio could not match to this connect.
4507
+ */
4508
+ code?: string;
4509
+ message?: (string) | null;
4510
+ /**
4511
+ * The other params the redirect flow appends for that error, such as `is_user_fixable`, `reason`, `dashboard_url`, `request_id` and `stage`. All optional.
4512
+ */
4513
+ details?: {
4514
+ [key: string]: (string);
4515
+ };
4516
+ } | null;
4517
+ };
4518
+
4519
+ export type status14 = 'waiting' | 'opened' | 'connected' | 'failed' | 'expired';
4520
+
4521
+ /**
4522
+ * Only with `handoff=true`: the link to show as a QR code.
4523
+ */
4524
+ export type ConnectHandoffLink = {
4525
+ /**
4526
+ * Pass to `GET /v1/connect/handoffs/{handoffId}`.
4527
+ */
4528
+ id?: string;
4529
+ /**
4530
+ * Short link to encode in the QR code. It opens the welcome screen on the phone.
4531
+ */
4532
+ url?: string;
4533
+ /**
4534
+ * When `url` stops working (30 minutes).
4535
+ */
4536
+ expiresAt?: string;
4537
+ };
4538
+
4486
4539
  export type ConnectWelcomeScreen = {
4487
4540
  showByDefault?: boolean;
4488
4541
  brandName?: (string) | null;
@@ -4684,7 +4737,7 @@ export type ConversionDestination = {
4684
4737
  * For LinkedIn, `inactive` means the rule is soft-deleted (`enabled: false`).
4685
4738
  *
4686
4739
  */
4687
- export type status14 = 'active' | 'inactive';
4740
+ export type status15 = 'active' | 'inactive';
4688
4741
 
4689
4742
  /**
4690
4743
  * A single conversion event to relay to the ad platform. All PII fields
@@ -5821,7 +5874,7 @@ export type objective = 'OUTCOME_ENGAGEMENT' | 'OUTCOME_SALES' | 'OUTCOME_LEADS'
5821
5874
  * `adSetId`, the new ads themselves.
5822
5875
  *
5823
5876
  */
5824
- export type status15 = 'ACTIVE' | 'PAUSED';
5877
+ export type status16 = 'ACTIVE' | 'PAUSED';
5825
5878
 
5826
5879
  /**
5827
5880
  * Campaign-level status, same semantics as `POST /v1/ads/create`. Defaults
@@ -6213,7 +6266,7 @@ export type privacy_level = 2;
6213
6266
  /**
6214
6267
  * 1=SCHEDULED, 2=ACTIVE, 3=COMPLETED, 4=CANCELED
6215
6268
  */
6216
- export type status16 = 1 | 2 | 3 | 4;
6269
+ export type status17 = 1 | 2 | 3 | 4;
6217
6270
 
6218
6271
  /**
6219
6272
  * 1=STAGE_INSTANCE, 2=VOICE, 3=EXTERNAL
@@ -6756,7 +6809,7 @@ export type FeedbackReceipt = {
6756
6809
  duplicate?: boolean;
6757
6810
  };
6758
6811
 
6759
- export type status17 = 'received';
6812
+ export type status18 = 'received';
6760
6813
 
6761
6814
  export type FollowerStatsResponse = {
6762
6815
  accounts?: Array<AccountWithFollowerStats>;
@@ -6885,7 +6938,7 @@ export type GoogleAdLabel = {
6885
6938
  description?: (string) | null;
6886
6939
  };
6887
6940
 
6888
- export type status18 = 'ENABLED' | 'REMOVED' | 'UNKNOWN';
6941
+ export type status19 = 'ENABLED' | 'REMOVED' | 'UNKNOWN';
6889
6942
 
6890
6943
  /**
6891
6944
  * At least one id across the four target lists. Up to 1000 ids per list.
@@ -6988,7 +7041,7 @@ export type GoogleAdsManagerLink = {
6988
7041
  /**
6989
7042
  * Status the link has after this call.
6990
7043
  */
6991
- export type status19 = 'PENDING' | 'ACTIVE' | 'REFUSED' | 'CANCELED' | 'INACTIVE';
7044
+ export type status20 = 'PENDING' | 'ACTIVE' | 'REFUSED' | 'CANCELED' | 'INACTIVE';
6992
7045
 
6993
7046
  export type GoogleAdsUserAccessInvitation = {
6994
7047
  invitationId?: string;
@@ -7003,7 +7056,7 @@ export type GoogleAdsUserAccessInvitation = {
7003
7056
 
7004
7057
  export type accessRole = 'ADMIN' | 'STANDARD' | 'READ_ONLY' | 'EMAIL_ONLY' | 'UNKNOWN';
7005
7058
 
7006
- export type status20 = 'PENDING' | 'DECLINED' | 'EXPIRED' | 'UNKNOWN';
7059
+ export type status21 = 'PENDING' | 'DECLINED' | 'EXPIRED' | 'UNKNOWN';
7007
7060
 
7008
7061
  export type GoogleAdsUserAccessInvitationResult = {
7009
7062
  customerId?: string;
@@ -7027,7 +7080,7 @@ export type GoogleAdsUserAccessInvitationResult = {
7027
7080
  /**
7028
7081
  * PENDING once the email is sent; PENDING_APPROVAL while Google waits for a second admin's multi-party approval.
7029
7082
  */
7030
- export type status21 = 'PENDING' | 'PENDING_APPROVAL';
7083
+ export type status22 = 'PENDING' | 'PENDING_APPROVAL';
7031
7084
 
7032
7085
  export type GoogleAdsUserInvitationApproval = {
7033
7086
  /**
@@ -7792,7 +7845,7 @@ export type GoogleRecommendationResult = {
7792
7845
  error?: string;
7793
7846
  };
7794
7847
 
7795
- export type status22 = 'applied' | 'dismissed' | 'failed';
7848
+ export type status23 = 'applied' | 'dismissed' | 'failed';
7796
7849
 
7797
7850
  export type GoogleRsaDescription = {
7798
7851
  text: string;
@@ -7927,7 +7980,7 @@ export type ImessageSandboxContact = {
7927
7980
  createdAt?: string;
7928
7981
  };
7929
7982
 
7930
- export type status23 = 'pending' | 'active';
7983
+ export type status24 = 'pending' | 'active';
7931
7984
 
7932
7985
  /**
7933
7986
  * An iMessage sender registered as an account on a profile.
@@ -8002,7 +8055,7 @@ export type region = 'US' | 'GB';
8002
8055
  /**
8003
8056
  * `awaiting_payment`: the first-month charge is still being confirmed by the card; the number is ordered automatically once it is paid (usually under 5 minutes), or the order fails with `failureReason` when the card declines or nothing confirms within 30 minutes.
8004
8057
  */
8005
- export type status24 = 'ordering' | 'awaiting_payment' | 'activating' | 'active' | 'suspended' | 'canceled' | 'failed';
8058
+ export type status25 = 'ordering' | 'awaiting_payment' | 'activating' | 'active' | 'suspended' | 'canceled' | 'failed';
8006
8059
 
8007
8060
  /**
8008
8061
  * Click attribution for a conversation that started from a Meta ad or
@@ -8205,7 +8258,7 @@ export type InboxWebhookConversation = {
8205
8258
  contactId?: string;
8206
8259
  };
8207
8260
 
8208
- export type status25 = 'active' | 'archived';
8261
+ export type status26 = 'active' | 'archived';
8209
8262
 
8210
8263
  /**
8211
8264
  * The conversation object included in conversation lifecycle webhook payloads (conversation.started, conversation.control_changed).
@@ -10222,7 +10275,7 @@ export type OwnedPhoneNumber = {
10222
10275
  }>;
10223
10276
  };
10224
10277
 
10225
- export type status26 = 'pending_payment' | 'pending_regulatory' | 'regulatory_declined' | 'provisioning' | 'verifying' | 'active' | 'suspended' | 'releasing' | 'released';
10278
+ export type status27 = 'pending_payment' | 'pending_regulatory' | 'regulatory_declined' | 'provisioning' | 'verifying' | 'active' | 'suspended' | 'releasing' | 'released';
10226
10279
 
10227
10280
  export type metaVerificationStatus = 'pending' | 'code_requested' | 'verified' | 'expired';
10228
10281
 
@@ -10360,7 +10413,7 @@ export type PlatformAnalytics = {
10360
10413
  isOwner?: (boolean) | null;
10361
10414
  };
10362
10415
 
10363
- export type status27 = 'published' | 'failed';
10416
+ export type status28 = 'published' | 'failed';
10364
10417
 
10365
10418
  /**
10366
10419
  * Sync state of analytics for this platform
@@ -10563,7 +10616,7 @@ export type Post = {
10563
10616
  /**
10564
10617
  * `cancelled` is set by POST /v1/posts/{postId}/unpublish once every platform entry has been removed from its platform (a post with published entries left becomes `partial`); cancelled posts can be edited and rescheduled like drafts. `pending_approval` (set by `requiresApproval: true`) never publishes until POST /v1/posts/{postId}/review approves it.
10565
10618
  */
10566
- export type status28 = 'draft' | 'pending_approval' | 'scheduled' | 'publishing' | 'published' | 'partial' | 'failed' | 'cancelled';
10619
+ export type status29 = 'draft' | 'pending_approval' | 'scheduled' | 'publishing' | 'published' | 'partial' | 'failed' | 'cancelled';
10567
10620
 
10568
10621
  export type visibility2 = 'public' | 'private' | 'unlisted';
10569
10622
 
@@ -10800,7 +10853,7 @@ export type Product = {
10800
10853
  publishedAt?: (string) | null;
10801
10854
  };
10802
10855
 
10803
- export type status29 = 'active' | 'draft' | 'archived';
10856
+ export type status30 = 'active' | 'draft' | 'archived';
10804
10857
 
10805
10858
  export type ProductImage = {
10806
10859
  url?: string;
@@ -11019,7 +11072,7 @@ export type RcsAgent = {
11019
11072
  createdAt?: string;
11020
11073
  };
11021
11074
 
11022
- export type status30 = 'requested' | 'changes_requested' | 'brand_vetting' | 'agent_review' | 'testing' | 'launch_review' | 'launching' | 'live' | 'rejected' | 'deactivated';
11075
+ export type status31 = 'requested' | 'changes_requested' | 'brand_vetting' | 'agent_review' | 'testing' | 'launch_review' | 'launching' | 'live' | 'rejected' | 'deactivated';
11023
11076
 
11024
11077
  export type useCase = 'MULTI_USE' | 'PROMOTIONAL' | 'TRANSACTIONAL' | 'OTP';
11025
11078
 
@@ -11071,7 +11124,7 @@ export type RcsBrand = RcsBrandInput & {
11071
11124
  /**
11072
11125
  * draft = not filed yet (still editable).
11073
11126
  */
11074
- export type status31 = 'draft' | 'vetting' | 'verified' | 'rejected';
11127
+ export type status32 = 'draft' | 'vetting' | 'verified' | 'rejected';
11075
11128
 
11076
11129
  export type RcsBrandInput = {
11077
11130
  displayName: string;
@@ -11158,7 +11211,7 @@ export type RcsCarrierApproval = {
11158
11211
 
11159
11212
  export type scope2 = 'carrier' | 'hub' | 'bot';
11160
11213
 
11161
- export type status32 = 'PENDING' | 'SUBMITTED' | 'APPROVED' | 'REJECTED';
11214
+ export type status33 = 'PENDING' | 'SUBMITTED' | 'APPROVED' | 'REJECTED';
11162
11215
 
11163
11216
  /**
11164
11217
  * Message content. `suggestions` (max 11) render as chips under the message.
@@ -11990,7 +12043,7 @@ export type SupportRun = {
11990
12043
  /**
11991
12044
  * queued and running are in progress. needs_human means the assistant handed the question to a person instead of answering; when `supportTicket` is set, a Zernio teammate has been notified and will follow up by email.
11992
12045
  */
11993
- export type status33 = 'queued' | 'running' | 'completed' | 'needs_human' | 'failed';
12046
+ export type status34 = 'queued' | 'running' | 'completed' | 'needs_human' | 'failed';
11994
12047
 
11995
12048
  /**
11996
12049
  * Why the run stopped. Null while it is in progress.
@@ -12957,7 +13010,7 @@ export type UploadTokenResponse = {
12957
13010
  status?: 'pending' | 'completed' | 'expired';
12958
13011
  };
12959
13012
 
12960
- export type status34 = 'pending' | 'completed' | 'expired';
13013
+ export type status35 = 'pending' | 'completed' | 'expired';
12961
13014
 
12962
13015
  export type UploadTokenStatusResponse = {
12963
13016
  token?: string;
@@ -13309,6 +13362,10 @@ export type User = {
13309
13362
  email?: string;
13310
13363
  name?: string;
13311
13364
  role?: string;
13365
+ /**
13366
+ * Resource groups turned off for this team member. Empty for owners and unrestricted members.
13367
+ */
13368
+ disabledResourceGroups?: Array<(string)>;
13312
13369
  createdAt?: string;
13313
13370
  };
13314
13371
 
@@ -13464,7 +13521,7 @@ export type Verification = {
13464
13521
  resend?: boolean;
13465
13522
  };
13466
13523
 
13467
- export type status35 = 'pending' | 'approved' | 'expired' | 'max_attempts_reached' | 'canceled' | 'delivery_failed';
13524
+ export type status36 = 'pending' | 'approved' | 'expired' | 'max_attempts_reached' | 'canceled' | 'delivery_failed';
13468
13525
 
13469
13526
  export type channel5 = 'sms' | 'whatsapp';
13470
13527
 
@@ -13642,7 +13699,7 @@ export type WebhookLog = {
13642
13699
  /**
13643
13700
  * Delivery outcome
13644
13701
  */
13645
- export type status36 = 'success' | 'failed';
13702
+ export type status37 = 'success' | 'failed';
13646
13703
 
13647
13704
  /**
13648
13705
  * Webhook payload for `account.ads.initial_sync_completed` events.
@@ -13759,7 +13816,7 @@ export type event = 'account.ads.initial_sync_completed';
13759
13816
  /**
13760
13817
  * Overall outcome of the initial sync.
13761
13818
  */
13762
- export type status37 = 'success' | 'failure';
13819
+ export type status38 = 'success' | 'failure';
13763
13820
 
13764
13821
  /**
13765
13822
  * Stable category for UX branching. New values may be added; existing ones are
@@ -14138,7 +14195,7 @@ export type WebhookPayloadAdReview = {
14138
14195
 
14139
14196
  export type event8 = 'ad.review.approved' | 'ad.review.rejected';
14140
14197
 
14141
- export type status38 = 'approved' | 'rejected';
14198
+ export type status39 = 'approved' | 'rejected';
14142
14199
 
14143
14200
  /**
14144
14201
  * Webhook payload for the `ad.status_changed` event. Currently emitted
@@ -14341,7 +14398,7 @@ export type event10 = 'ad.video.processed';
14341
14398
  /**
14342
14399
  * `ready`: usable as `video.id` on the create endpoints. `error`: Meta could not process it; upload again.
14343
14400
  */
14344
- export type status39 = 'ready' | 'error';
14401
+ export type status40 = 'ready' | 'error';
14345
14402
 
14346
14403
  /**
14347
14404
  * Webhook payload for `analytics.synced`. Fired once per connected account each
@@ -16533,7 +16590,7 @@ export type event34 = 'post.platform.published' | 'post.platform.failed' | 'post
16533
16590
  /**
16534
16591
  * Terminal status this event fires on. Matches the event suffix.
16535
16592
  */
16536
- export type status40 = 'published' | 'failed' | 'deleted';
16593
+ export type status41 = 'published' | 'failed' | 'deleted';
16537
16594
 
16538
16595
  /**
16539
16596
  * Webhook payload for reaction received events (WhatsApp, Telegram, Slack, Instagram, Facebook Messenger, TikTok)
@@ -16930,7 +16987,7 @@ export type event43 = 'whatsapp.account.name_status_updated';
16930
16987
  /**
16931
16988
  * Normalized from Meta's `decision` (REJECTED -> DECLINED, DEFERRED -> PENDING_REVIEW; the review is still open on DEFERRED, not a rejection).
16932
16989
  */
16933
- export type status41 = 'APPROVED' | 'DECLINED' | 'PENDING_REVIEW';
16990
+ export type status42 = 'APPROVED' | 'DECLINED' | 'PENDING_REVIEW';
16934
16991
 
16935
16992
  /**
16936
16993
  * Webhook payload for `whatsapp.account.quality_updated`. Fired when a connected
@@ -17064,7 +17121,7 @@ export type event45 = 'whatsapp.account.status_updated';
17064
17121
  /**
17065
17122
  * `active` only on a reinstatement (DISABLED_UPDATE with ban state REINSTATE).
17066
17123
  */
17067
- export type status42 = 'restricted' | 'active';
17124
+ export type status43 = 'restricted' | 'active';
17068
17125
 
17069
17126
  /**
17070
17127
  * Webhook payload for the `whatsapp.contact.identity_changed` event. Fired when
@@ -17280,7 +17337,7 @@ export type event48 = 'whatsapp.template.status_updated';
17280
17337
  * request before the template is actually removed.
17281
17338
  *
17282
17339
  */
17283
- export type status43 = 'APPROVED' | 'REJECTED' | 'PENDING' | 'PAUSED' | 'DISABLED' | 'IN_APPEAL' | 'PENDING_DELETION';
17340
+ export type status44 = 'APPROVED' | 'REJECTED' | 'PENDING' | 'PAUSED' | 'DISABLED' | 'IN_APPEAL' | 'PENDING_DELETION';
17284
17341
 
17285
17342
  export type WebhookPayloadWorkflowRun = {
17286
17343
  /**
@@ -17344,7 +17401,7 @@ export type event49 = 'workflow.run.started' | 'workflow.run.completed' | 'workf
17344
17401
  /**
17345
17402
  * running on workflow.run.started; completed or exited (ended on purpose before the last node, e.g. a handoff) on workflow.run.completed; failed on workflow.run.failed.
17346
17403
  */
17347
- export type status44 = 'running' | 'waiting' | 'completed' | 'exited' | 'failed';
17404
+ export type status45 = 'running' | 'waiting' | 'completed' | 'exited' | 'failed';
17348
17405
 
17349
17406
  /**
17350
17407
  * The profiles this event belongs to, each with the externalId you set on it (null when none is set). Present on every event tied to a profile and absent on events that belong to none. Events spanning several profiles (a post published to accounts of different profiles) list each once. Use it to route the event to your tenant without storing Zernio profile ids.
@@ -17742,7 +17799,7 @@ export type WorkflowExecutionEvent = {
17742
17799
 
17743
17800
  export type action2 = 'execution_started' | 'execution_completed' | 'execution_exited' | 'execution_paused' | 'execution_resumed' | 'node_started' | 'node_completed' | 'node_failed' | 'node_skipped';
17744
17801
 
17745
- export type status45 = 'success' | 'failed' | 'pending';
17802
+ export type status46 = 'success' | 'failed' | 'pending';
17746
17803
 
17747
17804
  /**
17748
17805
  * A node in a workflow graph. `config` shape depends on `type`.
@@ -22334,6 +22391,10 @@ export type CreateInviteTokenData = {
22334
22391
  * Org role granted to the invitee. Defaults to 'member'. 'admin' can manage the team (invite/remove members, change roles and access) and billing, but not ownership transfer or account deletion. 'billing_admin' (displayed as Billing Manager) manages billing only. 'viewer' creates a read-only member who can view everything in their profile scope but cannot perform any content mutation (publish, edit, delete, connect accounts).
22335
22392
  */
22336
22393
  role?: 'admin' | 'member' | 'billing_admin' | 'viewer';
22394
+ /**
22395
+ * Resource groups the invitee may not use once they join (the same groups as restricted API keys). Their dashboard hides those sections and every API request into a disabled group, with any credential they hold, is refused with 403. Omitted or empty means full access. Groups the caller lacks themselves are always added.
22396
+ */
22397
+ disabledResourceGroups?: Array<('publishing' | 'engagement' | 'messages' | 'contacts' | 'analytics' | 'ads' | 'telephony' | 'accounts' | 'billing' | 'webhooks' | 'commerce')>;
22337
22398
  /**
22338
22399
  * Deprecated. Use role 'viewer' instead. When true, the invite is created with role 'viewer'. Cannot be combined with role 'billing_admin' or 'admin'.
22339
22400
  * @deprecated
@@ -22346,6 +22407,7 @@ export type CreateInviteTokenResponse = ({
22346
22407
  token?: string;
22347
22408
  scope?: string;
22348
22409
  invitedProfileIds?: Array<(string)>;
22410
+ disabledResourceGroups?: Array<(string)>;
22349
22411
  expiresAt?: string;
22350
22412
  inviteUrl?: string;
22351
22413
  });
@@ -22383,6 +22445,10 @@ export type GetConnectUrlData = {
22383
22445
  * Instagram Login only (the default loginMethod); ignored elsewhere. Makes Instagram show its login page and ask for the credentials of the account to connect even when another Instagram account is logged in on the device or in the app, and hides the Facebook login option on that page. Use it when the person connecting manages several Instagram accounts on one phone: Instagram otherwise logs in, and converts to a professional account, whichever account is active, before any consent screen. Pair it with expectedUsername to also refuse a wrong account at the end.
22384
22446
  */
22385
22447
  forceReauth?: boolean;
22448
+ /**
22449
+ * Let the user finish on their phone. When `true`, the response also carries `handoff`: show `handoff.url` as a QR code in your app (any QR library), the user scans it and the welcome screen opens on the phone, already carrying this connect, so they log in to the platform there without signing in to anything else. The phone ends on a Zernio result screen telling them to go back to their computer. Learn the outcome by polling `GET /v1/connect/handoffs/{handoffId}` (every 2 to 5 seconds is fine) or from the `account.connected` webhook. Shows the welcome screen with your branding parameters or saved settings. Cannot be combined with `welcome=false`, `headless=true`, `signup`, `redirect=true` or `redirect_url` (400 `INVALID_FIELD_VALUE`). `handoff.url` works for 30 minutes. When the account is re-enabled straight away the response carries `account` instead, as without `handoff`.
22450
+ */
22451
+ handoff?: boolean;
22386
22452
  /**
22387
22453
  * When true, the user is redirected to your redirect_url with raw OAuth data (code, state) instead of Zernio's default account selection UI. Use this to build a custom connect experience.
22388
22454
  */
@@ -22623,6 +22689,7 @@ export type GetConnectUrlResponse = ({
22623
22689
  * State parameter for security (handled automatically)
22624
22690
  */
22625
22691
  state?: string;
22692
+ handoff?: ConnectHandoffLink;
22626
22693
  });
22627
22694
 
22628
22695
  export type GetConnectUrlError = (unknown | ErrorResponse | {
@@ -25418,6 +25485,19 @@ export type DeleteGoogleBusinessReviewReplyError = (ErrorResponse | {
25418
25485
  error?: string;
25419
25486
  });
25420
25487
 
25488
+ export type GetConnectHandoffData = {
25489
+ path: {
25490
+ /**
25491
+ * `handoff.id` from the connect response.
25492
+ */
25493
+ handoffId: string;
25494
+ };
25495
+ };
25496
+
25497
+ export type GetConnectHandoffResponse = (ConnectHandoff);
25498
+
25499
+ export type GetConnectHandoffError = (ErrorResponse | unknown);
25500
+
25421
25501
  export type GetConnectWelcomeScreenResponse = (ConnectWelcomeScreen);
25422
25502
 
25423
25503
  export type GetConnectWelcomeScreenError = (ErrorResponse);