@getlatedev/node 0.2.317 → 0.2.319

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/dist/index.d.mts CHANGED
@@ -698,12 +698,12 @@ declare class Zernio {
698
698
  * ads API
699
699
  */
700
700
  ads: {
701
- listAds: <ThrowOnError extends boolean = false>(options?: _hey_api_client_fetch.OptionsLegacyParser<ListAdsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<ListAdsResponse, unknown, ThrowOnError>;
701
+ listAds: <ThrowOnError extends boolean = false>(options?: _hey_api_client_fetch.OptionsLegacyParser<ListAdsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<unknown, unknown, ThrowOnError>;
702
702
  getAd: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<GetAdData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<GetAdResponse, GetAdError, ThrowOnError>;
703
703
  updateAd: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<UpdateAdData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<UpdateAdResponse, unknown, ThrowOnError>;
704
704
  deleteAd: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<DeleteAdData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<DeleteAdResponse, DeleteAdError, ThrowOnError>;
705
- getCampaignAnalytics: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<GetCampaignAnalyticsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<GetCampaignAnalyticsResponse, unknown, ThrowOnError>;
706
- getAdAnalytics: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<GetAdAnalyticsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<GetAdAnalyticsResponse, unknown, ThrowOnError>;
705
+ getCampaignAnalytics: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<GetCampaignAnalyticsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<unknown, unknown, ThrowOnError>;
706
+ getAdAnalytics: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<GetAdAnalyticsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<unknown, unknown, ThrowOnError>;
707
707
  getAdTrackingTags: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<GetAdTrackingTagsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<GetAdTrackingTagsResponse, unknown, ThrowOnError>;
708
708
  updateAdTrackingTags: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<UpdateAdTrackingTagsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<unknown, unknown, ThrowOnError>;
709
709
  getAdComments: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<GetAdCommentsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<GetAdCommentsResponse, unknown, ThrowOnError>;
@@ -749,8 +749,8 @@ declare class Zernio {
749
749
  duplicateAdCampaign: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<DuplicateAdCampaignData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<DuplicateAdCampaignResponse, unknown, ThrowOnError>;
750
750
  updateAdSet: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<UpdateAdSetData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<UpdateAdSetResponse, unknown, ThrowOnError>;
751
751
  updateAdSetStatus: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<UpdateAdSetStatusData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<UpdateAdSetStatusResponse, unknown, ThrowOnError>;
752
- getAdTree: <ThrowOnError extends boolean = false>(options?: _hey_api_client_fetch.OptionsLegacyParser<GetAdTreeData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<GetAdTreeResponse, unknown, ThrowOnError>;
753
- getAdsTimeline: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<GetAdsTimelineData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<GetAdsTimelineResponse, unknown, ThrowOnError>;
752
+ getAdTree: <ThrowOnError extends boolean = false>(options?: _hey_api_client_fetch.OptionsLegacyParser<GetAdTreeData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<unknown, unknown, ThrowOnError>;
753
+ getAdsTimeline: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<GetAdsTimelineData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<unknown, unknown, ThrowOnError>;
754
754
  };
755
755
  /**
756
756
  * adaudiences API
@@ -5640,6 +5640,56 @@ type WebhookPayloadMessage = {
5640
5640
  flowResponseData?: {
5641
5641
  [key: string]: unknown;
5642
5642
  };
5643
+ /**
5644
+ * WhatsApp only. Cart submitted by the user from a commerce message
5645
+ * (catalog, product, or product-list message). Meta's `order` object
5646
+ * forwarded verbatim.
5647
+ *
5648
+ */
5649
+ order?: {
5650
+ /**
5651
+ * Meta catalog the ordered products belong to.
5652
+ */
5653
+ catalog_id?: string;
5654
+ /**
5655
+ * Optional free-text note the user attached to the cart.
5656
+ */
5657
+ text?: string;
5658
+ product_items?: Array<{
5659
+ /**
5660
+ * Retailer ID (SKU) of the ordered product.
5661
+ */
5662
+ product_retailer_id?: string;
5663
+ /**
5664
+ * Quantity ordered for this line item.
5665
+ */
5666
+ quantity?: number;
5667
+ /**
5668
+ * Unit price of the item.
5669
+ */
5670
+ item_price?: number;
5671
+ /**
5672
+ * ISO 4217 currency code (e.g. USD).
5673
+ */
5674
+ currency?: string;
5675
+ }>;
5676
+ };
5677
+ /**
5678
+ * WhatsApp only. The product the user is asking about. Set when an
5679
+ * inbound text carries Meta's `context.referred_product` (the user
5680
+ * tapped "Message business" on a product). Forwarded verbatim.
5681
+ *
5682
+ */
5683
+ referredProduct?: {
5684
+ /**
5685
+ * Meta catalog the product belongs to.
5686
+ */
5687
+ catalog_id?: string;
5688
+ /**
5689
+ * Retailer ID (SKU) of the product being asked about.
5690
+ */
5691
+ product_retailer_id?: string;
5692
+ };
5643
5693
  /**
5644
5694
  * Instagram only. Populated when an IG user replies to one of the
5645
5695
  * account's stories (Meta `messaging_story_replies`). Mutually
@@ -13717,16 +13767,32 @@ type SendInboxMessageData = {
13717
13767
  };
13718
13768
  /**
13719
13769
  * WhatsApp-only. Rich interactive payload for list messages, CTA URL
13720
- * buttons, Flow prompts, and location requests. When set, takes
13721
- * priority over `buttons` and `quickReplies`. The shape mirrors
13722
- * Meta's Cloud API `interactive` object verbatim, so any payload
13723
- * that works against Meta directly will also work here.
13770
+ * buttons, Flow prompts, location requests, voice-call buttons, and
13771
+ * commerce messages (single product, product list, catalog, and
13772
+ * carousel). When set, takes priority over `buttons` and
13773
+ * `quickReplies`. The shape mirrors Meta's Cloud API `interactive`
13774
+ * object verbatim, so any payload that works against Meta directly
13775
+ * will also work here.
13724
13776
  *
13725
13777
  * Use `buttons` / `quickReplies` for simple button replies
13726
- * (WhatsApp's `interactive.type: "button"`) the abstraction caps at
13778
+ * (WhatsApp's `interactive.type: "button"`): the abstraction caps at
13727
13779
  * 3 buttons and handles the auto-conversion for you. Use this field
13728
- * only for `list`, `cta_url`, `flow`, `location_request_message`, or
13729
- * `voice_call` messages.
13780
+ * only for the types listed in the enum below.
13781
+ *
13782
+ * All interactive messages are session messages: they can only be
13783
+ * sent inside the 24-hour customer service window opened by the
13784
+ * user's last inbound message.
13785
+ *
13786
+ * Commerce types (`product`, `product_list`, `catalog_message`, and
13787
+ * product carousels) require a Meta catalog connected to the
13788
+ * WhatsApp Business Account in Commerce Manager. Media carousels
13789
+ * (image/video cards) do not need a catalog.
13790
+ *
13791
+ * For `product`, `body` is optional (WhatsApp renders the product
13792
+ * card itself) and `header` is not allowed (the product image is
13793
+ * the header). For `product_list`, a `header` with `type: "text"`
13794
+ * is required. For `carousel`, top-level `header`/`footer` are not
13795
+ * supported; media goes on each card instead.
13730
13796
  *
13731
13797
  * For `voice_call`, the message renders WhatsApp's native call
13732
13798
  * button; tapping it starts a voice call to your business number.
@@ -13739,17 +13805,25 @@ type SendInboxMessageData = {
13739
13805
  * "Send location" button; the user's reply arrives as a regular
13740
13806
  * location message in the conversation.
13741
13807
  *
13808
+ * For `catalog_message`, `action` may also be omitted (we default it
13809
+ * to `{ "name": "catalog_message" }`).
13810
+ *
13742
13811
  * Tap events come back via the `message.received` webhook with
13743
13812
  * `metadata.interactiveType` set to `list_reply` or `nfm_reply`.
13813
+ * Carts submitted from commerce messages arrive as `metadata.order`;
13814
+ * product inquiries arrive as `metadata.referredProduct`.
13744
13815
  *
13745
13816
  */
13746
13817
  interactive?: {
13747
13818
  /**
13748
13819
  * Which interactive layout to render.
13749
13820
  */
13750
- type: 'list' | 'cta_url' | 'flow' | 'location_request_message' | 'voice_call';
13821
+ type: 'list' | 'cta_url' | 'flow' | 'location_request_message' | 'voice_call' | 'product' | 'product_list' | 'catalog_message' | 'carousel';
13751
13822
  /**
13752
- * Optional header shown above the body.
13823
+ * Optional header shown above the body. Required with
13824
+ * `type: "text"` for `product_list`; not allowed for `product`
13825
+ * or `carousel`.
13826
+ *
13753
13827
  */
13754
13828
  header?: {
13755
13829
  type?: 'text' | 'image' | 'video' | 'document';
@@ -13767,7 +13841,10 @@ type SendInboxMessageData = {
13767
13841
  link?: string;
13768
13842
  };
13769
13843
  };
13770
- body: {
13844
+ /**
13845
+ * Required for every type except `product`, where it is optional.
13846
+ */
13847
+ body?: {
13771
13848
  /**
13772
13849
  * Main body text.
13773
13850
  */
@@ -13883,6 +13960,73 @@ type SendInboxMessageData = {
13883
13960
  };
13884
13961
  } | {
13885
13962
  name: 'send_location';
13963
+ } | {
13964
+ /**
13965
+ * Meta catalog ID connected to the WhatsApp Business Account.
13966
+ */
13967
+ catalog_id: string;
13968
+ /**
13969
+ * Retailer ID (SKU) of the product inside the catalog.
13970
+ */
13971
+ product_retailer_id: string;
13972
+ } | {
13973
+ /**
13974
+ * Meta catalog ID connected to the WhatsApp Business Account.
13975
+ */
13976
+ catalog_id: string;
13977
+ /**
13978
+ * 1-10 sections. Total products across all sections cannot exceed 30.
13979
+ */
13980
+ sections: Array<{
13981
+ /**
13982
+ * Optional section header.
13983
+ */
13984
+ title?: string;
13985
+ product_items: Array<{
13986
+ /**
13987
+ * Retailer ID (SKU) of the product inside the catalog.
13988
+ */
13989
+ product_retailer_id: string;
13990
+ }>;
13991
+ }>;
13992
+ } | {
13993
+ name: 'catalog_message';
13994
+ parameters?: {
13995
+ /**
13996
+ * Optional product whose image is used as the message thumbnail. Falls back to the first catalog item when omitted.
13997
+ */
13998
+ thumbnail_product_retailer_id?: string;
13999
+ };
14000
+ } | {
14001
+ cards: Array<{
14002
+ /**
14003
+ * Card position. Auto-filled sequentially when omitted.
14004
+ */
14005
+ card_index?: number;
14006
+ /**
14007
+ * `product` for a product card; media cards use `cta_url` or a quick-reply type.
14008
+ */
14009
+ type?: string;
14010
+ /**
14011
+ * Media cards only
14012
+ */
14013
+ header?: {
14014
+ [key: string]: unknown;
14015
+ };
14016
+ /**
14017
+ * Optional card body text.
14018
+ */
14019
+ body?: {
14020
+ [key: string]: unknown;
14021
+ };
14022
+ /**
14023
+ * Product cards: `{ catalog_id, product_retailer_id }` (required). Media cards: the card's button action (e.g. `cta_url` with `parameters.display_text` and `parameters.url`).
14024
+ */
14025
+ action?: {
14026
+ [key: string]: unknown;
14027
+ };
14028
+ [key: string]: unknown | number | string;
14029
+ }>;
13886
14030
  });
13887
14031
  };
13888
14032
  /**
@@ -20890,8 +21034,12 @@ type ListAdsData = {
20890
21034
  };
20891
21035
  type ListAdsResponse = ({
20892
21036
  ads?: Array<Ad>;
21037
+ /**
21038
+ * Present and true only on `202` responses: part of the requested date range is still being backfilled from the platform in the background. Retry the same request shortly; it returns 200 once the range is fully ingested.
21039
+ */
21040
+ backfillPending?: boolean;
20893
21041
  pagination?: Pagination;
20894
- });
21042
+ } | unknown);
20895
21043
  type ListAdsError = ({
20896
21044
  error?: string;
20897
21045
  } | unknown);
@@ -21236,8 +21384,12 @@ type GetAdTreeData = {
21236
21384
  };
21237
21385
  type GetAdTreeResponse = ({
21238
21386
  campaigns?: Array<AdTreeCampaign>;
21387
+ /**
21388
+ * Present and true only on `202` responses: part of the requested date range is still being backfilled from the platform in the background. Retry the same request shortly; it returns 200 once the range is fully ingested.
21389
+ */
21390
+ backfillPending?: boolean;
21239
21391
  pagination?: Pagination;
21240
- });
21392
+ } | unknown);
21241
21393
  type GetAdTreeError = ({
21242
21394
  error?: string;
21243
21395
  } | unknown);
