@zinn-digital/sdk 0.1.1398 → 0.1.1399
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 +316 -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?: {
|
|
@@ -62393,6 +62485,8 @@ export interface components {
|
|
|
62393
62485
|
decided_at: string | null;
|
|
62394
62486
|
/** @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
62487
|
decided_by: string;
|
|
62488
|
+
/** @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. */
|
|
62489
|
+
decision_reason?: string;
|
|
62396
62490
|
/** @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
62491
|
error: string;
|
|
62398
62492
|
/** Format: uuid */
|
|
@@ -62473,6 +62567,76 @@ export interface components {
|
|
|
62473
62567
|
message: string;
|
|
62474
62568
|
};
|
|
62475
62569
|
};
|
|
62570
|
+
/** @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. */
|
|
62571
|
+
AdsClientApprovalLink: {
|
|
62572
|
+
/** Format: date-time */
|
|
62573
|
+
created_at: string;
|
|
62574
|
+
created_by: string;
|
|
62575
|
+
decisions: number;
|
|
62576
|
+
/** Format: date-time */
|
|
62577
|
+
expires_at: string;
|
|
62578
|
+
/** Format: uuid */
|
|
62579
|
+
id: string;
|
|
62580
|
+
label: string;
|
|
62581
|
+
/** Format: date-time */
|
|
62582
|
+
last_used_at: string | null;
|
|
62583
|
+
live: boolean;
|
|
62584
|
+
/**
|
|
62585
|
+
* Format: uuid
|
|
62586
|
+
* @description The CLIENT org the link reaches.
|
|
62587
|
+
*/
|
|
62588
|
+
org_id: string;
|
|
62589
|
+
/** Format: date-time */
|
|
62590
|
+
revoked_at: string | null;
|
|
62591
|
+
/**
|
|
62592
|
+
* Format: uri
|
|
62593
|
+
* @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.
|
|
62594
|
+
*/
|
|
62595
|
+
url?: string;
|
|
62596
|
+
};
|
|
62597
|
+
AdsClientPortal: {
|
|
62598
|
+
/** @description The brand the client org renders under — the agency's, when it has one. */
|
|
62599
|
+
brand: {
|
|
62600
|
+
is_white_label: boolean;
|
|
62601
|
+
logo_url: string;
|
|
62602
|
+
name: string;
|
|
62603
|
+
primary_colour: string;
|
|
62604
|
+
support_url: string;
|
|
62605
|
+
};
|
|
62606
|
+
/** @description What this link decided in the last 30 days. */
|
|
62607
|
+
decided: components["schemas"]["AdsClientPortalChange"][];
|
|
62608
|
+
/** Format: date-time */
|
|
62609
|
+
expires_at: string;
|
|
62610
|
+
pending: components["schemas"]["AdsClientPortalChange"][];
|
|
62611
|
+
};
|
|
62612
|
+
/** @description What the agency's client sees of one change — no vendor path, no actor ids. */
|
|
62613
|
+
AdsClientPortalChange: {
|
|
62614
|
+
account_name: string;
|
|
62615
|
+
action_class: string;
|
|
62616
|
+
/**
|
|
62617
|
+
* Format: int64
|
|
62618
|
+
* @description The daily budget increase asked for, minor units of `currency`.
|
|
62619
|
+
*/
|
|
62620
|
+
budget_delta_minor: number | null;
|
|
62621
|
+
/** @description ISO 4217 code of the ad account. */
|
|
62622
|
+
currency: string;
|
|
62623
|
+
/** Format: date-time */
|
|
62624
|
+
decided_at: string | null;
|
|
62625
|
+
/** @description The name the client typed; empty while pending. */
|
|
62626
|
+
decided_by_name: string;
|
|
62627
|
+
decision_reason: string;
|
|
62628
|
+
/** @description Only on a refused or failed change. */
|
|
62629
|
+
error: string;
|
|
62630
|
+
/** Format: uuid */
|
|
62631
|
+
id: string;
|
|
62632
|
+
/** Format: date-time */
|
|
62633
|
+
proposed_at: string;
|
|
62634
|
+
/** @enum {string} */
|
|
62635
|
+
status: "pending" | "approved" | "applied" | "rejected" | "refused" | "failed" | "undone";
|
|
62636
|
+
summary: {
|
|
62637
|
+
[key: string]: unknown;
|
|
62638
|
+
};
|
|
62639
|
+
};
|
|
62476
62640
|
AdsCompetitorGroup: {
|
|
62477
62641
|
/** @description The proposed group, `<Rival> alternative`. */
|
|
62478
62642
|
ad_group: string;
|
|
@@ -135029,6 +135193,91 @@ export interface operations {
|
|
|
135029
135193
|
429: components["responses"]["TooManyRequests"];
|
|
135030
135194
|
};
|
|
135031
135195
|
};
|
|
135196
|
+
listAdsClientApprovalLinks: {
|
|
135197
|
+
parameters: {
|
|
135198
|
+
query?: {
|
|
135199
|
+
org_id?: string;
|
|
135200
|
+
};
|
|
135201
|
+
header?: never;
|
|
135202
|
+
path?: never;
|
|
135203
|
+
cookie?: never;
|
|
135204
|
+
};
|
|
135205
|
+
requestBody?: never;
|
|
135206
|
+
responses: {
|
|
135207
|
+
/** @description The links. */
|
|
135208
|
+
200: {
|
|
135209
|
+
headers: {
|
|
135210
|
+
[name: string]: unknown;
|
|
135211
|
+
};
|
|
135212
|
+
content: {
|
|
135213
|
+
"application/json": {
|
|
135214
|
+
data: components["schemas"]["AdsClientApprovalLink"][];
|
|
135215
|
+
};
|
|
135216
|
+
};
|
|
135217
|
+
};
|
|
135218
|
+
401: components["responses"]["Unauthorized"];
|
|
135219
|
+
429: components["responses"]["TooManyRequests"];
|
|
135220
|
+
};
|
|
135221
|
+
};
|
|
135222
|
+
createAdsClientApprovalLink: {
|
|
135223
|
+
parameters: {
|
|
135224
|
+
query?: never;
|
|
135225
|
+
header?: never;
|
|
135226
|
+
path?: never;
|
|
135227
|
+
cookie?: never;
|
|
135228
|
+
};
|
|
135229
|
+
requestBody: {
|
|
135230
|
+
content: {
|
|
135231
|
+
"application/json": {
|
|
135232
|
+
/** @default 14 */
|
|
135233
|
+
days?: number;
|
|
135234
|
+
label?: string;
|
|
135235
|
+
/** Format: uuid */
|
|
135236
|
+
org_id: string;
|
|
135237
|
+
};
|
|
135238
|
+
};
|
|
135239
|
+
};
|
|
135240
|
+
responses: {
|
|
135241
|
+
/** @description Made; copy `url` now. */
|
|
135242
|
+
201: {
|
|
135243
|
+
headers: {
|
|
135244
|
+
[name: string]: unknown;
|
|
135245
|
+
};
|
|
135246
|
+
content: {
|
|
135247
|
+
"application/json": components["schemas"]["AdsClientApprovalLink"];
|
|
135248
|
+
};
|
|
135249
|
+
};
|
|
135250
|
+
401: components["responses"]["Unauthorized"];
|
|
135251
|
+
404: components["responses"]["NotFound"];
|
|
135252
|
+
422: components["responses"]["UnprocessableEntity"];
|
|
135253
|
+
429: components["responses"]["TooManyRequests"];
|
|
135254
|
+
};
|
|
135255
|
+
};
|
|
135256
|
+
revokeAdsClientApprovalLink: {
|
|
135257
|
+
parameters: {
|
|
135258
|
+
query?: never;
|
|
135259
|
+
header?: never;
|
|
135260
|
+
path: {
|
|
135261
|
+
link_id: string;
|
|
135262
|
+
};
|
|
135263
|
+
cookie?: never;
|
|
135264
|
+
};
|
|
135265
|
+
requestBody?: never;
|
|
135266
|
+
responses: {
|
|
135267
|
+
/** @description Revoked. */
|
|
135268
|
+
200: {
|
|
135269
|
+
headers: {
|
|
135270
|
+
[name: string]: unknown;
|
|
135271
|
+
};
|
|
135272
|
+
content: {
|
|
135273
|
+
"application/json": components["schemas"]["AdsClientApprovalLink"];
|
|
135274
|
+
};
|
|
135275
|
+
};
|
|
135276
|
+
401: components["responses"]["Unauthorized"];
|
|
135277
|
+
404: components["responses"]["NotFound"];
|
|
135278
|
+
429: components["responses"]["TooManyRequests"];
|
|
135279
|
+
};
|
|
135280
|
+
};
|
|
135032
135281
|
startAdsConnectAmazon: {
|
|
135033
135282
|
parameters: {
|
|
135034
135283
|
query?: never;
|
|
@@ -176138,6 +176387,73 @@ export interface operations {
|
|
|
176138
176387
|
409: components["responses"]["Conflict"];
|
|
176139
176388
|
};
|
|
176140
176389
|
};
|
|
176390
|
+
viewAdsClientApprovalPortal: {
|
|
176391
|
+
parameters: {
|
|
176392
|
+
query?: never;
|
|
176393
|
+
header?: never;
|
|
176394
|
+
path: {
|
|
176395
|
+
token: string;
|
|
176396
|
+
};
|
|
176397
|
+
cookie?: never;
|
|
176398
|
+
};
|
|
176399
|
+
requestBody?: never;
|
|
176400
|
+
responses: {
|
|
176401
|
+
/** @description The brand, the pending changes and what this link decided. */
|
|
176402
|
+
200: {
|
|
176403
|
+
headers: {
|
|
176404
|
+
[name: string]: unknown;
|
|
176405
|
+
};
|
|
176406
|
+
content: {
|
|
176407
|
+
"application/json": components["schemas"]["AdsClientPortal"];
|
|
176408
|
+
};
|
|
176409
|
+
};
|
|
176410
|
+
404: components["responses"]["NotFound"];
|
|
176411
|
+
429: components["responses"]["TooManyRequests"];
|
|
176412
|
+
};
|
|
176413
|
+
};
|
|
176414
|
+
decideAdsChangeOnClientPortal: {
|
|
176415
|
+
parameters: {
|
|
176416
|
+
query?: never;
|
|
176417
|
+
header?: never;
|
|
176418
|
+
path: {
|
|
176419
|
+
action: "approve" | "reject";
|
|
176420
|
+
change_id: string;
|
|
176421
|
+
token: string;
|
|
176422
|
+
};
|
|
176423
|
+
cookie?: never;
|
|
176424
|
+
};
|
|
176425
|
+
requestBody: {
|
|
176426
|
+
content: {
|
|
176427
|
+
"application/json": {
|
|
176428
|
+
name: string;
|
|
176429
|
+
reason?: string;
|
|
176430
|
+
};
|
|
176431
|
+
};
|
|
176432
|
+
};
|
|
176433
|
+
responses: {
|
|
176434
|
+
/** @description Rejected. */
|
|
176435
|
+
200: {
|
|
176436
|
+
headers: {
|
|
176437
|
+
[name: string]: unknown;
|
|
176438
|
+
};
|
|
176439
|
+
content: {
|
|
176440
|
+
"application/json": components["schemas"]["AdsClientPortalChange"];
|
|
176441
|
+
};
|
|
176442
|
+
};
|
|
176443
|
+
/** @description Approved; the send started. */
|
|
176444
|
+
202: {
|
|
176445
|
+
headers: {
|
|
176446
|
+
[name: string]: unknown;
|
|
176447
|
+
};
|
|
176448
|
+
content: {
|
|
176449
|
+
"application/json": components["schemas"]["AdsClientPortalChange"];
|
|
176450
|
+
};
|
|
176451
|
+
};
|
|
176452
|
+
404: components["responses"]["NotFound"];
|
|
176453
|
+
422: components["responses"]["UnprocessableEntity"];
|
|
176454
|
+
429: components["responses"]["TooManyRequests"];
|
|
176455
|
+
};
|
|
176456
|
+
};
|
|
176141
176457
|
getAdsCallPoolNumber: {
|
|
176142
176458
|
parameters: {
|
|
176143
176459
|
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.1399",
|
|
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>",
|