@zinn-digital/sdk 0.1.1391 → 0.1.1394
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/generated/schema.d.ts +243 -4
- package/package.json +1 -1
|
@@ -16959,6 +16959,33 @@ export interface paths {
|
|
|
16959
16959
|
patch: operations["updateAdsAudience"];
|
|
16960
16960
|
trace?: never;
|
|
16961
16961
|
};
|
|
16962
|
+
"/v1/ads/connections/{connection_id}/audiences/{audience_id}/crm-feed": {
|
|
16963
|
+
parameters: {
|
|
16964
|
+
query?: never;
|
|
16965
|
+
header?: never;
|
|
16966
|
+
path: {
|
|
16967
|
+
audience_id: string;
|
|
16968
|
+
connection_id: string;
|
|
16969
|
+
};
|
|
16970
|
+
cookie?: never;
|
|
16971
|
+
};
|
|
16972
|
+
get?: never;
|
|
16973
|
+
/**
|
|
16974
|
+
* Fill a Customer Match list automatically from one of your CRM sources.
|
|
16975
|
+
* @description za-95 (docs/1006 §72a). Gated on `ads.manage`; audit action `ads.audience_crm_feed_set` (counts and the attestation, never a person). Any change to the attestation re-stamps who and when; withdrawing either consent removes everyone at the next sync; changing the stages or the source re-reads the CRM from the start. Refusals: `audienceHasUploads` (the list holds uploaded people), `crmFeedBadSource`, `crmFeedBadStages`, `audienceDeleted`, `disconnected`.
|
|
16976
|
+
*/
|
|
16977
|
+
put: operations["setAdsAudienceCrmFeed"];
|
|
16978
|
+
post?: never;
|
|
16979
|
+
/**
|
|
16980
|
+
* Stop filling a list from the CRM; everyone it added is removed.
|
|
16981
|
+
* @description za-95. Gated on `ads.manage`; audit action `ads.audience_crm_feed_removed`. The list stays and can take uploads again.
|
|
16982
|
+
*/
|
|
16983
|
+
delete: operations["removeAdsAudienceCrmFeed"];
|
|
16984
|
+
options?: never;
|
|
16985
|
+
head?: never;
|
|
16986
|
+
patch?: never;
|
|
16987
|
+
trace?: never;
|
|
16988
|
+
};
|
|
16962
16989
|
"/v1/ads/connections/{connection_id}/audiences/{audience_id}/members": {
|
|
16963
16990
|
parameters: {
|
|
16964
16991
|
query?: never;
|
|
@@ -20050,6 +20077,26 @@ export interface paths {
|
|
|
20050
20077
|
patch?: never;
|
|
20051
20078
|
trace?: never;
|
|
20052
20079
|
};
|
|
20080
|
+
"/v1/ads/social": {
|
|
20081
|
+
parameters: {
|
|
20082
|
+
query?: never;
|
|
20083
|
+
header?: never;
|
|
20084
|
+
path?: never;
|
|
20085
|
+
cookie?: never;
|
|
20086
|
+
};
|
|
20087
|
+
/**
|
|
20088
|
+
* The social-network autopilot on this org's X and Meta accounts.
|
|
20089
|
+
* @description Gated on `ads.view`. Read from our own rows (no network call). Per X and Meta account: `levers` says what the autopilot judges there (`audiences` and `creatives` are judged by the scheduled audit; Meta `placements` by the placement guard and `budgets` by the cross-network budget, `elsewhere` with the screen in `where`; X offers no placement change on a running line item, `not_offered`). `review` is the latest audit: audiences (X line items, Meta ad sets) and creatives (X promoted Tweets, Meta ads) judged, the spend found wasted (`waste_micros`, micros of the account currency: spend with no conversion), what was proposed or applied and `findings` (at most 50). A creative is stopped only while its audience keeps another creative that is not waste. `needs_permission` means Meta has not granted Zinn® Ads `ads_management`: judged, nothing proposed. `pending` counts the pauses waiting for a person (docs/1006 §121, za-55).
|
|
20090
|
+
*/
|
|
20091
|
+
get: operations["getAdsSocial"];
|
|
20092
|
+
put?: never;
|
|
20093
|
+
post?: never;
|
|
20094
|
+
delete?: never;
|
|
20095
|
+
options?: never;
|
|
20096
|
+
head?: never;
|
|
20097
|
+
patch?: never;
|
|
20098
|
+
trace?: never;
|
|
20099
|
+
};
|
|
20053
20100
|
"/v1/ads/tracking/events": {
|
|
20054
20101
|
parameters: {
|
|
20055
20102
|
query?: never;
|
|
@@ -61562,8 +61609,11 @@ export interface components {
|
|
|
61562
61609
|
active: boolean;
|
|
61563
61610
|
added_last?: number;
|
|
61564
61611
|
at_network_list?: boolean;
|
|
61565
|
-
/**
|
|
61566
|
-
|
|
61612
|
+
/**
|
|
61613
|
+
* @description Why nothing is sent now. `noSourceConsent` (za-95) = the list is filled from a CRM source whose Customer Match consents (BOTH ad_user_data and ad_personalization) are not attested; the remedy is to attest both for that source on the list. A list that may not add people (`noConsent` / `noSourceConsent`) still has its removals sent: withdrawing consent or unlinking the CRM takes everyone off at the network.
|
|
61614
|
+
* @enum {string|null}
|
|
61615
|
+
*/
|
|
61616
|
+
blocked_by: "notGoogle" | "noConsent" | "noSourceConsent" | "noTerms" | "noDataManager" | "paused" | "disconnected" | "killed" | "notInGoodStanding" | "needsReconnect" | "deferred" | null;
|
|
61567
61617
|
consent: {
|
|
61568
61618
|
/** @enum {string} */
|
|
61569
61619
|
ad_personalization?: "GRANTED" | "DENIED" | "UNSPECIFIED";
|
|
@@ -61591,6 +61641,8 @@ export interface components {
|
|
|
61591
61641
|
};
|
|
61592
61642
|
/** Format: date-time */
|
|
61593
61643
|
created_at: string;
|
|
61644
|
+
/** @description za-95 — the CRM source filling this list automatically (null = an uploaded list). */
|
|
61645
|
+
crm_feed?: components["schemas"]["AdsAudienceCrmFeed"] | null;
|
|
61594
61646
|
description?: string;
|
|
61595
61647
|
/** Format: uuid */
|
|
61596
61648
|
id: string;
|
|
@@ -61610,6 +61662,38 @@ export interface components {
|
|
|
61610
61662
|
name: string;
|
|
61611
61663
|
removed_last?: number;
|
|
61612
61664
|
};
|
|
61665
|
+
/** @description za-95 (docs/1006 §72a): a Customer Match list filled from one of the customer's own CRM sources. People whose lead or deal is at one of `stages` join; a person who leaves those stages, or whose CRM consent field reads a refusal, is removed. The Customer Match attestation is this source's OWN (both consents, who and when) — never the CRM source's ad-measurement `consent_attested`. Until both are attested the CRM is not read for the list. Counts only, never a person. */
|
|
61666
|
+
AdsAudienceCrmFeed: {
|
|
61667
|
+
attest_ad_personalization: boolean;
|
|
61668
|
+
attest_ad_user_data: boolean;
|
|
61669
|
+
/** @description Both attested */
|
|
61670
|
+
attested: boolean;
|
|
61671
|
+
/** Format: date-time */
|
|
61672
|
+
attested_at: string | null;
|
|
61673
|
+
attested_by: string;
|
|
61674
|
+
joined: number;
|
|
61675
|
+
/** Format: date-time */
|
|
61676
|
+
last_fed_at: string | null;
|
|
61677
|
+
leads_read: number;
|
|
61678
|
+
left: number;
|
|
61679
|
+
/** @description Leads at a feed stage whose CRM consent field refused. */
|
|
61680
|
+
not_consented: number;
|
|
61681
|
+
/** Format: uuid */
|
|
61682
|
+
source_id: string;
|
|
61683
|
+
stages: string[];
|
|
61684
|
+
};
|
|
61685
|
+
AdsAudienceCrmFeedPut: {
|
|
61686
|
+
/** @description The customer attests every person in these stages consented to personalised advertising. */
|
|
61687
|
+
attest_ad_personalization: boolean;
|
|
61688
|
+
/** @description The customer attests every person in these stages consented to their data being sent to Google for advertising. */
|
|
61689
|
+
attest_ad_user_data: boolean;
|
|
61690
|
+
/**
|
|
61691
|
+
* Format: uuid
|
|
61692
|
+
* @description A lead or deal source on this ad account (not a calls source).
|
|
61693
|
+
*/
|
|
61694
|
+
source_id: string;
|
|
61695
|
+
stages: string[];
|
|
61696
|
+
};
|
|
61613
61697
|
/** @description One audit of one ad account (za-39: the platform-neutral audit for Microsoft Advertising; the Google audit for Google). Counts only, never vendor text. */
|
|
61614
61698
|
AdsAuditRun: {
|
|
61615
61699
|
/** Format: date-time */
|
|
@@ -61720,8 +61804,11 @@ export interface components {
|
|
|
61720
61804
|
* @enum {string}
|
|
61721
61805
|
*/
|
|
61722
61806
|
mode: "auto" | "approve" | "off";
|
|
61723
|
-
/**
|
|
61724
|
-
|
|
61807
|
+
/**
|
|
61808
|
+
* @description za-72 `compare_page`: a competitor ad moved onto the customer's own comparison page for its rival, under the `ads` mode.
|
|
61809
|
+
* @enum {string}
|
|
61810
|
+
*/
|
|
61811
|
+
step: "negatives" | "pauses" | "keywords" | "budgets" | "bids" | "assets" | "compare_page" | "goals";
|
|
61725
61812
|
}[];
|
|
61726
61813
|
};
|
|
61727
61814
|
/** @description The organisation's autopilot decisions (za-166, docs/1006 §77). */
|
|
@@ -62358,6 +62445,7 @@ export interface components {
|
|
|
62358
62445
|
AdsCompetitorGroupsEnvelope: {
|
|
62359
62446
|
data: {
|
|
62360
62447
|
enabled: boolean;
|
|
62448
|
+
found_rivals?: components["schemas"]["AdsFoundRival"][];
|
|
62361
62449
|
last_run: components["schemas"]["AdsCompetitorGroupsRun"] | null;
|
|
62362
62450
|
/** @description Proposals waiting for approval. */
|
|
62363
62451
|
pending: number;
|
|
@@ -62381,6 +62469,10 @@ export interface components {
|
|
|
62381
62469
|
max_keywords?: number | null;
|
|
62382
62470
|
min_clicks?: number | null;
|
|
62383
62471
|
min_impressions?: number | null;
|
|
62472
|
+
/** @description za-73: add or dismiss competitors found on the account, by name (from `found_rivals`). An unknown name or value refuses the whole request (competitorGroupsInvalid, field `rivals`). */
|
|
62473
|
+
rivals?: {
|
|
62474
|
+
[key: string]: "added" | "dismissed";
|
|
62475
|
+
};
|
|
62384
62476
|
};
|
|
62385
62477
|
AdsCompetitorGroupsRun: {
|
|
62386
62478
|
/** @description za-71: builds and blocks the Automatic mode sent. */
|
|
@@ -62391,6 +62483,8 @@ export interface components {
|
|
|
62391
62483
|
blocked?: number;
|
|
62392
62484
|
/** @description Rival + language pairs that already have a group or a decided proposal. */
|
|
62393
62485
|
covered: number;
|
|
62486
|
+
/** @description za-73: found competitors waiting for a person to add or dismiss. */
|
|
62487
|
+
found_rivals?: number;
|
|
62394
62488
|
groups: components["schemas"]["AdsCompetitorGroup"][];
|
|
62395
62489
|
proposed: number;
|
|
62396
62490
|
/** @description Empty when it ran; else why not (competitorsOff, notInGoodStanding, ...). */
|
|
@@ -62674,6 +62768,8 @@ export interface components {
|
|
|
62674
62768
|
};
|
|
62675
62769
|
AdsCrmSyncResult: {
|
|
62676
62770
|
failure: string;
|
|
62771
|
+
/** @description za-95: people who joined or left a CRM-fed Customer Match list (CSV uploads). */
|
|
62772
|
+
list_changes?: number;
|
|
62677
62773
|
more: boolean;
|
|
62678
62774
|
no_click_id: number;
|
|
62679
62775
|
not_consented: number;
|
|
@@ -62826,6 +62922,22 @@ export interface components {
|
|
|
62826
62922
|
*/
|
|
62827
62923
|
option: "move" | "increase";
|
|
62828
62924
|
};
|
|
62925
|
+
/** @description za-73: a competitor this account's own searches (or a brand bidder Auction Insights named) point at, that nobody added. Added, it joins the competitor list: its ad groups are proposed and no ad may name it. Dismissed, it is never suggested again. */
|
|
62926
|
+
AdsFoundRival: {
|
|
62927
|
+
clicks: number;
|
|
62928
|
+
/** Format: date-time */
|
|
62929
|
+
decided_at?: string | null;
|
|
62930
|
+
/** @description Up to three comparison searches that named it. */
|
|
62931
|
+
examples: string[];
|
|
62932
|
+
/** Format: date-time */
|
|
62933
|
+
first_seen_at?: string | null;
|
|
62934
|
+
impressions: number;
|
|
62935
|
+
name: string;
|
|
62936
|
+
/** @enum {string} */
|
|
62937
|
+
source: "search" | "brand_bidder";
|
|
62938
|
+
/** @enum {string} */
|
|
62939
|
+
status: "new" | "added" | "dismissed";
|
|
62940
|
+
};
|
|
62829
62941
|
/** @description One geo hold-out (za-202, docs/1006 §80). */
|
|
62830
62942
|
AdsGeoHoldout: {
|
|
62831
62943
|
baseline_days: number;
|
|
@@ -65146,6 +65258,44 @@ export interface components {
|
|
|
65146
65258
|
/** @description The address of the site in that language. */
|
|
65147
65259
|
url?: string;
|
|
65148
65260
|
};
|
|
65261
|
+
AdsSocial: {
|
|
65262
|
+
accounts: {
|
|
65263
|
+
/** Format: uuid */
|
|
65264
|
+
connection_id: string;
|
|
65265
|
+
currency: string;
|
|
65266
|
+
label: string;
|
|
65267
|
+
levers: {
|
|
65268
|
+
/** @enum {string} */
|
|
65269
|
+
lever: "audiences" | "placements" | "creatives" | "budgets";
|
|
65270
|
+
/** @enum {string} */
|
|
65271
|
+
state: "judged" | "elsewhere" | "not_offered";
|
|
65272
|
+
where: string;
|
|
65273
|
+
}[];
|
|
65274
|
+
pending: number;
|
|
65275
|
+
/** @enum {string} */
|
|
65276
|
+
platform: "x" | "meta";
|
|
65277
|
+
review: {
|
|
65278
|
+
applied: number;
|
|
65279
|
+
/** Format: date-time */
|
|
65280
|
+
at: string;
|
|
65281
|
+
audiences: number;
|
|
65282
|
+
creatives: number;
|
|
65283
|
+
findings: {
|
|
65284
|
+
clicks: number;
|
|
65285
|
+
cost_micros: number;
|
|
65286
|
+
id: string;
|
|
65287
|
+
/** @enum {string} */
|
|
65288
|
+
lever: "audiences" | "creatives";
|
|
65289
|
+
name: string;
|
|
65290
|
+
}[];
|
|
65291
|
+
held: boolean;
|
|
65292
|
+
needs_permission: boolean;
|
|
65293
|
+
ok: boolean;
|
|
65294
|
+
proposed: number;
|
|
65295
|
+
waste_micros: number;
|
|
65296
|
+
} | null;
|
|
65297
|
+
}[];
|
|
65298
|
+
};
|
|
65149
65299
|
/** @description za-N2 out-of-stock pause settings of one connection. Each value is the customer's own; `recommended` holds our Recommended defaults and `bounds` the accepted range (minutes). */
|
|
65150
65300
|
AdsStockPauseSettings: {
|
|
65151
65301
|
bounds: {
|
|
@@ -136329,6 +136479,69 @@ export interface operations {
|
|
|
136329
136479
|
429: components["responses"]["TooManyRequests"];
|
|
136330
136480
|
};
|
|
136331
136481
|
};
|
|
136482
|
+
setAdsAudienceCrmFeed: {
|
|
136483
|
+
parameters: {
|
|
136484
|
+
query?: never;
|
|
136485
|
+
header?: never;
|
|
136486
|
+
path: {
|
|
136487
|
+
audience_id: string;
|
|
136488
|
+
connection_id: string;
|
|
136489
|
+
};
|
|
136490
|
+
cookie?: never;
|
|
136491
|
+
};
|
|
136492
|
+
requestBody: {
|
|
136493
|
+
content: {
|
|
136494
|
+
"application/json": components["schemas"]["AdsAudienceCrmFeedPut"];
|
|
136495
|
+
};
|
|
136496
|
+
};
|
|
136497
|
+
responses: {
|
|
136498
|
+
/** @description The list, with its feed. */
|
|
136499
|
+
200: {
|
|
136500
|
+
headers: {
|
|
136501
|
+
[name: string]: unknown;
|
|
136502
|
+
};
|
|
136503
|
+
content: {
|
|
136504
|
+
"application/json": components["schemas"]["AdsAudience"] & {
|
|
136505
|
+
sync_started: boolean;
|
|
136506
|
+
};
|
|
136507
|
+
};
|
|
136508
|
+
};
|
|
136509
|
+
401: components["responses"]["Unauthorized"];
|
|
136510
|
+
403: components["responses"]["Forbidden"];
|
|
136511
|
+
404: components["responses"]["NotFound"];
|
|
136512
|
+
422: components["responses"]["UnprocessableEntity"];
|
|
136513
|
+
429: components["responses"]["TooManyRequests"];
|
|
136514
|
+
};
|
|
136515
|
+
};
|
|
136516
|
+
removeAdsAudienceCrmFeed: {
|
|
136517
|
+
parameters: {
|
|
136518
|
+
query?: never;
|
|
136519
|
+
header?: never;
|
|
136520
|
+
path: {
|
|
136521
|
+
audience_id: string;
|
|
136522
|
+
connection_id: string;
|
|
136523
|
+
};
|
|
136524
|
+
cookie?: never;
|
|
136525
|
+
};
|
|
136526
|
+
requestBody?: never;
|
|
136527
|
+
responses: {
|
|
136528
|
+
/** @description Removed; the removals are sent at the next sync. */
|
|
136529
|
+
202: {
|
|
136530
|
+
headers: {
|
|
136531
|
+
[name: string]: unknown;
|
|
136532
|
+
};
|
|
136533
|
+
content: {
|
|
136534
|
+
"application/json": components["schemas"]["AdsAudience"] & {
|
|
136535
|
+
sync_started: boolean;
|
|
136536
|
+
};
|
|
136537
|
+
};
|
|
136538
|
+
};
|
|
136539
|
+
401: components["responses"]["Unauthorized"];
|
|
136540
|
+
403: components["responses"]["Forbidden"];
|
|
136541
|
+
404: components["responses"]["NotFound"];
|
|
136542
|
+
429: components["responses"]["TooManyRequests"];
|
|
136543
|
+
};
|
|
136544
|
+
};
|
|
136332
136545
|
uploadAdsAudienceMembers: {
|
|
136333
136546
|
parameters: {
|
|
136334
136547
|
query?: never;
|
|
@@ -142214,6 +142427,32 @@ export interface operations {
|
|
|
142214
142427
|
429: components["responses"]["TooManyRequests"];
|
|
142215
142428
|
};
|
|
142216
142429
|
};
|
|
142430
|
+
getAdsSocial: {
|
|
142431
|
+
parameters: {
|
|
142432
|
+
query?: {
|
|
142433
|
+
org_id?: string;
|
|
142434
|
+
};
|
|
142435
|
+
header?: never;
|
|
142436
|
+
path?: never;
|
|
142437
|
+
cookie?: never;
|
|
142438
|
+
};
|
|
142439
|
+
requestBody?: never;
|
|
142440
|
+
responses: {
|
|
142441
|
+
/** @description The social accounts and their latest review. */
|
|
142442
|
+
200: {
|
|
142443
|
+
headers: {
|
|
142444
|
+
[name: string]: unknown;
|
|
142445
|
+
};
|
|
142446
|
+
content: {
|
|
142447
|
+
"application/json": components["schemas"]["AdsSocial"];
|
|
142448
|
+
};
|
|
142449
|
+
};
|
|
142450
|
+
401: components["responses"]["Unauthorized"];
|
|
142451
|
+
403: components["responses"]["Forbidden"];
|
|
142452
|
+
404: components["responses"]["NotFound"];
|
|
142453
|
+
429: components["responses"]["TooManyRequests"];
|
|
142454
|
+
};
|
|
142455
|
+
};
|
|
142217
142456
|
listAdsTrackingEvents: {
|
|
142218
142457
|
parameters: {
|
|
142219
142458
|
query?: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zinn-digital/sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1394",
|
|
4
4
|
"description": "Typed TypeScript client for the Zinn Digital Platform API, generated from its OpenAPI spec.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Neil Lock \u2014 CEO, Zinn Digital\u00ae Ltd <office@zinndigital.com>",
|