@@ -21314,7 +21466,11 @@ type GetAdsTimelineResponse = ({
21314
21466
  */
21315
21467
  roas?: number;
21316
21468
  }>;
21317
- });
21469
+ /**
21470
+ * Present and true only on `202` responses: part of the requested date range is still being backfilled from the platform in the background. Retry the same request shortly; it returns 200 once the range is fully ingested.
21471
+ */
21472
+ backfillPending?: boolean;
21473
+ } | unknown);
21318
21474
  type GetAdsTimelineError = ({
21319
21475
  error?: string;
21320
21476
  } | unknown);
@@ -21452,6 +21608,10 @@ type GetCampaignAnalyticsResponse = ({
21452
21608
  */
21453
21609
  currency?: (string) | null;
21454
21610
  };
21611
+ /**
21612
+ * Present and true only on `202` responses: part of the requested date range is still being backfilled from the platform in the background. Retry the same request shortly; it returns 200 once the range is fully ingested.
21613
+ */
21614
+ backfillPending?: boolean;
21455
21615
  analytics?: {
21456
21616
  summary?: AdMetrics;
21457
21617
  daily?: Array<(AdMetrics & {
@@ -21463,7 +21623,7 @@ type GetCampaignAnalyticsResponse = ({
21463
21623
  }>;
21464
21624
  };
21465
21625
  };
21466
- });
21626
+ } | unknown);
21467
21627
  type GetCampaignAnalyticsError = ({
21468
21628
  error?: string;
21469
21629
  } | unknown);
