@zinn-digital/sdk 0.1.1366 → 0.1.1368

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.
@@ -1767,6 +1767,28 @@ export interface paths {
1767
1767
  patch?: never;
1768
1768
  trace?: never;
1769
1769
  };
1770
+ "/v1/admin/ads/connections/{connection_id}/measurement-health": {
1771
+ parameters: {
1772
+ query?: never;
1773
+ header?: never;
1774
+ path: {
1775
+ connection_id: string;
1776
+ };
1777
+ cookie?: never;
1778
+ };
1779
+ /**
1780
+ * Measurement health of any connection, the house included (za-253).
1781
+ * @description Gated on `campaigns.view`. Staff, any connection, the house included: the same payload as `getAdsMeasurementHealth` (docs/1006 §ADSOPT), read from the stored rows — never a network call in the request. Every read is audited: action `ads.measurement_health_viewed` (platform-wide, metadata: the account's `org_id`).
1782
+ */
1783
+ get: operations["getAdminAdsMeasurementHealth"];
1784
+ put?: never;
1785
+ post?: never;
1786
+ delete?: never;
1787
+ options?: never;
1788
+ head?: never;
1789
+ patch?: never;
1790
+ trace?: never;
1791
+ };
1770
1792
  "/v1/admin/ads/kill-switch": {
1771
1793
  parameters: {
1772
1794
  query?: never;
@@ -17977,6 +17999,28 @@ export interface paths {
17977
17999
  patch?: never;
17978
18000
  trace?: never;
17979
18001
  };
18002
+ "/v1/ads/connections/{connection_id}/measurement-health": {
18003
+ parameters: {
18004
+ query?: never;
18005
+ header?: never;
18006
+ path: {
18007
+ connection_id: string;
18008
+ };
18009
+ cookie?: never;
18010
+ };
18011
+ /**
18012
+ * Optimisation score, conversion goals, offline uploads and PMax automation (za-253).
18013
+ * @description Gated on `ads.view`. What the daily audit's measurement-health step stored for the caller's own connection (docs/1006 §ADSOPT), never a network call in the request: Google's optimisation score in basis points (`score_bp`, 9307 = 93.07%) with one point per day (`trend`, last 30 days), each enabled campaign's score, the conversion goals that count nothing because their category has no enabled primary action (`goals.missing`: a campaign with nothing left to bid for, a person must choose one; `goals.suggested`: one click to take a goal out of bidding; `goals.switched_off`: done by the autopilot, with Undo on the findings list), the offline-conversion uploads Google reports failing in the last two days (`uploads`, with Google's error code), and each Performance Max campaign's asset-automation switches (`automation`, read only). `checked_at` is null before the first audit.
18014
+ */
18015
+ get: operations["getAdsMeasurementHealth"];
18016
+ put?: never;
18017
+ post?: never;
18018
+ delete?: never;
18019
+ options?: never;
18020
+ head?: never;
18021
+ patch?: never;
18022
+ trace?: never;
18023
+ };
17980
18024
  "/v1/ads/connections/{connection_id}/merchant-feed": {
17981
18025
  parameters: {
17982
18026
  query?: never;
@@ -62912,6 +62956,69 @@ export interface components {
62912
62956
  /** @description Where this market's ads land (its language's page). */
62913
62957
  url: string;
62914
62958
  };
62959
+ /** @description ADSOPT (za-253, docs/1006 §ADSOPT) — what the audit's measurement-health step stored. */
62960
+ AdsMeasurementHealth: {
62961
+ automation: {
62962
+ campaign: string;
62963
+ campaign_id: string;
62964
+ switches: {
62965
+ [key: string]: boolean;
62966
+ };
62967
+ }[];
62968
+ campaigns: {
62969
+ campaign: string;
62970
+ campaign_id: string;
62971
+ score_bp: number;
62972
+ }[];
62973
+ /** Format: date-time */
62974
+ checked_at: string | null;
62975
+ /** Format: uuid */
62976
+ connection_id: string;
62977
+ goals: {
62978
+ missing: number;
62979
+ open: {
62980
+ campaign: string;
62981
+ campaign_id: string;
62982
+ goal: string;
62983
+ goals: string[];
62984
+ /** Format: uuid */
62985
+ id: string;
62986
+ /** Format: date-time */
62987
+ since: string;
62988
+ /** @enum {string} */
62989
+ why: "goal_missing" | "suggest_goal_no_primary";
62990
+ }[];
62991
+ suggested: number;
62992
+ switched_off: {
62993
+ /** Format: date-time */
62994
+ at: string | null;
62995
+ campaign: string;
62996
+ goal: string;
62997
+ /** Format: uuid */
62998
+ id: string;
62999
+ }[];
63000
+ };
63001
+ score_bp: number | null;
63002
+ trend: {
63003
+ /** Format: date */
63004
+ day: string;
63005
+ score_bp: number;
63006
+ }[];
63007
+ uploads: {
63008
+ data: {
63009
+ action: string;
63010
+ error: string;
63011
+ failed: number;
63012
+ /** Format: uuid */
63013
+ id: string;
63014
+ last_upload: string;
63015
+ /** Format: date-time */
63016
+ since: string;
63017
+ total: number;
63018
+ }[];
63019
+ failing: number;
63020
+ };
63021
+ };
62915
63022
  /** @description za-188 (docs/1006 §80): a connection's Shopping feed audit. `result` is the last daily audit (empty before the first): `counts` (whole, never capped), `threshold` (`recommended_micros`, `customer_micros`, `used_micros`, `source`), `issues`, `mismatches`, `out_of_stock`, `waste` (each at most 50 rows, most spend first), `stock_pause_link`, `disapprovals_reported` (false on Microsoft — its Content API reports no serving status), `merchant_api` (`off` · `read` · `refused` · `truncated`). Money in micros of the account's currency. */
62916
63023
  AdsMerchantFeed: {
62917
63024
  /** Format: uuid */
@@ -111634,6 +111741,32 @@ export interface operations {
111634
111741
  429: components["responses"]["TooManyRequests"];
111635
111742
  };
111636
111743
  };
111744
+ getAdminAdsMeasurementHealth: {
111745
+ parameters: {
111746
+ query?: never;
111747
+ header?: never;
111748
+ path: {
111749
+ connection_id: string;
111750
+ };
111751
+ cookie?: never;
111752
+ };
111753
+ requestBody?: never;
111754
+ responses: {
111755
+ /** @description The measurement health of this connection. */
111756
+ 200: {
111757
+ headers: {
111758
+ [name: string]: unknown;
111759
+ };
111760
+ content: {
111761
+ "application/json": components["schemas"]["AdsMeasurementHealth"];
111762
+ };
111763
+ };
111764
+ 401: components["responses"]["Unauthorized"];
111765
+ 403: components["responses"]["Forbidden"];
111766
+ 404: components["responses"]["NotFound"];
111767
+ 429: components["responses"]["TooManyRequests"];
111768
+ };
111769
+ };
111637
111770
  getAdminAdsKillSwitch: {
111638
111771
  parameters: {
111639
111772
  query?: never;
@@ -137681,6 +137814,32 @@ export interface operations {
137681
137814
  429: components["responses"]["TooManyRequests"];
137682
137815
  };
137683
137816
  };
137817
+ getAdsMeasurementHealth: {
137818
+ parameters: {
137819
+ query?: never;
137820
+ header?: never;
137821
+ path: {
137822
+ connection_id: string;
137823
+ };
137824
+ cookie?: never;
137825
+ };
137826
+ requestBody?: never;
137827
+ responses: {
137828
+ /** @description The measurement health of this connection. */
137829
+ 200: {
137830
+ headers: {
137831
+ [name: string]: unknown;
137832
+ };
137833
+ content: {
137834
+ "application/json": components["schemas"]["AdsMeasurementHealth"];
137835
+ };
137836
+ };
137837
+ 401: components["responses"]["Unauthorized"];
137838
+ 403: components["responses"]["Forbidden"];
137839
+ 404: components["responses"]["NotFound"];
137840
+ 429: components["responses"]["TooManyRequests"];
137841
+ };
137842
+ };
137684
137843
  getAdsMerchantFeed: {
137685
137844
  parameters: {
137686
137845
  query?: never;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zinn-digital/sdk",
3
- "version": "0.1.1366",
3
+ "version": "0.1.1368",
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>",