@zinn-digital/sdk 0.1.1412 → 0.1.1414
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 +212 -0
- package/package.json +1 -1
|
@@ -18150,6 +18150,50 @@ export interface paths {
|
|
|
18150
18150
|
patch?: never;
|
|
18151
18151
|
trace?: never;
|
|
18152
18152
|
};
|
|
18153
|
+
"/v1/ads/connections/{connection_id}/imported": {
|
|
18154
|
+
parameters: {
|
|
18155
|
+
query?: never;
|
|
18156
|
+
header?: never;
|
|
18157
|
+
path: {
|
|
18158
|
+
connection_id: string;
|
|
18159
|
+
};
|
|
18160
|
+
cookie?: never;
|
|
18161
|
+
};
|
|
18162
|
+
/**
|
|
18163
|
+
* The connected Google Ads account's whole structure as last read (za-262).
|
|
18164
|
+
* @description Gated on `ads.view`. Read on Temporal when the account is connected, on Refresh and weekly by the daily audit — never Google in the request. `state` is `notRead` until the first read, `ok` with `import`, or `failed` with `error` (a failed read never shows old figures as current). `import` carries the account's campaigns (status, channel, daily budget in micros, shared budget, bid strategy and its target, Google's bidding-strategy status, ad groups, keywords by match type, ads, negatives, location targets), its conversion actions and totals. Read only: nothing is written to the account. A connection on another network is a `422` `refusal.adsconnect.platformNotSupported`. `history` (za-263) is the account's OWN history read back month by month to the retention edge (400 days) after the first read — `null` until it starts; its figures are the ad-group totals now stored.
|
|
18165
|
+
*/
|
|
18166
|
+
get: operations["getAdsImportedAccount"];
|
|
18167
|
+
put?: never;
|
|
18168
|
+
post?: never;
|
|
18169
|
+
delete?: never;
|
|
18170
|
+
options?: never;
|
|
18171
|
+
head?: never;
|
|
18172
|
+
patch?: never;
|
|
18173
|
+
trace?: never;
|
|
18174
|
+
};
|
|
18175
|
+
"/v1/ads/connections/{connection_id}/imported/refresh": {
|
|
18176
|
+
parameters: {
|
|
18177
|
+
query?: never;
|
|
18178
|
+
header?: never;
|
|
18179
|
+
path: {
|
|
18180
|
+
connection_id: string;
|
|
18181
|
+
};
|
|
18182
|
+
cookie?: never;
|
|
18183
|
+
};
|
|
18184
|
+
get?: never;
|
|
18185
|
+
put?: never;
|
|
18186
|
+
/**
|
|
18187
|
+
* Read the connected Google Ads account's structure again now (za-262).
|
|
18188
|
+
* @description Gated on `ads.manage`. Starts one read on Temporal (one per connection per minute) and answers 202; 503 when the workflow could not be started. A disconnected connection is a `422` `refusal.adsconnect.disconnected`.
|
|
18189
|
+
*/
|
|
18190
|
+
post: operations["refreshAdsImportedAccount"];
|
|
18191
|
+
delete?: never;
|
|
18192
|
+
options?: never;
|
|
18193
|
+
head?: never;
|
|
18194
|
+
patch?: never;
|
|
18195
|
+
trace?: never;
|
|
18196
|
+
};
|
|
18153
18197
|
"/v1/ads/connections/{connection_id}/insights": {
|
|
18154
18198
|
parameters: {
|
|
18155
18199
|
query?: never;
|
|
@@ -63802,6 +63846,89 @@ export interface components {
|
|
|
63802
63846
|
AdsHistoryThresholdsInput: components["schemas"]["AdsHistoryThresholds"] & {
|
|
63803
63847
|
reset?: boolean;
|
|
63804
63848
|
};
|
|
63849
|
+
/** @description za-262: a connected Google Ads account's structure as read (read only). Money is integer micros of `currency`, never a float; a shared budget is counted once in `enabled_daily_budget_micros`. */
|
|
63850
|
+
AdsImportedAccount: {
|
|
63851
|
+
account_name: string;
|
|
63852
|
+
campaigns: {
|
|
63853
|
+
ad_group_negatives: number;
|
|
63854
|
+
ad_groups: number;
|
|
63855
|
+
ads: number;
|
|
63856
|
+
ads_enabled: number;
|
|
63857
|
+
bid_strategy: string;
|
|
63858
|
+
bid_strategy_status: string;
|
|
63859
|
+
/** @description The budget's resource name (a shared budget is counted once by it). */
|
|
63860
|
+
budget_id: string;
|
|
63861
|
+
budget_shared: boolean;
|
|
63862
|
+
budget_shared_by: number;
|
|
63863
|
+
campaign_negatives: number;
|
|
63864
|
+
channel: string;
|
|
63865
|
+
/** Format: int64 */
|
|
63866
|
+
daily_budget_micros: number;
|
|
63867
|
+
id: string;
|
|
63868
|
+
keywords: number;
|
|
63869
|
+
keywords_by_match: {
|
|
63870
|
+
[key: string]: number;
|
|
63871
|
+
};
|
|
63872
|
+
learning: boolean;
|
|
63873
|
+
location_exclusions: number;
|
|
63874
|
+
location_targets: number;
|
|
63875
|
+
name: string;
|
|
63876
|
+
portfolio: boolean;
|
|
63877
|
+
status: string;
|
|
63878
|
+
/** Format: int64 */
|
|
63879
|
+
target_cpa_micros: number | null;
|
|
63880
|
+
target_roas_pct: number | null;
|
|
63881
|
+
}[];
|
|
63882
|
+
conversion_actions: {
|
|
63883
|
+
category: string;
|
|
63884
|
+
counting: string;
|
|
63885
|
+
id: string;
|
|
63886
|
+
name: string;
|
|
63887
|
+
primary: boolean;
|
|
63888
|
+
status: string;
|
|
63889
|
+
}[];
|
|
63890
|
+
currency: string;
|
|
63891
|
+
optimization_score_pct: number | null;
|
|
63892
|
+
/** Format: date-time */
|
|
63893
|
+
read_at: string;
|
|
63894
|
+
totals: {
|
|
63895
|
+
ad_groups: number;
|
|
63896
|
+
ads: number;
|
|
63897
|
+
campaigns: number;
|
|
63898
|
+
campaigns_enabled: number;
|
|
63899
|
+
conversion_actions: number;
|
|
63900
|
+
/** Format: int64 */
|
|
63901
|
+
enabled_daily_budget_micros: number;
|
|
63902
|
+
keywords: number;
|
|
63903
|
+
learning: number;
|
|
63904
|
+
negatives: number;
|
|
63905
|
+
primary_conversion_actions: number;
|
|
63906
|
+
shared_budgets: number;
|
|
63907
|
+
};
|
|
63908
|
+
};
|
|
63909
|
+
/** @description za-263: the connected account's own history read back on Temporal (month by month, resumable, deferred to Google's reset when the day's op budget is spent). Money in integer micros; conversions in thousandths. */
|
|
63910
|
+
AdsImportedHistory: {
|
|
63911
|
+
/** Format: int64 */
|
|
63912
|
+
clicks: number;
|
|
63913
|
+
/** Format: int64 */
|
|
63914
|
+
conversions_milli: number;
|
|
63915
|
+
/** Format: int64 */
|
|
63916
|
+
cost_micros: number;
|
|
63917
|
+
days_with_data: number;
|
|
63918
|
+
error: string | null;
|
|
63919
|
+
/** Format: date */
|
|
63920
|
+
first_day: string | null;
|
|
63921
|
+
months_read: number;
|
|
63922
|
+
months_total: number;
|
|
63923
|
+
/** @enum {string} */
|
|
63924
|
+
state: "reading" | "done" | "paused";
|
|
63925
|
+
/** Format: int64 */
|
|
63926
|
+
value_micros: number;
|
|
63927
|
+
/** Format: date */
|
|
63928
|
+
window_end: string | null;
|
|
63929
|
+
/** Format: date */
|
|
63930
|
+
window_start: string | null;
|
|
63931
|
+
};
|
|
63805
63932
|
/** @description One reading of an account, or null before its first audit. `figures` depends on `kind` (docs/1006 §30): money is integer minor units (`*_minor`) or micros (`*_micros`) of the account's currency, never a float; missed clicks and conversions are estimates. */
|
|
63806
63933
|
AdsInsightReading: {
|
|
63807
63934
|
/** Format: date */
|
|
@@ -108043,6 +108170,8 @@ export interface components {
|
|
|
108043
108170
|
* @description The product-specific payload — the engine answers and mention rate for `ai_visibility`, the per-platform ratings for `reputation`, the crawl totals for `onpage`. For `onpage`, `crawl_truncated` says whether the crawl stopped at its page budget: "no issues found" after crawling 100 of 40,000 pages is not a clean site.
|
|
108044
108171
|
*
|
|
108045
108172
|
* For `rank`, every run carries its **complete** `keywords` array — each phrase, its position, and both AI-citation readings — so a client can chart the history from the audit list without a second call. Each row also carries `ai_overview_change` and `ai_mode_change`: `"lost"`, `"gained"`, or `null`. ⛔ `null` is *"no comparison could be made"* — the surface was absent from one of the two runs, or the citation could not be read — and is **not** "unchanged". The run totals `ai_overview_citations_lost` / `_gained` and `ai_mode_citations_lost` / `_gained` count those transitions in both directions, per surface. A transition is what raises `visibility.ai_citation.lost` / `.gained` and is the only thing that notifies a customer; the `rank_ai_overview_missing` / `rank_ai_mode_missing` findings are the corresponding **states**, true on every run until they change.
|
|
108173
|
+
*
|
|
108174
|
+
* For `ai_visibility`, each `answers[]` row says whether the target was **found** as well as **cited**: `found` is `true` when the target's site was among the pages the engine's web search returned (`found_url` is that page, `found_count` how many pages the search returned), `false` when the engine searched and the site was absent, and `null` when the engine did not search, which means unknown, not "not found". `found: true` with `linked: false` is *found but not cited*; `competitors` are the domains cited instead. Each `cited_<engine>` finding's detail counts `found_not_cited`.
|
|
108046
108175
|
*/
|
|
108047
108176
|
summary?: {
|
|
108048
108177
|
[key: string]: unknown;
|
|
@@ -139440,6 +139569,89 @@ export interface operations {
|
|
|
139440
139569
|
429: components["responses"]["TooManyRequests"];
|
|
139441
139570
|
};
|
|
139442
139571
|
};
|
|
139572
|
+
getAdsImportedAccount: {
|
|
139573
|
+
parameters: {
|
|
139574
|
+
query?: never;
|
|
139575
|
+
header?: never;
|
|
139576
|
+
path: {
|
|
139577
|
+
connection_id: string;
|
|
139578
|
+
};
|
|
139579
|
+
cookie?: never;
|
|
139580
|
+
};
|
|
139581
|
+
requestBody?: never;
|
|
139582
|
+
responses: {
|
|
139583
|
+
/** @description The stored reading. */
|
|
139584
|
+
200: {
|
|
139585
|
+
headers: {
|
|
139586
|
+
[name: string]: unknown;
|
|
139587
|
+
};
|
|
139588
|
+
content: {
|
|
139589
|
+
"application/json": {
|
|
139590
|
+
data: {
|
|
139591
|
+
/** Format: uuid */
|
|
139592
|
+
connection_id: string;
|
|
139593
|
+
error: string | null;
|
|
139594
|
+
history: components["schemas"]["AdsImportedHistory"] | null;
|
|
139595
|
+
import: components["schemas"]["AdsImportedAccount"] | null;
|
|
139596
|
+
/** Format: date-time */
|
|
139597
|
+
read_at: string | null;
|
|
139598
|
+
/** @enum {string} */
|
|
139599
|
+
state: "notRead" | "ok" | "failed";
|
|
139600
|
+
};
|
|
139601
|
+
};
|
|
139602
|
+
};
|
|
139603
|
+
};
|
|
139604
|
+
401: components["responses"]["Unauthorized"];
|
|
139605
|
+
403: components["responses"]["Forbidden"];
|
|
139606
|
+
404: components["responses"]["NotFound"];
|
|
139607
|
+
422: components["responses"]["UnprocessableEntity"];
|
|
139608
|
+
429: components["responses"]["TooManyRequests"];
|
|
139609
|
+
};
|
|
139610
|
+
};
|
|
139611
|
+
refreshAdsImportedAccount: {
|
|
139612
|
+
parameters: {
|
|
139613
|
+
query?: never;
|
|
139614
|
+
header?: never;
|
|
139615
|
+
path: {
|
|
139616
|
+
connection_id: string;
|
|
139617
|
+
};
|
|
139618
|
+
cookie?: never;
|
|
139619
|
+
};
|
|
139620
|
+
requestBody?: never;
|
|
139621
|
+
responses: {
|
|
139622
|
+
/** @description Started. */
|
|
139623
|
+
202: {
|
|
139624
|
+
headers: {
|
|
139625
|
+
[name: string]: unknown;
|
|
139626
|
+
};
|
|
139627
|
+
content: {
|
|
139628
|
+
"application/json": {
|
|
139629
|
+
/** Format: uuid */
|
|
139630
|
+
connection_id: string;
|
|
139631
|
+
started: boolean;
|
|
139632
|
+
};
|
|
139633
|
+
};
|
|
139634
|
+
};
|
|
139635
|
+
401: components["responses"]["Unauthorized"];
|
|
139636
|
+
403: components["responses"]["Forbidden"];
|
|
139637
|
+
404: components["responses"]["NotFound"];
|
|
139638
|
+
422: components["responses"]["UnprocessableEntity"];
|
|
139639
|
+
429: components["responses"]["TooManyRequests"];
|
|
139640
|
+
/** @description The read could not be started (Temporal unreachable); try again. */
|
|
139641
|
+
503: {
|
|
139642
|
+
headers: {
|
|
139643
|
+
[name: string]: unknown;
|
|
139644
|
+
};
|
|
139645
|
+
content: {
|
|
139646
|
+
"application/json": {
|
|
139647
|
+
/** Format: uuid */
|
|
139648
|
+
connection_id: string;
|
|
139649
|
+
started: boolean;
|
|
139650
|
+
};
|
|
139651
|
+
};
|
|
139652
|
+
};
|
|
139653
|
+
};
|
|
139654
|
+
};
|
|
139443
139655
|
getAdsInsights: {
|
|
139444
139656
|
parameters: {
|
|
139445
139657
|
query?: never;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zinn-digital/sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1414",
|
|
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>",
|