@@ -21498,6 +21658,10 @@ type GetAdAnalyticsResponse = ({
21498
21658
  */
21499
21659
  currency?: (string) | null;
21500
21660
  };
21661
+ /**
21662
+ * Present and true only on `202` responses: part of the requested date range is still being backfilled from the platform in the background. Retry the same request shortly; it returns 200 once the range is fully ingested.
21663
+ */
21664
+ backfillPending?: boolean;
21501
21665
  analytics?: {
21502
21666
  summary?: AdMetrics;
21503
21667
  daily?: Array<(AdMetrics & {
@@ -21509,7 +21673,7 @@ type GetAdAnalyticsResponse = ({
21509
21673
  }>;
21510
21674
  };
21511
21675
  };
21512
- });
21676
+ } | unknown);
21513
21677
  type GetAdAnalyticsError = ({
21514
21678
  error?: string;
21515
21679
  } | unknown);
package/dist/index.d.ts CHANGED
@@ -698,12 +698,12 @@ declare class Zernio {
698
698
  * ads API
699
699
  */
700
700
  ads: {
701
- listAds: <ThrowOnError extends boolean = false>(options?: _hey_api_client_fetch.OptionsLegacyParser<ListAdsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<ListAdsResponse, unknown, ThrowOnError>;
701
+ listAds: <ThrowOnError extends boolean = false>(options?: _hey_api_client_fetch.OptionsLegacyParser<ListAdsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<unknown, unknown, ThrowOnError>;
702
702
  getAd: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<GetAdData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<GetAdResponse, GetAdError, ThrowOnError>;
703
703
  updateAd: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<UpdateAdData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<UpdateAdResponse, unknown, ThrowOnError>;
704
704
  deleteAd: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<DeleteAdData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<DeleteAdResponse, DeleteAdError, ThrowOnError>;
705
- getCampaignAnalytics: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<GetCampaignAnalyticsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<GetCampaignAnalyticsResponse, unknown, ThrowOnError>;
706
- getAdAnalytics: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<GetAdAnalyticsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<GetAdAnalyticsResponse, unknown, ThrowOnError>;
705
+ getCampaignAnalytics: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<GetCampaignAnalyticsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<unknown, unknown, ThrowOnError>;
706
+ getAdAnalytics: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<GetAdAnalyticsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<unknown, unknown, ThrowOnError>;
707
707
  getAdTrackingTags: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<GetAdTrackingTagsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<GetAdTrackingTagsResponse, unknown, ThrowOnError>;
708
708
  updateAdTrackingTags: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<UpdateAdTrackingTagsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<unknown, unknown, ThrowOnError>;
709
709
  getAdComments: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<GetAdCommentsData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<GetAdCommentsResponse, unknown, ThrowOnError>;
@@ -749,8 +749,8 @@ declare class Zernio {
749
749
  duplicateAdCampaign: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<DuplicateAdCampaignData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<DuplicateAdCampaignResponse, unknown, ThrowOnError>;
750
750
  updateAdSet: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<UpdateAdSetData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<UpdateAdSetResponse, unknown, ThrowOnError>;
751
751
  updateAdSetStatus: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<UpdateAdSetStatusData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<UpdateAdSetStatusResponse, unknown, ThrowOnError>;
752
- getAdTree: <ThrowOnError extends boolean = false>(options?: _hey_api_client_fetch.OptionsLegacyParser<GetAdTreeData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<GetAdTreeResponse, unknown, ThrowOnError>;
753
- getAdsTimeline: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<GetAdsTimelineData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<GetAdsTimelineResponse, unknown, ThrowOnError>;
752
+ getAdTree: <ThrowOnError extends boolean = false>(options?: _hey_api_client_fetch.OptionsLegacyParser<GetAdTreeData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<unknown, unknown, ThrowOnError>;
753
+ getAdsTimeline: <ThrowOnError extends boolean = false>(options: _hey_api_client_fetch.OptionsLegacyParser<GetAdsTimelineData, ThrowOnError>) => _hey_api_client_fetch.RequestResult<unknown, unknown, ThrowOnError>;
754
754
  };
755
755
  /**
756
756
  * adaudiences API
@@ -5640,6 +5640,56 @@ type WebhookPayloadMessage = {
5640
5640
  flowResponseData?: {
5641
5641
  [key: string]: unknown;
5642
5642
  };
5643
+ /**
5644
+ * WhatsApp only. Cart submitted by the user from a commerce message
5645
+ * (catalog, product, or product-list message). Meta's `order` object
5646
+ * forwarded verbatim.
5647
+ *
5648
+ */
5649
+ order?: {
5650
+ /**
5651
+ * Meta catalog the ordered products belong to.
5652
+ */
5653
+ catalog_id?: string;
5654
+ /**
5655
+ * Optional free-text note the user attached to the cart.
5656
+ */
5657
+ text?: string;
5658
+ product_items?: Array<{
5659
+ /**
5660
+ * Retailer ID (SKU) of the ordered product.
5661
+ */
5662
+ product_retailer_id?: string;
5663
+ /**
5664
+ * Quantity ordered for this line item.
5665
+ */
5666
+ quantity?: number;
5667
+ /**
5668
+ * Unit price of the item.
5669
+ */
5670
+ item_price?: number;
5671
+ /**
5672
+ * ISO 4217 currency code (e.g. USD).
5673
+ */
5674
+ currency?: string;
5675
+ }>;
5676
+ };
5677
+ /**
5678
+ * WhatsApp only. The product the user is asking about. Set when an
5679
+ * inbound text carries Meta's `context.referred_product` (the user
5680
+ * tapped "Message business" on a product). Forwarded verbatim.
5681
+ *
5682
+ */
5683
+ referredProduct?: {
5684
+ /**
5685
+ * Meta catalog the product belongs to.
5686
+ */
5687
+ catalog_id?: string;
5688
+ /**
5689
+ * Retailer ID (SKU) of the product being asked about.
5690
+ */
5691
+ product_retailer_id?: string;
5692
+ };
5643
5693
  /**
5644
5694
  * Instagram only. Populated when an IG user replies to one of the
5645
5695
  * account's stories (Meta `messaging_story_replies`). Mutually
@@ -13717,16 +13767,32 @@ type SendInboxMessageData = {
13717
13767
  };
13718
13768
  /**
13719
13769
  * WhatsApp-only. Rich interactive payload for list messages, CTA URL
13720
- * buttons, Flow prompts, and location requests. When set, takes
13721
- * priority over `buttons` and `quickReplies`. The shape mirrors
13722
- * Meta's Cloud API `interactive` object verbatim, so any payload
13723
- * that works against Meta directly will also work here.
13770
+ * buttons, Flow prompts, location requests, voice-call buttons, and
13771
+ * commerce messages (single product, product list, catalog, and
13772
+ * carousel). When set, takes priority over `buttons` and
13773
+ * `quickReplies`. The shape mirrors Meta's Cloud API `interactive`
13774
+ * object verbatim, so any payload that works against Meta directly
13775
+ * will also work here.
13724
13776
  *
13725
13777
  * Use `buttons` / `quickReplies` for simple button replies
13726
- * (WhatsApp's `interactive.type: "button"`) the abstraction caps at
13778
+ * (WhatsApp's `interactive.type: "button"`): the abstraction caps at
13727
13779
  * 3 buttons and handles the auto-conversion for you. Use this field
13728
- * only for `list`, `cta_url`, `flow`, `location_request_message`, or
13729
- * `voice_call` messages.
13780
+ * only for the types listed in the enum below.
13781
+ *
13782
+ * All interactive messages are session messages: they can only be
13783
+ * sent inside the 24-hour customer service window opened by the
13784
+ * user's last inbound message.
13785
+ *
13786
+ * Commerce types (`product`, `product_list`, `catalog_message`, and
13787
+ * product carousels) require a Meta catalog connected to the
13788
+ * WhatsApp Business Account in Commerce Manager. Media carousels
13789
+ * (image/video cards) do not need a catalog.
13790
+ *
13791
+ * For `product`, `body` is optional (WhatsApp renders the product
13792
+ * card itself) and `header` is not allowed (the product image is
13793
+ * the header). For `product_list`, a `header` with `type: "text"`
13794
+ * is required. For `carousel`, top-level `header`/`footer` are not
13795
+ * supported; media goes on each card instead.
13730
13796
  *
13731
13797
  * For `voice_call`, the message renders WhatsApp's native call
13732
13798
  * button; tapping it starts a voice call to your business number.
@@ -13739,17 +13805,25 @@ type SendInboxMessageData = {
13739
13805
  * "Send location" button; the user's reply arrives as a regular
13740
13806
  * location message in the conversation.
13741
13807
  *
13808
+ * For `catalog_message`, `action` may also be omitted (we default it
13809
+ * to `{ "name": "catalog_message" }`).
13810
+ *
13742
13811
  * Tap events come back via the `message.received` webhook with
13743
13812
  * `metadata.interactiveType` set to `list_reply` or `nfm_reply`.
13813
+ * Carts submitted from commerce messages arrive as `metadata.order`;
13814
+ * product inquiries arrive as `metadata.referredProduct`.
13744
13815
  *
13745
13816
  */
13746
13817
  interactive?: {
13747
13818
  /**
13748
13819
  * Which interactive layout to render.
13749
13820
  */
13750
- type: 'list' | 'cta_url' | 'flow' | 'location_request_message' | 'voice_call';
13821
+ type: 'list' | 'cta_url' | 'flow' | 'location_request_message' | 'voice_call' | 'product' | 'product_list' | 'catalog_message' | 'carousel';
13751
13822
  /**
13752
- * Optional header shown above the body.
13823
+ * Optional header shown above the body. Required with
13824
+ * `type: "text"` for `product_list`; not allowed for `product`
13825
+ * or `carousel`.
13826
+ *
13753
13827
  */
13754
13828
  header?: {
13755
13829
  type?: 'text' | 'image' | 'video' | 'document';
@@ -13767,7 +13841,10 @@ type SendInboxMessageData = {
13767
13841
  link?: string;
13768
13842
  };
13769
13843
  };
13770
- body: {
13844
+ /**
13845
+ * Required for every type except `product`, where it is optional.
13846
+ */
13847
+ body?: {
13771
13848
  /**
13772
13849
  * Main body text.
13773
13850
  */
@@ -13883,6 +13960,73 @@ type SendInboxMessageData = {
13883
13960
  };
13884
13961
  } | {
13885
13962
  name: 'send_location';
13963
+ } | {
13964
+ /**
13965
+ * Meta catalog ID connected to the WhatsApp Business Account.
13966
+ */
13967
+ catalog_id: string;
13968
+ /**
13969
+ * Retailer ID (SKU) of the product inside the catalog.
13970
+ */
13971
+ product_retailer_id: string;
13972
+ } | {
13973
+ /**
13974
+ * Meta catalog ID connected to the WhatsApp Business Account.
13975
+ */
13976
+ catalog_id: string;
13977
+ /**
13978
+ * 1-10 sections. Total products across all sections cannot exceed 30.
13979
+ */
13980
+ sections: Array<{
13981
+ /**
13982
+ * Optional section header.
13983
+ */
13984
+ title?: string;
13985
+ product_items: Array<{
13986
+ /**
13987
+ * Retailer ID (SKU) of the product inside the catalog.
13988
+ */
13989
+ product_retailer_id: string;
13990
+ }>;
13991
+ }>;
13992
+ } | {
13993
+ name: 'catalog_message';
13994
+ parameters?: {
13995
+ /**
13996
+ * Optional product whose image is used as the message thumbnail. Falls back to the first catalog item when omitted.
13997
+ */
13998
+ thumbnail_product_retailer_id?: string;
13999
+ };
14000
+ } | {
14001
+ cards: Array<{
14002
+ /**
14003
+ * Card position. Auto-filled sequentially when omitted.
14004
+ */
14005
+ card_index?: number;
14006
+ /**
14007
+ * `product` for a product card; media cards use `cta_url` or a quick-reply type.
14008
+ */
14009
+ type?: string;
14010
+ /**
14011
+ * Media cards only
14012
+ */
14013
+ header?: {
14014
+ [key: string]: unknown;
14015
+ };
14016
+ /**
14017
+ * Optional card body text.
14018
+ */
14019
+ body?: {
14020
+ [key: string]: unknown;
14021
+ };
14022
+ /**
14023
+ * Product cards: `{ catalog_id, product_retailer_id }` (required). Media cards: the card's button action (e.g. `cta_url` with `parameters.display_text` and `parameters.url`).
14024
+ */
14025
+ action?: {
14026
+ [key: string]: unknown;
14027
+ };
14028
+ [key: string]: unknown | number | string;
14029
+ }>;
13886
14030
  });
13887
14031
  };
13888
14032
  /**
@@ -20890,8 +21034,12 @@ type ListAdsData = {
20890
21034
  };
20891
21035
  type ListAdsResponse = ({
20892
21036
  ads?: Array<Ad>;
21037
+ /**
21038
+ * Present and true only on `202` responses: part of the requested date range is still being backfilled from the platform in the background. Retry the same request shortly; it returns 200 once the range is fully ingested.
21039
+ */
21040
+ backfillPending?: boolean;
20893
21041
  pagination?: Pagination;
20894
- });
21042
+ } | unknown);
20895
21043
  type ListAdsError = ({
20896
21044
  error?: string;
20897
21045
  } | unknown);
@@ -21236,8 +21384,12 @@ type GetAdTreeData = {
21236
21384
  };
21237
21385
  type GetAdTreeResponse = ({
21238
21386
  campaigns?: Array<AdTreeCampaign>;
21387
+ /**
21388
+ * Present and true only on `202` responses: part of the requested date range is still being backfilled from the platform in the background. Retry the same request shortly; it returns 200 once the range is fully ingested.
21389
+ */
21390
+ backfillPending?: boolean;
21239
21391
  pagination?: Pagination;
21240
- });
21392
+ } | unknown);
21241
21393
  type GetAdTreeError = ({
21242
21394
  error?: string;
21243
21395
  } | unknown);
