@zinn-digital/sdk 0.1.1398 → 0.1.1400
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 +318 -0
- package/package.json +1 -1
|
@@ -16135,6 +16135,52 @@ export interface paths {
|
|
|
16135
16135
|
patch?: never;
|
|
16136
16136
|
trace?: never;
|
|
16137
16137
|
};
|
|
16138
|
+
"/v1/ads/client-approval-links": {
|
|
16139
|
+
parameters: {
|
|
16140
|
+
query?: never;
|
|
16141
|
+
header?: never;
|
|
16142
|
+
path?: never;
|
|
16143
|
+
cookie?: never;
|
|
16144
|
+
};
|
|
16145
|
+
/**
|
|
16146
|
+
* The client approval links the caller made (za-104).
|
|
16147
|
+
* @description Gated on `ads.manage`, over every org the caller holds it in (an agency holds it on its clients through the reseller tree); narrowed by `?org_id=`. Newest first, at most 200. Never carries a token.
|
|
16148
|
+
*/
|
|
16149
|
+
get: operations["listAdsClientApprovalLinks"];
|
|
16150
|
+
put?: never;
|
|
16151
|
+
/**
|
|
16152
|
+
* Make an approval link for a client org (za-104).
|
|
16153
|
+
* @description Gated on `ads.manage` on `org_id` (the CLIENT org); another org answers `404`. `days` 1-30 (default 14, else `badDays`); `label` is the agency's own note (plain text, else `badText`). The `201` carries `url` once — only the token's SHA-256 is stored. Audit action `ads.client_approval_link_created` on the client org.
|
|
16154
|
+
*/
|
|
16155
|
+
post: operations["createAdsClientApprovalLink"];
|
|
16156
|
+
delete?: never;
|
|
16157
|
+
options?: never;
|
|
16158
|
+
head?: never;
|
|
16159
|
+
patch?: never;
|
|
16160
|
+
trace?: never;
|
|
16161
|
+
};
|
|
16162
|
+
"/v1/ads/client-approval-links/{link_id}/revoke": {
|
|
16163
|
+
parameters: {
|
|
16164
|
+
query?: never;
|
|
16165
|
+
header?: never;
|
|
16166
|
+
path: {
|
|
16167
|
+
link_id: string;
|
|
16168
|
+
};
|
|
16169
|
+
cookie?: never;
|
|
16170
|
+
};
|
|
16171
|
+
get?: never;
|
|
16172
|
+
put?: never;
|
|
16173
|
+
/**
|
|
16174
|
+
* Stop a client approval link working, now (za-104).
|
|
16175
|
+
* @description Gated on `ads.manage` on the link's client org (else `404`). Twice is once. Audit action `ads.client_approval_link_revoked`.
|
|
16176
|
+
*/
|
|
16177
|
+
post: operations["revokeAdsClientApprovalLink"];
|
|
16178
|
+
delete?: never;
|
|
16179
|
+
options?: never;
|
|
16180
|
+
head?: never;
|
|
16181
|
+
patch?: never;
|
|
16182
|
+
trace?: never;
|
|
16183
|
+
};
|
|
16138
16184
|
"/v1/ads/connect/amazon": {
|
|
16139
16185
|
parameters: {
|
|
16140
16186
|
query?: never;
|
|
@@ -40488,6 +40534,52 @@ export interface paths {
|
|
|
40488
40534
|
patch?: never;
|
|
40489
40535
|
trace?: never;
|
|
40490
40536
|
};
|
|
40537
|
+
"/v1/public/ads-approvals/{token}": {
|
|
40538
|
+
parameters: {
|
|
40539
|
+
query?: never;
|
|
40540
|
+
header?: never;
|
|
40541
|
+
path: {
|
|
40542
|
+
token: string;
|
|
40543
|
+
};
|
|
40544
|
+
cookie?: never;
|
|
40545
|
+
};
|
|
40546
|
+
/**
|
|
40547
|
+
* The agency client approval portal — what waits on the client's accounts. Unauthenticated.
|
|
40548
|
+
* @description ⛔ **No authentication.** The reader is the agency's client and has no account; the token is the whole authorisation and reaches the pending changes of ONE client org (never a sibling's, the agency's own, or an applied change). Unknown, revoked and expired tokens all answer the same `404`. Throttled per client address.
|
|
40549
|
+
*/
|
|
40550
|
+
get: operations["viewAdsClientApprovalPortal"];
|
|
40551
|
+
put?: never;
|
|
40552
|
+
post?: never;
|
|
40553
|
+
delete?: never;
|
|
40554
|
+
options?: never;
|
|
40555
|
+
head?: never;
|
|
40556
|
+
patch?: never;
|
|
40557
|
+
trace?: never;
|
|
40558
|
+
};
|
|
40559
|
+
"/v1/public/ads-approvals/{token}/changes/{change_id}/{action}": {
|
|
40560
|
+
parameters: {
|
|
40561
|
+
query?: never;
|
|
40562
|
+
header?: never;
|
|
40563
|
+
path: {
|
|
40564
|
+
action: "approve" | "reject";
|
|
40565
|
+
change_id: string;
|
|
40566
|
+
token: string;
|
|
40567
|
+
};
|
|
40568
|
+
cookie?: never;
|
|
40569
|
+
};
|
|
40570
|
+
get?: never;
|
|
40571
|
+
put?: never;
|
|
40572
|
+
/**
|
|
40573
|
+
* The agency's client approves or rejects one pending change. Unauthenticated.
|
|
40574
|
+
* @description Token-authorised like the page. `name` is required (1-80 characters, plain text, else `badName`); `reason` up to 500 (else `badReason`) and required to reject (`reasonRequired`). Runs the same decision as `decideAdsChange`: `approve` starts the send (202) and the kill switch, the spend ceilings and the account's good standing can still refuse it; `reject` answers 200. A change that is not pending on the link's org answers `404`. Audit action `ads.change_<action>` on the client org with `metadata.via = client_portal`, the link, the name and the reason.
|
|
40575
|
+
*/
|
|
40576
|
+
post: operations["decideAdsChangeOnClientPortal"];
|
|
40577
|
+
delete?: never;
|
|
40578
|
+
options?: never;
|
|
40579
|
+
head?: never;
|
|
40580
|
+
patch?: never;
|
|
40581
|
+
trace?: never;
|
|
40582
|
+
};
|
|
40491
40583
|
"/v1/public/ads/call-numbers/{pool_key}": {
|
|
40492
40584
|
parameters: {
|
|
40493
40585
|
query?: {
|
|
@@ -62097,6 +62189,8 @@ export interface components {
|
|
|
62097
62189
|
/** @description The account's ISO 4217 currency. */
|
|
62098
62190
|
currency: string;
|
|
62099
62191
|
data: components["schemas"]["AdsBudgetDecision"][];
|
|
62192
|
+
/** @description ACCTTZ (docs/1006 §84) — the Google Ads account's own time zone (IANA name, Google's customer.time_zone, refreshed on every sync). Every date in this list (starts_on, ends_on) is that account's calendar day and starts at 00:00 in this zone. Empty until the first sync has read it; the dates are then UTC days. */
|
|
62193
|
+
time_zone: string;
|
|
62100
62194
|
};
|
|
62101
62195
|
/** @description za-142 — one campaign its budget holds back while it converts at or below the account's cost per conversion. Money is in micros of `currency` (the ad account's). */
|
|
62102
62196
|
AdsBudgetFlag: {
|
|
@@ -62393,6 +62487,8 @@ export interface components {
|
|
|
62393
62487
|
decided_at: string | null;
|
|
62394
62488
|
/** @description Who approved or declined it (`autopilot` when the audit made it by itself; a person who applied the audit's one-click suggestion is named here although `proposed_by` stays `autopilot`, WALK239): who stored it (`user:<id>`, `autopilot`, `mcp:<id>`, `apikey:<id>`, …) — except a member of our staff, who reads `support` and never their id (VERIFY-ADSACTOR: an impersonated write is recorded as the staff member); a reseller's sign-in into this account (`apikey:<reseller key>` or the reseller's own `user:<id>`) reads the reseller's display name — `support` when that actor's sign-ins reach the clients of more than one parent, or its org is gone (ACTORS7, VERIFY-ACTORS7). */
|
|
62395
62489
|
decided_by: string;
|
|
62490
|
+
/** @description za-104: the reason given with the decision. An agency's client must give one to reject on the approval portal; `decided_by` then reads `client-portal:<link id>:<the name they typed>`. Empty otherwise. */
|
|
62491
|
+
decision_reason?: string;
|
|
62396
62492
|
/** @description Why the change was not sent, its CODE leading (`ceiling`, `killed`, `paused`, `disconnected`, `standing: …`, `needsReconnect`, `adBelowGood`, `xWritesOff`, za-70 `collides` — the collision simulator found what `summary.collision` names — or `collisionUnread` — the account could not be read for the replay — and za-10 `convertingSearch: …` — a negative keyword that would block a search with a conversion in the last 30 days, refused at the send even when a person approved it; SERVEWATCH `strategyStarves` — a bid-strategy switch whose ceiling or bids cannot win most of the campaign's searches against Google's own top-of-page estimates, refused whoever asked, its figures in `summary.serving_check`; UNDOSTRAT, on an APPLIED change whose Undo puts a bid strategy back: `killed` · `paused` · `standing` · `strategyStarves` followed by `: undo refused` — the restore passes the kill switch, good standing and the same simulation — and `undoReadBackDiffers: <campaigns>`, the strategy Google read back after the Undo is not `summary.bidding_before`, so the change stays applied and its Undo can be sent again); otherwise the network's own sentence. Empty when nothing went wrong. */
|
|
62397
62493
|
error: string;
|
|
62398
62494
|
/** Format: uuid */
|
|
@@ -62473,6 +62569,76 @@ export interface components {
|
|
|
62473
62569
|
message: string;
|
|
62474
62570
|
};
|
|
62475
62571
|
};
|
|
62572
|
+
/** @description za-104 (docs/1006 §112): one expiring link that lets an agency's client approve or reject the changes waiting on THEIR org's ad accounts, under the agency's brand. */
|
|
62573
|
+
AdsClientApprovalLink: {
|
|
62574
|
+
/** Format: date-time */
|
|
62575
|
+
created_at: string;
|
|
62576
|
+
created_by: string;
|
|
62577
|
+
decisions: number;
|
|
62578
|
+
/** Format: date-time */
|
|
62579
|
+
expires_at: string;
|
|
62580
|
+
/** Format: uuid */
|
|
62581
|
+
id: string;
|
|
62582
|
+
label: string;
|
|
62583
|
+
/** Format: date-time */
|
|
62584
|
+
last_used_at: string | null;
|
|
62585
|
+
live: boolean;
|
|
62586
|
+
/**
|
|
62587
|
+
* Format: uuid
|
|
62588
|
+
* @description The CLIENT org the link reaches.
|
|
62589
|
+
*/
|
|
62590
|
+
org_id: string;
|
|
62591
|
+
/** Format: date-time */
|
|
62592
|
+
revoked_at: string | null;
|
|
62593
|
+
/**
|
|
62594
|
+
* Format: uri
|
|
62595
|
+
* @description Only in the `201` that made the link — the token is never stored and cannot be shown again. On the agency's own panel address once that address is live.
|
|
62596
|
+
*/
|
|
62597
|
+
url?: string;
|
|
62598
|
+
};
|
|
62599
|
+
AdsClientPortal: {
|
|
62600
|
+
/** @description The brand the client org renders under — the agency's, when it has one. */
|
|
62601
|
+
brand: {
|
|
62602
|
+
is_white_label: boolean;
|
|
62603
|
+
logo_url: string;
|
|
62604
|
+
name: string;
|
|
62605
|
+
primary_colour: string;
|
|
62606
|
+
support_url: string;
|
|
62607
|
+
};
|
|
62608
|
+
/** @description What this link decided in the last 30 days. */
|
|
62609
|
+
decided: components["schemas"]["AdsClientPortalChange"][];
|
|
62610
|
+
/** Format: date-time */
|
|
62611
|
+
expires_at: string;
|
|
62612
|
+
pending: components["schemas"]["AdsClientPortalChange"][];
|
|
62613
|
+
};
|
|
62614
|
+
/** @description What the agency's client sees of one change — no vendor path, no actor ids. */
|
|
62615
|
+
AdsClientPortalChange: {
|
|
62616
|
+
account_name: string;
|
|
62617
|
+
action_class: string;
|
|
62618
|
+
/**
|
|
62619
|
+
* Format: int64
|
|
62620
|
+
* @description The daily budget increase asked for, minor units of `currency`.
|
|
62621
|
+
*/
|
|
62622
|
+
budget_delta_minor: number | null;
|
|
62623
|
+
/** @description ISO 4217 code of the ad account. */
|
|
62624
|
+
currency: string;
|
|
62625
|
+
/** Format: date-time */
|
|
62626
|
+
decided_at: string | null;
|
|
62627
|
+
/** @description The name the client typed; empty while pending. */
|
|
62628
|
+
decided_by_name: string;
|
|
62629
|
+
decision_reason: string;
|
|
62630
|
+
/** @description Only on a refused or failed change. */
|
|
62631
|
+
error: string;
|
|
62632
|
+
/** Format: uuid */
|
|
62633
|
+
id: string;
|
|
62634
|
+
/** Format: date-time */
|
|
62635
|
+
proposed_at: string;
|
|
62636
|
+
/** @enum {string} */
|
|
62637
|
+
status: "pending" | "approved" | "applied" | "rejected" | "refused" | "failed" | "undone";
|
|
62638
|
+
summary: {
|
|
62639
|
+
[key: string]: unknown;
|
|
62640
|
+
};
|
|
62641
|
+
};
|
|
62476
62642
|
AdsCompetitorGroup: {
|
|
62477
62643
|
/** @description The proposed group, `<Rival> alternative`. */
|
|
62478
62644
|
ad_group: string;
|
|
@@ -135029,6 +135195,91 @@ export interface operations {
|
|
|
135029
135195
|
429: components["responses"]["TooManyRequests"];
|
|
135030
135196
|
};
|
|
135031
135197
|
};
|
|
135198
|
+
listAdsClientApprovalLinks: {
|
|
135199
|
+
parameters: {
|
|
135200
|
+
query?: {
|
|
135201
|
+
org_id?: string;
|
|
135202
|
+
};
|
|
135203
|
+
header?: never;
|
|
135204
|
+
path?: never;
|
|
135205
|
+
cookie?: never;
|
|
135206
|
+
};
|
|
135207
|
+
requestBody?: never;
|
|
135208
|
+
responses: {
|
|
135209
|
+
/** @description The links. */
|
|
135210
|
+
200: {
|
|
135211
|
+
headers: {
|
|
135212
|
+
[name: string]: unknown;
|
|
135213
|
+
};
|
|
135214
|
+
content: {
|
|
135215
|
+
"application/json": {
|
|
135216
|
+
data: components["schemas"]["AdsClientApprovalLink"][];
|
|
135217
|
+
};
|
|
135218
|
+
};
|
|
135219
|
+
};
|
|
135220
|
+
401: components["responses"]["Unauthorized"];
|
|
135221
|
+
429: components["responses"]["TooManyRequests"];
|
|
135222
|
+
};
|
|
135223
|
+
};
|
|
135224
|
+
createAdsClientApprovalLink: {
|
|
135225
|
+
parameters: {
|
|
135226
|
+
query?: never;
|
|
135227
|
+
header?: never;
|
|
135228
|
+
path?: never;
|
|
135229
|
+
cookie?: never;
|
|
135230
|
+
};
|
|
135231
|
+
requestBody: {
|
|
135232
|
+
content: {
|
|
135233
|
+
"application/json": {
|
|
135234
|
+
/** @default 14 */
|
|
135235
|
+
days?: number;
|
|
135236
|
+
label?: string;
|
|
135237
|
+
/** Format: uuid */
|
|
135238
|
+
org_id: string;
|
|
135239
|
+
};
|
|
135240
|
+
};
|
|
135241
|
+
};
|
|
135242
|
+
responses: {
|
|
135243
|
+
/** @description Made; copy `url` now. */
|
|
135244
|
+
201: {
|
|
135245
|
+
headers: {
|
|
135246
|
+
[name: string]: unknown;
|
|
135247
|
+
};
|
|
135248
|
+
content: {
|
|
135249
|
+
"application/json": components["schemas"]["AdsClientApprovalLink"];
|
|
135250
|
+
};
|
|
135251
|
+
};
|
|
135252
|
+
401: components["responses"]["Unauthorized"];
|
|
135253
|
+
404: components["responses"]["NotFound"];
|
|
135254
|
+
422: components["responses"]["UnprocessableEntity"];
|
|
135255
|
+
429: components["responses"]["TooManyRequests"];
|
|
135256
|
+
};
|
|
135257
|
+
};
|
|
135258
|
+
revokeAdsClientApprovalLink: {
|
|
135259
|
+
parameters: {
|
|
135260
|
+
query?: never;
|
|
135261
|
+
header?: never;
|
|
135262
|
+
path: {
|
|
135263
|
+
link_id: string;
|
|
135264
|
+
};
|
|
135265
|
+
cookie?: never;
|
|
135266
|
+
};
|
|
135267
|
+
requestBody?: never;
|
|
135268
|
+
responses: {
|
|
135269
|
+
/** @description Revoked. */
|
|
135270
|
+
200: {
|
|
135271
|
+
headers: {
|
|
135272
|
+
[name: string]: unknown;
|
|
135273
|
+
};
|
|
135274
|
+
content: {
|
|
135275
|
+
"application/json": components["schemas"]["AdsClientApprovalLink"];
|
|
135276
|
+
};
|
|
135277
|
+
};
|
|
135278
|
+
401: components["responses"]["Unauthorized"];
|
|
135279
|
+
404: components["responses"]["NotFound"];
|
|
135280
|
+
429: components["responses"]["TooManyRequests"];
|
|
135281
|
+
};
|
|
135282
|
+
};
|
|
135032
135283
|
startAdsConnectAmazon: {
|
|
135033
135284
|
parameters: {
|
|
135034
135285
|
query?: never;
|
|
@@ -176138,6 +176389,73 @@ export interface operations {
|
|
|
176138
176389
|
409: components["responses"]["Conflict"];
|
|
176139
176390
|
};
|
|
176140
176391
|
};
|
|
176392
|
+
viewAdsClientApprovalPortal: {
|
|
176393
|
+
parameters: {
|
|
176394
|
+
query?: never;
|
|
176395
|
+
header?: never;
|
|
176396
|
+
path: {
|
|
176397
|
+
token: string;
|
|
176398
|
+
};
|
|
176399
|
+
cookie?: never;
|
|
176400
|
+
};
|
|
176401
|
+
requestBody?: never;
|
|
176402
|
+
responses: {
|
|
176403
|
+
/** @description The brand, the pending changes and what this link decided. */
|
|
176404
|
+
200: {
|
|
176405
|
+
headers: {
|
|
176406
|
+
[name: string]: unknown;
|
|
176407
|
+
};
|
|
176408
|
+
content: {
|
|
176409
|
+
"application/json": components["schemas"]["AdsClientPortal"];
|
|
176410
|
+
};
|
|
176411
|
+
};
|
|
176412
|
+
404: components["responses"]["NotFound"];
|
|
176413
|
+
429: components["responses"]["TooManyRequests"];
|
|
176414
|
+
};
|
|
176415
|
+
};
|
|
176416
|
+
decideAdsChangeOnClientPortal: {
|
|
176417
|
+
parameters: {
|
|
176418
|
+
query?: never;
|
|
176419
|
+
header?: never;
|
|
176420
|
+
path: {
|
|
176421
|
+
action: "approve" | "reject";
|
|
176422
|
+
change_id: string;
|
|
176423
|
+
token: string;
|
|
176424
|
+
};
|
|
176425
|
+
cookie?: never;
|
|
176426
|
+
};
|
|
176427
|
+
requestBody: {
|
|
176428
|
+
content: {
|
|
176429
|
+
"application/json": {
|
|
176430
|
+
name: string;
|
|
176431
|
+
reason?: string;
|
|
176432
|
+
};
|
|
176433
|
+
};
|
|
176434
|
+
};
|
|
176435
|
+
responses: {
|
|
176436
|
+
/** @description Rejected. */
|
|
176437
|
+
200: {
|
|
176438
|
+
headers: {
|
|
176439
|
+
[name: string]: unknown;
|
|
176440
|
+
};
|
|
176441
|
+
content: {
|
|
176442
|
+
"application/json": components["schemas"]["AdsClientPortalChange"];
|
|
176443
|
+
};
|
|
176444
|
+
};
|
|
176445
|
+
/** @description Approved; the send started. */
|
|
176446
|
+
202: {
|
|
176447
|
+
headers: {
|
|
176448
|
+
[name: string]: unknown;
|
|
176449
|
+
};
|
|
176450
|
+
content: {
|
|
176451
|
+
"application/json": components["schemas"]["AdsClientPortalChange"];
|
|
176452
|
+
};
|
|
176453
|
+
};
|
|
176454
|
+
404: components["responses"]["NotFound"];
|
|
176455
|
+
422: components["responses"]["UnprocessableEntity"];
|
|
176456
|
+
429: components["responses"]["TooManyRequests"];
|
|
176457
|
+
};
|
|
176458
|
+
};
|
|
176141
176459
|
getAdsCallPoolNumber: {
|
|
176142
176460
|
parameters: {
|
|
176143
176461
|
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.1400",
|
|
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>",
|