@getlatedev/node 0.2.495 → 0.2.497
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/README.md +5 -0
- package/dist/index.d.mts +302 -6
- package/dist/index.d.ts +302 -6
- package/dist/index.js +46 -1
- package/dist/index.mjs +46 -1
- package/package.json +1 -1
- package/src/client.ts +20 -0
- package/src/generated/sdk.gen.ts +144 -4
- package/src/generated/types.gen.ts +307 -5
|
@@ -478,9 +478,9 @@ export type budgetLevel = 'campaign' | 'adset';
|
|
|
478
478
|
* called with `timeIncrement=1`. Rate metrics (ctr/cpc/cpm/costPerConversion/
|
|
479
479
|
* roas/videoAvgTimeWatchedActions) are recomputed per day from that day's
|
|
480
480
|
* sums, so summing the additive fields across a node's `daily[]` reproduces
|
|
481
|
-
* its aggregated `metrics` total. `reach` is the exception: on Meta
|
|
482
|
-
* aggregated total is de-duplicated across the range, so daily
|
|
483
|
-
* not sum to it. Do NOT sum or plain-average
|
|
481
|
+
* its aggregated `metrics` total. `reach` is the exception: on Meta and
|
|
482
|
+
* TikTok the aggregated total is de-duplicated across the range, so daily
|
|
483
|
+
* reach does not sum to it. Do NOT sum or plain-average
|
|
484
484
|
* `videoAvgTimeWatchedActions` across days: the range value is the
|
|
485
485
|
* play-weighted average of the daily values.
|
|
486
486
|
*
|
|
@@ -496,7 +496,7 @@ export type AdMetrics = {
|
|
|
496
496
|
spend?: number;
|
|
497
497
|
impressions?: number;
|
|
498
498
|
/**
|
|
499
|
-
* Unique people reached in the requested date range. Meta (facebook/instagram):
|
|
499
|
+
* Unique people reached in the requested date range. Meta (facebook/instagram) and TikTok: the platform's own de-duplicated reach for the exact range, fetched live and cached up to ~1 hour (may lag recent delivery; on a transient platform error the value temporarily falls back to a sum of per-day reach, which overcounts people reached on multiple days or by multiple child ads). Because it is de-duplicated, reach is NOT additive on these platforms: neither daily values nor child nodes sum to the range total. Google, LinkedIn, X, Pinterest and OpenAI report 0 (reach not synced). Frequency (impressions / reach) is only meaningful for Meta and TikTok.
|
|
500
500
|
*/
|
|
501
501
|
reach?: number;
|
|
502
502
|
clicks?: number;
|
|
@@ -5232,6 +5232,119 @@ export type UsersListResponse = {
|
|
|
5232
5232
|
users?: Array<User>;
|
|
5233
5233
|
};
|
|
5234
5234
|
|
|
5235
|
+
/**
|
|
5236
|
+
* One bid-adjustment rule. Rules are evaluated in ARRAY ORDER and only the first matching
|
|
5237
|
+
* rule adjusts the bid for an overlapping audience, so the order is semantic.
|
|
5238
|
+
*
|
|
5239
|
+
*/
|
|
5240
|
+
export type ValueRule = {
|
|
5241
|
+
/**
|
|
5242
|
+
* Platform rule id. Echo it on `PUT` to KEEP this rule, omit it to CREATE a new one.
|
|
5243
|
+
* A rule left out of the array entirely is DELETED.
|
|
5244
|
+
*
|
|
5245
|
+
*/
|
|
5246
|
+
id?: string;
|
|
5247
|
+
name: string;
|
|
5248
|
+
/**
|
|
5249
|
+
* Direction of the adjustment. There is no signed value field.
|
|
5250
|
+
*/
|
|
5251
|
+
adjustSign: 'INCREASE' | 'DECREASE';
|
|
5252
|
+
/**
|
|
5253
|
+
* Unsigned percentage magnitude. `INCREASE` accepts 1-1000, `DECREASE` accepts 1-90.
|
|
5254
|
+
* 0 is out of range on both.
|
|
5255
|
+
*
|
|
5256
|
+
*/
|
|
5257
|
+
adjustValue: number;
|
|
5258
|
+
/**
|
|
5259
|
+
* Meta returns `ACTIVE` here but documents no enum for the field. Treat it as a
|
|
5260
|
+
* passthrough: echo whatever the `GET` returned, and do not synthesize values.
|
|
5261
|
+
*
|
|
5262
|
+
*/
|
|
5263
|
+
status?: string;
|
|
5264
|
+
/**
|
|
5265
|
+
* All criteria on a rule must match for the rule to fire.
|
|
5266
|
+
*/
|
|
5267
|
+
criteria: Array<ValueRuleCriterion>;
|
|
5268
|
+
};
|
|
5269
|
+
|
|
5270
|
+
/**
|
|
5271
|
+
* Direction of the adjustment. There is no signed value field.
|
|
5272
|
+
*/
|
|
5273
|
+
export type adjustSign = 'INCREASE' | 'DECREASE';
|
|
5274
|
+
|
|
5275
|
+
/**
|
|
5276
|
+
* One matching condition inside a value rule. `criteriaValues` and `criteriaValueTypes`
|
|
5277
|
+
* are POSITIONALLY paired: same length, same order.
|
|
5278
|
+
*
|
|
5279
|
+
*/
|
|
5280
|
+
export type ValueRuleCriterion = {
|
|
5281
|
+
/**
|
|
5282
|
+
* Platform criterion id. Echo it on `PUT` to KEEP this criterion, omit it to CREATE a
|
|
5283
|
+
* new one. A criterion left out of the array entirely is DELETED.
|
|
5284
|
+
*
|
|
5285
|
+
*/
|
|
5286
|
+
id?: string;
|
|
5287
|
+
/**
|
|
5288
|
+
* The dimension being matched. `OMNI_CHANNEL` (conversion location: APP, INSTANT_FORM,
|
|
5289
|
+
* PHONE_CALL, WEBSITE) is accepted even though Meta's own enum table omits it.
|
|
5290
|
+
*
|
|
5291
|
+
*/
|
|
5292
|
+
criteriaType: 'AGE' | 'GENDER' | 'OS_TYPE' | 'DEVICE_PLATFORM' | 'LOCATION' | 'PLACEMENT' | 'OMNI_CHANNEL' | 'AUDIENCE_LABEL';
|
|
5293
|
+
/**
|
|
5294
|
+
* Required on every criterion. `CONTAINS` is currently the only value Meta supports.
|
|
5295
|
+
*/
|
|
5296
|
+
operator: 'CONTAINS';
|
|
5297
|
+
/**
|
|
5298
|
+
* The values to match. `AGE` takes ranges such as `18-24`, `18+` or a custom `18-26`;
|
|
5299
|
+
* a range whose upper bound is 65 is NOT allowed (use `18+` instead of `18-65`).
|
|
5300
|
+
* `LOCATION` takes Targeting-Search keys: a two-letter country code for
|
|
5301
|
+
* `LOCATION_COUNTRY`, a numeric key for region / city / comScore market.
|
|
5302
|
+
* `AUDIENCE_LABEL` takes labels such as `HIGH_VALUE`, which are applied to a Custom
|
|
5303
|
+
* Audience in Ads Manager: there is no API to provision them, so they are passed
|
|
5304
|
+
* through unvalidated.
|
|
5305
|
+
*
|
|
5306
|
+
*/
|
|
5307
|
+
criteriaValues: Array<(string)>;
|
|
5308
|
+
/**
|
|
5309
|
+
* One entry per `criteriaValues` entry, in the same order. The literal `"NONE"` for
|
|
5310
|
+
* every criteriaType except `LOCATION`, which uses `LOCATION_COUNTRY`,
|
|
5311
|
+
* `LOCATION_REGION`, `LOCATION_CITY` or `LOCATION_COMSCORE_MARKET` and MAY mix them
|
|
5312
|
+
* within one criterion. `LOCATION_DMA` was replaced by `LOCATION_COMSCORE_MARKET` on
|
|
5313
|
+
* 2026-06-22 and is rejected by this API.
|
|
5314
|
+
*
|
|
5315
|
+
*/
|
|
5316
|
+
criteriaValueTypes: Array<(string)>;
|
|
5317
|
+
};
|
|
5318
|
+
|
|
5319
|
+
/**
|
|
5320
|
+
* The dimension being matched. `OMNI_CHANNEL` (conversion location: APP, INSTANT_FORM,
|
|
5321
|
+
* PHONE_CALL, WEBSITE) is accepted even though Meta's own enum table omits it.
|
|
5322
|
+
*
|
|
5323
|
+
*/
|
|
5324
|
+
export type criteriaType = 'AGE' | 'GENDER' | 'OS_TYPE' | 'DEVICE_PLATFORM' | 'LOCATION' | 'PLACEMENT' | 'OMNI_CHANNEL' | 'AUDIENCE_LABEL';
|
|
5325
|
+
|
|
5326
|
+
/**
|
|
5327
|
+
* Required on every criterion. `CONTAINS` is currently the only value Meta supports.
|
|
5328
|
+
*/
|
|
5329
|
+
export type operator = 'CONTAINS';
|
|
5330
|
+
|
|
5331
|
+
/**
|
|
5332
|
+
* A named set of bid-adjustment rules on an ad account. Attach it to an ad set with
|
|
5333
|
+
* `valueRuleSetId`. Limits: 6 sets per ad account, 10 rules per set, 4 criteria per rule.
|
|
5334
|
+
*
|
|
5335
|
+
*/
|
|
5336
|
+
export type ValueRuleSet = {
|
|
5337
|
+
/**
|
|
5338
|
+
* Platform value rule set id.
|
|
5339
|
+
*/
|
|
5340
|
+
id: string;
|
|
5341
|
+
name: string;
|
|
5342
|
+
/**
|
|
5343
|
+
* Evaluated in order; the first matching rule wins.
|
|
5344
|
+
*/
|
|
5345
|
+
rules: Array<ValueRule>;
|
|
5346
|
+
};
|
|
5347
|
+
|
|
5235
5348
|
/**
|
|
5236
5349
|
* A managed OTP verification. The code itself is never returned or stored (hash only).
|
|
5237
5350
|
*/
|
|
@@ -25856,6 +25969,22 @@ export type UpdateAdSetData = {
|
|
|
25856
25969
|
*
|
|
25857
25970
|
*/
|
|
25858
25971
|
roasAverageFloor?: number;
|
|
25972
|
+
/**
|
|
25973
|
+
* Meta only (other platforms return 501). Value rule set to attach to this ad
|
|
25974
|
+
* set, from `/v1/ads/value-rule-sets`. Sending a different id replaces the
|
|
25975
|
+
* current association. To DETACH, send `valueRulesApplied: false` and omit
|
|
25976
|
+
* this field.
|
|
25977
|
+
*
|
|
25978
|
+
*/
|
|
25979
|
+
valueRuleSetId?: string;
|
|
25980
|
+
/**
|
|
25981
|
+
* Meta only (other platforms return 501). `false` DETACHES the ad set's value
|
|
25982
|
+
* rule set and must be sent WITHOUT `valueRuleSetId`; the combination returns
|
|
25983
|
+
* 400. `true` is optional when attaching, since attachment is driven by
|
|
25984
|
+
* `valueRuleSetId`, and requires it to be present.
|
|
25985
|
+
*
|
|
25986
|
+
*/
|
|
25987
|
+
valueRulesApplied?: boolean;
|
|
25859
25988
|
/**
|
|
25860
25989
|
* Platform-specific post-launch delivery settings. The platform is implied by the
|
|
25861
25990
|
* `platform` body param. Meta only; other platforms return 400. Unknown keys are rejected.
|
|
@@ -25995,7 +26124,7 @@ export type GetAdTreeData = {
|
|
|
25995
26124
|
*/
|
|
25996
26125
|
status?: AdStatus;
|
|
25997
26126
|
/**
|
|
25998
|
-
* Set to `1` to also return a daily breakdown. Mirrors Meta Insights' `time_increment=1`: each node gains a `daily[]` array of per-day metrics (same fields as the aggregated `metrics`) alongside the range total, so you get per-entity daily trends in ONE call instead of calling the tree once per day. Only `1` (daily) is supported. The daily series covers the same date range and uses the same source data as `metrics`, except
|
|
26127
|
+
* Set to `1` to also return a daily breakdown. Mirrors Meta Insights' `time_increment=1`: each node gains a `daily[]` array of per-day metrics (same fields as the aggregated `metrics`) alongside the range total, so you get per-entity daily trends in ONE call instead of calling the tree once per day. Only `1` (daily) is supported. The daily series covers the same date range and uses the same source data as `metrics`, except `reach` on Meta and TikTok: the range total is the platform's de-duplicated value, so daily reach does not sum to it. See `dailyLevel` to control which levels carry it.
|
|
25999
26128
|
*/
|
|
26000
26129
|
timeIncrement?: 1;
|
|
26001
26130
|
/**
|
|
@@ -27462,6 +27591,153 @@ export type DeleteAdCreativeError = (unknown | {
|
|
|
27462
27591
|
error?: string;
|
|
27463
27592
|
});
|
|
27464
27593
|
|
|
27594
|
+
export type ListValueRuleSetsData = {
|
|
27595
|
+
query: {
|
|
27596
|
+
/**
|
|
27597
|
+
* Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
|
|
27598
|
+
*/
|
|
27599
|
+
accountId: string;
|
|
27600
|
+
/**
|
|
27601
|
+
* Meta ad account id (act_<n>).
|
|
27602
|
+
*/
|
|
27603
|
+
adAccountId: string;
|
|
27604
|
+
/**
|
|
27605
|
+
* Cursor from paging.after of the previous page. Meta does not document paging on this edge; `after` comes back null when it omits cursors.
|
|
27606
|
+
*/
|
|
27607
|
+
after?: string;
|
|
27608
|
+
/**
|
|
27609
|
+
* Rows per page
|
|
27610
|
+
*/
|
|
27611
|
+
limit?: number;
|
|
27612
|
+
};
|
|
27613
|
+
};
|
|
27614
|
+
|
|
27615
|
+
export type ListValueRuleSetsResponse = ({
|
|
27616
|
+
adAccountId?: string;
|
|
27617
|
+
data?: Array<ValueRuleSet>;
|
|
27618
|
+
paging?: {
|
|
27619
|
+
/**
|
|
27620
|
+
* Cursor for the next page; null when exhausted or when Meta omits paging.
|
|
27621
|
+
*/
|
|
27622
|
+
after?: (string) | null;
|
|
27623
|
+
};
|
|
27624
|
+
});
|
|
27625
|
+
|
|
27626
|
+
export type ListValueRuleSetsError = (unknown | {
|
|
27627
|
+
error?: string;
|
|
27628
|
+
});
|
|
27629
|
+
|
|
27630
|
+
export type CreateValueRuleSetData = {
|
|
27631
|
+
body: {
|
|
27632
|
+
/**
|
|
27633
|
+
* Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
|
|
27634
|
+
*/
|
|
27635
|
+
accountId: string;
|
|
27636
|
+
/**
|
|
27637
|
+
* Meta ad account id (act_<n>).
|
|
27638
|
+
*/
|
|
27639
|
+
adAccountId: string;
|
|
27640
|
+
name: string;
|
|
27641
|
+
/**
|
|
27642
|
+
* Evaluated in order; the first matching rule wins.
|
|
27643
|
+
*/
|
|
27644
|
+
rules: Array<ValueRule>;
|
|
27645
|
+
};
|
|
27646
|
+
};
|
|
27647
|
+
|
|
27648
|
+
export type CreateValueRuleSetResponse = ({
|
|
27649
|
+
adAccountId?: string;
|
|
27650
|
+
/**
|
|
27651
|
+
* The new rule set id. Meta does not document the create response body, so this is null on the (unobserved) case where it omits the id.
|
|
27652
|
+
*/
|
|
27653
|
+
valueRuleSetId?: (string) | null;
|
|
27654
|
+
});
|
|
27655
|
+
|
|
27656
|
+
export type CreateValueRuleSetError = (unknown | {
|
|
27657
|
+
error?: string;
|
|
27658
|
+
});
|
|
27659
|
+
|
|
27660
|
+
export type GetValueRuleSetData = {
|
|
27661
|
+
path: {
|
|
27662
|
+
/**
|
|
27663
|
+
* Platform value rule set id.
|
|
27664
|
+
*/
|
|
27665
|
+
valueRuleSetId: string;
|
|
27666
|
+
};
|
|
27667
|
+
query: {
|
|
27668
|
+
/**
|
|
27669
|
+
* Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
|
|
27670
|
+
*/
|
|
27671
|
+
accountId: string;
|
|
27672
|
+
};
|
|
27673
|
+
};
|
|
27674
|
+
|
|
27675
|
+
export type GetValueRuleSetResponse = ({
|
|
27676
|
+
valueRuleSet?: ValueRuleSet;
|
|
27677
|
+
});
|
|
27678
|
+
|
|
27679
|
+
export type GetValueRuleSetError = (unknown | {
|
|
27680
|
+
error?: string;
|
|
27681
|
+
});
|
|
27682
|
+
|
|
27683
|
+
export type UpdateValueRuleSetData = {
|
|
27684
|
+
body: {
|
|
27685
|
+
/**
|
|
27686
|
+
* Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
|
|
27687
|
+
*/
|
|
27688
|
+
accountId: string;
|
|
27689
|
+
/**
|
|
27690
|
+
* Required: the update replaces the whole set.
|
|
27691
|
+
*/
|
|
27692
|
+
name: string;
|
|
27693
|
+
/**
|
|
27694
|
+
* The COMPLETE rule list. Omitting a rule deletes it on Meta.
|
|
27695
|
+
*/
|
|
27696
|
+
rules: Array<ValueRule>;
|
|
27697
|
+
};
|
|
27698
|
+
path: {
|
|
27699
|
+
/**
|
|
27700
|
+
* Platform value rule set id.
|
|
27701
|
+
*/
|
|
27702
|
+
valueRuleSetId: string;
|
|
27703
|
+
};
|
|
27704
|
+
};
|
|
27705
|
+
|
|
27706
|
+
export type UpdateValueRuleSetResponse = ({
|
|
27707
|
+
valueRuleSetId?: string;
|
|
27708
|
+
name?: string;
|
|
27709
|
+
rules?: Array<ValueRule>;
|
|
27710
|
+
message?: string;
|
|
27711
|
+
});
|
|
27712
|
+
|
|
27713
|
+
export type UpdateValueRuleSetError = (unknown | {
|
|
27714
|
+
error?: string;
|
|
27715
|
+
});
|
|
27716
|
+
|
|
27717
|
+
export type DeleteValueRuleSetData = {
|
|
27718
|
+
path: {
|
|
27719
|
+
/**
|
|
27720
|
+
* Platform value rule set id.
|
|
27721
|
+
*/
|
|
27722
|
+
valueRuleSetId: string;
|
|
27723
|
+
};
|
|
27724
|
+
query: {
|
|
27725
|
+
/**
|
|
27726
|
+
* Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
|
|
27727
|
+
*/
|
|
27728
|
+
accountId: string;
|
|
27729
|
+
};
|
|
27730
|
+
};
|
|
27731
|
+
|
|
27732
|
+
export type DeleteValueRuleSetResponse = ({
|
|
27733
|
+
valueRuleSetId?: string;
|
|
27734
|
+
message?: string;
|
|
27735
|
+
});
|
|
27736
|
+
|
|
27737
|
+
export type DeleteValueRuleSetError = (unknown | {
|
|
27738
|
+
error?: string;
|
|
27739
|
+
});
|
|
27740
|
+
|
|
27465
27741
|
export type GetAdAccountFinanceData = {
|
|
27466
27742
|
query: {
|
|
27467
27743
|
/**
|
|
@@ -28660,6 +28936,32 @@ export type CreateStandaloneAdData = {
|
|
|
28660
28936
|
*
|
|
28661
28937
|
*/
|
|
28662
28938
|
roasAverageFloor?: number;
|
|
28939
|
+
/**
|
|
28940
|
+
* Meta only (facebook, instagram; other platforms return 400). Value rule set
|
|
28941
|
+
* to attach to the new ad set, from `/v1/ads/value-rule-sets`. Attachment is
|
|
28942
|
+
* driven by this id, so `valueRulesApplied` is optional alongside it.
|
|
28943
|
+
*
|
|
28944
|
+
* Rejected with 400 in `adSetId` attach mode: that shape inherits the existing
|
|
28945
|
+
* ad set's attachment, so the field would be silently ignored. Use
|
|
28946
|
+
* `PUT /v1/ads/ad-sets/{adSetId}` there instead.
|
|
28947
|
+
*
|
|
28948
|
+
* Ignored (stripped before the ad-set create) when `buyingType` is `RESERVED`:
|
|
28949
|
+
* value rules only apply to auction ad sets on `LOWEST_COST_WITHOUT_CAP` or
|
|
28950
|
+
* `COST_CAP`, and a Reach & Frequency reservation has no auction bid strategy.
|
|
28951
|
+
*
|
|
28952
|
+
* Read back with `GET /v1/ads/ad-sets/{adSetId}?fields=value_rule_set_id`; the
|
|
28953
|
+
* attachment is not mirrored onto Zernio's ad documents.
|
|
28954
|
+
*
|
|
28955
|
+
*/
|
|
28956
|
+
valueRuleSetId?: string;
|
|
28957
|
+
/**
|
|
28958
|
+
* Meta only (facebook, instagram; other platforms return 400). Optional when
|
|
28959
|
+
* attaching, and requires `valueRuleSetId`. `false` is REJECTED here with 400:
|
|
28960
|
+
* a newly created ad set has nothing to detach, so detaching lives on
|
|
28961
|
+
* `PUT /v1/ads/ad-sets/{adSetId}`.
|
|
28962
|
+
*
|
|
28963
|
+
*/
|
|
28964
|
+
valueRulesApplied?: boolean;
|
|
28663
28965
|
/**
|
|
28664
28966
|
* Platform-specific options. The platform is derived from `accountId`;
|
|
28665
28967
|
* sending options for a different platform returns a 400. LinkedIn
|