@@ -21314,7 +21466,11 @@ type GetAdsTimelineResponse = ({
21314
21466
  */
21315
21467
  roas?: number;
21316
21468
  }>;
21317
- });
21469
+ /**
21470
+ * Present and true only on `202` responses: part of the requested date range is still being backfilled from the platform in the background. Retry the same request shortly; it returns 200 once the range is fully ingested.
21471
+ */
21472
+ backfillPending?: boolean;
21473
+ } | unknown);
21318
21474
  type GetAdsTimelineError = ({
21319
21475
  error?: string;
21320
21476
  } | unknown);
@@ -21452,6 +21608,10 @@ type GetCampaignAnalyticsResponse = ({
21452
21608
  */
21453
21609
  currency?: (string) | null;
21454
21610
  };
21611
+ /**
21612
+ * Present and true only on `202` responses: part of the requested date range is still being backfilled from the platform in the background. Retry the same request shortly; it returns 200 once the range is fully ingested.
21613
+ */
21614
+ backfillPending?: boolean;
21455
21615
  analytics?: {
21456
21616
  summary?: AdMetrics;
21457
21617
  daily?: Array<(AdMetrics & {
@@ -21463,7 +21623,7 @@ type GetCampaignAnalyticsResponse = ({
21463
21623
  }>;
21464
21624
  };
21465
21625
  };
21466
- });
21626
+ } | unknown);
21467
21627
  type GetCampaignAnalyticsError = ({
21468
21628
  error?: string;
21469
21629
  } | unknown);
