@zinn-digital/sdk 0.1.1365 → 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;
@@ -45873,6 +45917,56 @@ export interface paths {
45873
45917
  patch?: never;
45874
45918
  trace?: never;
45875
45919
  };
45920
+ "/v1/sites/{siteId}/app-auto-update": {
45921
+ parameters: {
45922
+ query?: never;
45923
+ header?: never;
45924
+ path: {
45925
+ /** @description Site ID (UUIDv7). */
45926
+ siteId: components["parameters"]["SiteId"];
45927
+ };
45928
+ cookie?: never;
45929
+ };
45930
+ /**
45931
+ * Read a site's automatic app updates add-on and its window.
45932
+ * @description The paid automatic-updates add-on for the app the site runs (`wordpress_auto_updates` or `woocommerce_auto_updates`, USD 29 a year per site; s1014 row 41): whether it is on sale and on, its price in the caller's currency, the renewal, the quiet window and the last run. Each run updates WordPress core, plugins and themes in the window, takes a safety backup first and rolls back to it when the homepage breaks. A held plugin version is never applied. Buy it through `purchaseExtra` with `site_id`. Requires `sites.view`.
45933
+ */
45934
+ get: operations["getSiteAppAutoUpdate"];
45935
+ /**
45936
+ * Turn automatic app updates on or off and choose the window.
45937
+ * @description Sets the quiet window (`window_weekday` 0 = Monday to 6 = Sunday, or null for every day; `window_hour` 0-23; an IANA `timezone`). Turning it on needs the add-on on this site (`422 refusal.appAutoUpdate.notOnSite`); a bad hour, weekday or time zone is `422`. Requires `sites.view` and `hosting.applications.manage`.
45938
+ */
45939
+ put: operations["updateSiteAppAutoUpdate"];
45940
+ post?: never;
45941
+ delete?: never;
45942
+ options?: never;
45943
+ head?: never;
45944
+ patch?: never;
45945
+ trace?: never;
45946
+ };
45947
+ "/v1/sites/{siteId}/app-auto-update/stop": {
45948
+ parameters: {
45949
+ query?: never;
45950
+ header?: never;
45951
+ path: {
45952
+ /** @description Site ID (UUIDv7). */
45953
+ siteId: components["parameters"]["SiteId"];
45954
+ };
45955
+ cookie?: never;
45956
+ };
45957
+ get?: never;
45958
+ put?: never;
45959
+ /**
45960
+ * Stop a site's automatic app updates renewing.
45961
+ * @description Stops the yearly renewal of the site's automatic app updates add-on. Updates keep running until the day before the renewal date and are not refunded. A site without the add-on is `422 refusal.appAutoUpdate.notOnSite`. Requires `sites.view` and `billing.payment.manage`.
45962
+ */
45963
+ post: operations["stopSiteAppAutoUpdate"];
45964
+ delete?: never;
45965
+ options?: never;
45966
+ head?: never;
45967
+ patch?: never;
45968
+ trace?: never;
45969
+ };
45876
45970
  "/v1/sites/{siteId}/app/previews/{previewId}": {
45877
45971
  parameters: {
45878
45972
  query?: never;
@@ -62862,6 +62956,69 @@ export interface components {
62862
62956
  /** @description Where this market's ads land (its language's page). */
62863
62957
  url: string;
62864
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
+ };
62865
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. */
62866
63023
  AdsMerchantFeed: {
62867
63024
  /** Format: uuid */
@@ -95492,6 +95649,46 @@ export interface components {
95492
95649
  total_ms: number;
95493
95650
  transaction: string;
95494
95651
  };
95652
+ /** @description The paid automatic app updates add-on for one site (s1014 row 41): the code that applies (`wordpress_auto_updates` or `woocommerce_auto_updates`), the window and the last run's outcome. */
95653
+ SiteAppAutoUpdate: {
95654
+ /** @description Whether the add-on is on and in good standing now. */
95655
+ active: boolean;
95656
+ /**
95657
+ * @description The app the add-on serves on this site, or null when none is sold for it.
95658
+ * @enum {string|null}
95659
+ */
95660
+ app_key: "wordpress" | "woocommerce" | null;
95661
+ can_buy: boolean;
95662
+ /** @description The catalogue code to buy (`<app_key>_auto_updates`). */
95663
+ code: string | null;
95664
+ enabled: boolean;
95665
+ /** Format: date */
95666
+ ends_on: string | null;
95667
+ /** @description What the last run changed, or why it was rolled back. */
95668
+ last_detail: string | null;
95669
+ /** @enum {string|null} */
95670
+ last_outcome: "updated" | "current" | "rolled_back" | "failed" | null;
95671
+ /** Format: date-time */
95672
+ last_run_at: string | null;
95673
+ /** Format: date-time */
95674
+ next_window_at: string | null;
95675
+ /** @description Whether the add-on is on sale to this organisation. */
95676
+ offered: boolean;
95677
+ /** @description The yearly price in the caller's currency, or null when not on sale. */
95678
+ price: components["schemas"]["MoneyAmount"] | null;
95679
+ /** Format: uuid */
95680
+ purchase_id: string | null;
95681
+ /** @description Why it cannot be bought right now, or null. */
95682
+ refusal: string | null;
95683
+ /** Format: date */
95684
+ renews_on: string | null;
95685
+ /** Format: uuid */
95686
+ site_id: string;
95687
+ timezone: string;
95688
+ window_hour: number;
95689
+ /** @description 0 = Monday to 6 = Sunday; null = every day. */
95690
+ window_weekday: number | null;
95691
+ };
95495
95692
  SiteBackup: {
95496
95693
  /** Format: date-time */
95497
95694
  created_at: string;
@@ -111544,6 +111741,32 @@ export interface operations {
111544
111741
  429: components["responses"]["TooManyRequests"];
111545
111742
  };
111546
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
+ };
111547
111770
  getAdminAdsKillSwitch: {
111548
111771
  parameters: {
111549
111772
  query?: never;
@@ -137591,6 +137814,32 @@ export interface operations {
137591
137814
  429: components["responses"]["TooManyRequests"];
137592
137815
  };
137593
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
+ };
137594
137843
  getAdsMerchantFeed: {
137595
137844
  parameters: {
137596
137845
  query?: never;
@@ -183771,6 +184020,98 @@ export interface operations {
183771
184020
  429: components["responses"]["TooManyRequests"];
183772
184021
  };
183773
184022
  };
184023
+ getSiteAppAutoUpdate: {
184024
+ parameters: {
184025
+ query?: never;
184026
+ header?: never;
184027
+ path: {
184028
+ /** @description Site ID (UUIDv7). */
184029
+ siteId: components["parameters"]["SiteId"];
184030
+ };
184031
+ cookie?: never;
184032
+ };
184033
+ requestBody?: never;
184034
+ responses: {
184035
+ /** @description The site's automatic app updates state. */
184036
+ 200: {
184037
+ headers: {
184038
+ [name: string]: unknown;
184039
+ };
184040
+ content: {
184041
+ "application/json": components["schemas"]["SiteAppAutoUpdate"];
184042
+ };
184043
+ };
184044
+ 401: components["responses"]["Unauthorized"];
184045
+ 403: components["responses"]["Forbidden"];
184046
+ 404: components["responses"]["NotFound"];
184047
+ 429: components["responses"]["TooManyRequests"];
184048
+ };
184049
+ };
184050
+ updateSiteAppAutoUpdate: {
184051
+ parameters: {
184052
+ query?: never;
184053
+ header?: never;
184054
+ path: {
184055
+ /** @description Site ID (UUIDv7). */
184056
+ siteId: components["parameters"]["SiteId"];
184057
+ };
184058
+ cookie?: never;
184059
+ };
184060
+ requestBody: {
184061
+ content: {
184062
+ "application/json": {
184063
+ enabled: boolean;
184064
+ timezone: string;
184065
+ window_hour: number;
184066
+ window_weekday?: number | null;
184067
+ };
184068
+ };
184069
+ };
184070
+ responses: {
184071
+ /** @description The site's automatic app updates state after the change. */
184072
+ 200: {
184073
+ headers: {
184074
+ [name: string]: unknown;
184075
+ };
184076
+ content: {
184077
+ "application/json": components["schemas"]["SiteAppAutoUpdate"];
184078
+ };
184079
+ };
184080
+ 401: components["responses"]["Unauthorized"];
184081
+ 403: components["responses"]["Forbidden"];
184082
+ 404: components["responses"]["NotFound"];
184083
+ 422: components["responses"]["UnprocessableEntity"];
184084
+ 429: components["responses"]["TooManyRequests"];
184085
+ };
184086
+ };
184087
+ stopSiteAppAutoUpdate: {
184088
+ parameters: {
184089
+ query?: never;
184090
+ header?: never;
184091
+ path: {
184092
+ /** @description Site ID (UUIDv7). */
184093
+ siteId: components["parameters"]["SiteId"];
184094
+ };
184095
+ cookie?: never;
184096
+ };
184097
+ requestBody?: never;
184098
+ responses: {
184099
+ /** @description The renewal is stopped; the state after the change. */
184100
+ 200: {
184101
+ headers: {
184102
+ [name: string]: unknown;
184103
+ };
184104
+ content: {
184105
+ "application/json": components["schemas"]["SiteAppAutoUpdate"];
184106
+ };
184107
+ };
184108
+ 401: components["responses"]["Unauthorized"];
184109
+ 403: components["responses"]["Forbidden"];
184110
+ 404: components["responses"]["NotFound"];
184111
+ 422: components["responses"]["UnprocessableEntity"];
184112
+ 429: components["responses"]["TooManyRequests"];
184113
+ };
184114
+ };
183774
184115
  deleteSiteAppPreview: {
183775
184116
  parameters: {
183776
184117
  query?: never;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zinn-digital/sdk",
3
- "version": "0.1.1365",
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>",