@@ -21498,6 +21658,10 @@ type GetAdAnalyticsResponse = ({
21498
21658
  */
21499
21659
  currency?: (string) | null;
21500
21660
  };
21661
+ /**
21662
+ * Present and true only on `202` responses: part of the requested date range is still being backfilled from the platform in the background. Retry the same request shortly; it returns 200 once the range is fully ingested.
21663
+ */
21664
+ backfillPending?: boolean;
21501
21665
  analytics?: {
21502
21666
  summary?: AdMetrics;
21503
21667
  daily?: Array<(AdMetrics & {
@@ -21509,7 +21673,7 @@ type GetAdAnalyticsResponse = ({
21509
21673
  }>;
21510
21674
  };
21511
21675
  };
21512
- });
21676
+ } | unknown);
21513
21677
  type GetAdAnalyticsError = ({
21514
21678
  error?: string;
21515
21679
  } | unknown);
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ module.exports = __toCommonJS(index_exports);
36
36
  // package.json
37
37
  var package_default = {
38
38
  name: "@getlatedev/node",
39
- version: "0.2.317",
39
+ version: "0.2.319",
40
40
  description: "The official Node.js library for the Zernio API",
41
41
  main: "dist/index.js",
42
42
  module: "dist/index.mjs",
package/dist/index.mjs CHANGED
@@ -5,7 +5,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
5
5
  // package.json
6
6
  var package_default = {
7
7
  name: "@getlatedev/node",
8
- version: "0.2.317",
8
+ version: "0.2.319",
9
9
  description: "The official Node.js library for the Zernio API",
10
10
  main: "dist/index.js",
11
11
  module: "dist/index.mjs",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getlatedev/node",
3
- "version": "0.2.317",
3
+ "version": "0.2.319",
4
4
  "description": "The official Node.js library for the Zernio API",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -5936,8 +5936,9 @@ export const getAdTree = <ThrowOnError extends boolean = false>(options?: Option
5936
5936
  * (and vice-versa) — same convention as `/v1/ads/tree` and `/v1/ads`.
5937
5937
  *
5938
5938
  * Date range defaults to the last 90 days. Capped at 730 days. Ranges older
5939
- * than the 90-day cache window trigger an on-demand backfill from the platform
5940
- * before returning.
5939
+ * than the ingested history return a `202` immediately with the covered part
5940
+ * and `backfillPending: true` while the rest is backfilled in the background;
5941
+ * repeat the request shortly until it returns 200 with full data.
5941
5942
  *
5942
5943
  */
5943
5944
  export const getAdsTimeline = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetAdsTimelineData, ThrowOnError>) => {
@@ -4992,6 +4992,56 @@ export type WebhookPayloadMessage = {
4992
4992
  flowResponseData?: {
4993
4993
  [key: string]: unknown;
4994
4994
  };
4995
+ /**
4996
+ * WhatsApp only. Cart submitted by the user from a commerce message
4997
+ * (catalog, product, or product-list message). Meta's `order` object
4998
+ * forwarded verbatim.
4999
+ *
5000
+ */
5001
+ order?: {
5002
+ /**
5003
+ * Meta catalog the ordered products belong to.
5004
+ */
5005
+ catalog_id?: string;
5006
+ /**
5007
+ * Optional free-text note the user attached to the cart.
5008
+ */
5009
+ text?: string;
5010
+ product_items?: Array<{
5011
+ /**
5012
+ * Retailer ID (SKU) of the ordered product.
5013
+ */
5014
+ product_retailer_id?: string;
5015
+ /**
5016
+ * Quantity ordered for this line item.
5017
+ */
5018
+ quantity?: number;
5019
+ /**
5020
+ * Unit price of the item.
5021
+ */
5022
+ item_price?: number;
5023
+ /**
5024
+ * ISO 4217 currency code (e.g. USD).
5025
+ */
5026
+ currency?: string;
5027
+ }>;
5028
+ };
5029
+ /**
5030
+ * WhatsApp only. The product the user is asking about. Set when an
5031
+ * inbound text carries Meta's `context.referred_product` (the user
5032
+ * tapped "Message business" on a product). Forwarded verbatim.
5033
+ *
5034
+ */
5035
+ referredProduct?: {
5036
+ /**
5037
+ * Meta catalog the product belongs to.
5038
+ */
5039
+ catalog_id?: string;
5040
+ /**
5041
+ * Retailer ID (SKU) of the product being asked about.
5042
+ */
5043
+ product_retailer_id?: string;
5044
+ };
4995
5045
  /**
4996
5046
  * Instagram only. Populated when an IG user replies to one of the
4997
5047
  * account's stories (Meta `messaging_story_replies`). Mutually
@@ -13629,16 +13679,32 @@ export type SendInboxMessageData = {
13629
13679
  };
13630
13680
  /**
13631
13681
  * WhatsApp-only. Rich interactive payload for list messages, CTA URL
13632
- * buttons, Flow prompts, and location requests. When set, takes
13633
- * priority over `buttons` and `quickReplies`. The shape mirrors
13634
- * Meta's Cloud API `interactive` object verbatim, so any payload
13635
- * that works against Meta directly will also work here.
13682
+ * buttons, Flow prompts, location requests, voice-call buttons, and
13683
+ * commerce messages (single product, product list, catalog, and
13684
+ * carousel). When set, takes priority over `buttons` and
13685
+ * `quickReplies`. The shape mirrors Meta's Cloud API `interactive`
13686
+ * object verbatim, so any payload that works against Meta directly
13687
+ * will also work here.
13636
13688
  *
13637
13689
  * Use `buttons` / `quickReplies` for simple button replies
13638
- * (WhatsApp's `interactive.type: "button"`) the abstraction caps at
13690
+ * (WhatsApp's `interactive.type: "button"`): the abstraction caps at
13639
13691
  * 3 buttons and handles the auto-conversion for you. Use this field
13640
- * only for `list`, `cta_url`, `flow`, `location_request_message`, or
13641
- * `voice_call` messages.
13692
+ * only for the types listed in the enum below.
13693
+ *
13694
+ * All interactive messages are session messages: they can only be
13695
+ * sent inside the 24-hour customer service window opened by the
13696
+ * user's last inbound message.
13697
+ *
13698
+ * Commerce types (`product`, `product_list`, `catalog_message`, and
13699
+ * product carousels) require a Meta catalog connected to the
13700
+ * WhatsApp Business Account in Commerce Manager. Media carousels
13701
+ * (image/video cards) do not need a catalog.
13702
+ *
13703
+ * For `product`, `body` is optional (WhatsApp renders the product
13704
+ * card itself) and `header` is not allowed (the product image is
13705
+ * the header). For `product_list`, a `header` with `type: "text"`
13706
+ * is required. For `carousel`, top-level `header`/`footer` are not
13707
+ * supported; media goes on each card instead.
13642
13708
  *
13643
13709
  * For `voice_call`, the message renders WhatsApp's native call
13644
13710
  * button; tapping it starts a voice call to your business number.
@@ -13651,17 +13717,25 @@ export type SendInboxMessageData = {
13651
13717
  * "Send location" button; the user's reply arrives as a regular
13652
13718
  * location message in the conversation.
13653
13719
  *
13720
+ * For `catalog_message`, `action` may also be omitted (we default it
13721
+ * to `{ "name": "catalog_message" }`).
13722
+ *
13654
13723
  * Tap events come back via the `message.received` webhook with
13655
13724
  * `metadata.interactiveType` set to `list_reply` or `nfm_reply`.
13725
+ * Carts submitted from commerce messages arrive as `metadata.order`;
13726
+ * product inquiries arrive as `metadata.referredProduct`.
13656
13727
  *
13657
13728
  */
13658
13729
  interactive?: {
13659
13730
  /**
13660
13731
  * Which interactive layout to render.
13661
13732
  */
13662
- type: 'list' | 'cta_url' | 'flow' | 'location_request_message' | 'voice_call';
13733
+ type: 'list' | 'cta_url' | 'flow' | 'location_request_message' | 'voice_call' | 'product' | 'product_list' | 'catalog_message' | 'carousel';
13663
13734
  /**
13664
- * Optional header shown above the body.
13735
+ * Optional header shown above the body. Required with
13736
+ * `type: "text"` for `product_list`; not allowed for `product`
13737
+ * or `carousel`.
13738
+ *
13665
13739
  */
13666
13740
  header?: {
13667
13741
  type?: 'text' | 'image' | 'video' | 'document';
@@ -13679,7 +13753,10 @@ export type SendInboxMessageData = {
13679
13753
  link?: string;
13680
13754
  };
13681
13755
  };
13682
- body: {
13756
+ /**
13757
+ * Required for every type except `product`, where it is optional.
13758
+ */
13759
+ body?: {
13683
13760
  /**
13684
13761
  * Main body text.
13685
13762
  */
@@ -13795,6 +13872,73 @@ export type SendInboxMessageData = {
13795
13872
  };
13796
13873
  } | {
13797
13874
  name: 'send_location';
13875
+ } | {
13876
+ /**
13877
+ * Meta catalog ID connected to the WhatsApp Business Account.
13878
+ */
13879
+ catalog_id: string;
13880
+ /**
13881
+ * Retailer ID (SKU) of the product inside the catalog.
13882
+ */
13883
+ product_retailer_id: string;
13884
+ } | {
13885
+ /**
13886
+ * Meta catalog ID connected to the WhatsApp Business Account.
13887
+ */
13888
+ catalog_id: string;
13889
+ /**
13890
+ * 1-10 sections. Total products across all sections cannot exceed 30.
13891
+ */
13892
+ sections: Array<{
13893
+ /**
13894
+ * Optional section header.
13895
+ */
13896
+ title?: string;
13897
+ product_items: Array<{
13898
+ /**
13899
+ * Retailer ID (SKU) of the product inside the catalog.
13900
+ */
13901
+ product_retailer_id: string;
13902
+ }>;
13903
+ }>;
13904
+ } | {
13905
+ name: 'catalog_message';
13906
+ parameters?: {
13907
+ /**
13908
+ * Optional product whose image is used as the message thumbnail. Falls back to the first catalog item when omitted.
13909
+ */
13910
+ thumbnail_product_retailer_id?: string;
13911
+ };
13912
+ } | {
13913
+ cards: Array<{
13914
+ /**
13915
+ * Card position. Auto-filled sequentially when omitted.
13916
+ */
13917
+ card_index?: number;
13918
+ /**
13919
+ * `product` for a product card; media cards use `cta_url` or a quick-reply type.
13920
+ */
13921
+ type?: string;
13922
+ /**
13923
+ * Media cards only
13924
+ */
13925
+ header?: {
13926
+ [key: string]: unknown;
13927
+ };
13928
+ /**
13929
+ * Optional card body text.
13930
+ */
13931
+ body?: {
13932
+ [key: string]: unknown;
13933
+ };
13934
+ /**
13935
+ * Product cards: `{ catalog_id, product_retailer_id }` (required). Media cards: the card's button action (e.g. `cta_url` with `parameters.display_text` and `parameters.url`).
13936
+ */
13937
+ action?: {
13938
+ [key: string]: unknown;
13939
+ };
13940
+ [key: string]: unknown | number | string;
13941
+ }>;
13798
13942
  });
13799
13943
  };
13800
13944
  /**
@@ -21433,8 +21577,12 @@ export type ListAdsData = {
21433
21577
 
21434
21578
  export type ListAdsResponse = ({
21435
21579
  ads?: Array<Ad>;
21580
+ /**
21581
+ * Present and true only on `202` responses: part of the requested date range is still being backfilled from the platform in the background. Retry the same request shortly; it returns 200 once the range is fully ingested.
21582
+ */
21583
+ backfillPending?: boolean;
21436
21584
  pagination?: Pagination;
21437
- });
21585
+ } | unknown);
21438
21586
 
21439
21587
  export type ListAdsError = ({
21440
21588
  error?: string;
@@ -21806,8 +21954,12 @@ export type GetAdTreeData = {
21806
21954
 
21807
21955
  export type GetAdTreeResponse = ({
21808
21956
  campaigns?: Array<AdTreeCampaign>;
21957
+ /**
21958
+ * Present and true only on `202` responses: part of the requested date range is still being backfilled from the platform in the background. Retry the same request shortly; it returns 200 once the range is fully ingested.
21959
+ */
21960
+ backfillPending?: boolean;
21809
21961
  pagination?: Pagination;
21810
- });
21962
+ } | unknown);
21811
21963
 
21812
21964
  export type GetAdTreeError = ({
21813
21965
  error?: string;
@@ -21887,7 +22039,11 @@ export type GetAdsTimelineResponse = ({
21887
22039
  */
21888
22040
  roas?: number;
21889
22041
  }>;
21890
- });
22042
+ /**
22043
+ * Present and true only on `202` responses: part of the requested date range is still being backfilled from the platform in the background. Retry the same request shortly; it returns 200 once the range is fully ingested.
22044
+ */
22045
+ backfillPending?: boolean;
22046
+ } | unknown);
21891
22047
 
21892
22048
  export type GetAdsTimelineError = ({
21893
22049
  error?: string;
@@ -22037,6 +22193,10 @@ export type GetCampaignAnalyticsResponse = ({
22037
22193
  */
22038
22194
  currency?: (string) | null;
22039
22195
  };
22196
+ /**
22197
+ * Present and true only on `202` responses: part of the requested date range is still being backfilled from the platform in the background. Retry the same request shortly; it returns 200 once the range is fully ingested.
22198
+ */
22199
+ backfillPending?: boolean;
22040
22200
  analytics?: {
22041
22201
  summary?: AdMetrics;
22042
22202
  daily?: Array<(AdMetrics & {
@@ -22048,7 +22208,7 @@ export type GetCampaignAnalyticsResponse = ({
22048
22208
  }>;
22049
22209
  };
22050
22210
  };
22051
- });
22211
+ } | unknown);
22052
22212
 
22053
22213
  export type GetCampaignAnalyticsError = ({
22054
22214
  error?: string;
@@ -22086,6 +22246,10 @@ export type GetAdAnalyticsResponse = ({
22086
22246
  */
22087
22247
  currency?: (string) | null;
22088
22248
  };
22249
+ /**
22250
+ * Present and true only on `202` responses: part of the requested date range is still being backfilled from the platform in the background. Retry the same request shortly; it returns 200 once the range is fully ingested.
22251
+ */
22252
+ backfillPending?: boolean;
22089
22253
  analytics?: {
22090
22254
  summary?: AdMetrics;
22091
22255
  daily?: Array<(AdMetrics & {
@@ -22097,7 +22261,7 @@ export type GetAdAnalyticsResponse = ({
22097
22261
  }>;
22098
22262
  };
22099
22263
  };
22100
- });
22264
+ } | unknown);
22101
22265
 
22102
22266
  export type GetAdAnalyticsError = ({
22103
22267
  error?: string;