@zinn-digital/sdk 0.1.1388 → 0.1.1389

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.
@@ -18181,6 +18181,32 @@ export interface paths {
18181
18181
  patch?: never;
18182
18182
  trace?: never;
18183
18183
  };
18184
+ "/v1/ads/connections/{connection_id}/microsoft/import-google": {
18185
+ parameters: {
18186
+ query?: never;
18187
+ header?: never;
18188
+ path: {
18189
+ connection_id: string;
18190
+ };
18191
+ cookie?: never;
18192
+ };
18193
+ /**
18194
+ * What importing the org's Google Ads Search campaigns into this Microsoft account would queue (za-39).
18195
+ * @description Gated on `ads.view`. `connection_id` is a Microsoft Advertising connection, `google_connection_id` a Google Ads connection of the same org (else `422` `refusal.adsconnect.importNotOnNetwork`; different currencies `importCurrency`; an account whose currency is unknown `importCurrencyUnknown`; a failed read `importReadFailed`, whose `error.failure` is the classified `VendorFailure` of the network that failed: an outage, the customer's own credential, or ours, §2.57). Reads both networks, writes nothing. Each enabled Google campaign is listed: a Search campaign is `ready` or says why it cannot be copied, any other type (Performance Max, Display, Shopping, Video) is `notSearch`; a name already live in Microsoft or already imported is `alreadyThere`; a campaign with no daily budget (a Google total budget) is `noDailyBudget`, never `ready` (docs/1006 §103).
18196
+ */
18197
+ get: operations["previewAdsMicrosoftImportGoogle"];
18198
+ put?: never;
18199
+ /**
18200
+ * Queue the ready Google Ads Search campaigns as pending Microsoft changes (za-39).
18201
+ * @description Gated on `ads.manage`; audit action `ads.microsoft_import_google`. Each `ready` campaign (or only `campaign_ids`) becomes ONE pending `campaigns:mutate` `build` change on the Microsoft connection — nothing is sent until a person approves it, and the kill switch, good standing and spend ceiling are checked again when it is applied. A month of the imported daily budgets is checked against the Zinn® Ads plan first (`noAdsPlan`, `spendBracket`). Nothing left to queue is `422` `refusal.adsconnect.importNothing`.
18202
+ */
18203
+ post: operations["queueAdsMicrosoftImportGoogle"];
18204
+ delete?: never;
18205
+ options?: never;
18206
+ head?: never;
18207
+ patch?: never;
18208
+ trace?: never;
18209
+ };
18184
18210
  "/v1/ads/connections/{connection_id}/network-campaigns": {
18185
18211
  parameters: {
18186
18212
  query?: never;
@@ -138481,6 +138507,132 @@ export interface operations {
138481
138507
  429: components["responses"]["TooManyRequests"];
138482
138508
  };
138483
138509
  };
138510
+ previewAdsMicrosoftImportGoogle: {
138511
+ parameters: {
138512
+ query: {
138513
+ google_connection_id: string;
138514
+ /** @description Max CPC for campaigns Google gives none. */
138515
+ max_cpc_micros?: number;
138516
+ };
138517
+ header?: never;
138518
+ path: {
138519
+ connection_id: string;
138520
+ };
138521
+ cookie?: never;
138522
+ };
138523
+ requestBody?: never;
138524
+ responses: {
138525
+ /** @description The preview. */
138526
+ 200: {
138527
+ headers: {
138528
+ [name: string]: unknown;
138529
+ };
138530
+ content: {
138531
+ "application/json": {
138532
+ /** Format: uuid */
138533
+ connection_id: string;
138534
+ currency: string;
138535
+ data: {
138536
+ ad_groups: number;
138537
+ /**
138538
+ * Format: uuid
138539
+ * @description The pending Microsoft change (after POST).
138540
+ */
138541
+ change_id: string | null;
138542
+ /**
138543
+ * Format: int64
138544
+ * @description Account currency micros; a shared Google budget split between its campaigns.
138545
+ */
138546
+ daily_budget_micros: number;
138547
+ /** @description Google location targets with no Microsoft equivalent (regions, cities). */
138548
+ dropped_targets: number;
138549
+ google_campaign_id: string;
138550
+ keywords: number;
138551
+ /** Format: int64 */
138552
+ max_cpc_micros: number;
138553
+ name: string;
138554
+ negatives: number;
138555
+ /** @enum {string} */
138556
+ state: "ready" | "queued" | "alreadyThere" | "notSearch" | "noMicrosoftLocation" | "noMicrosoftLanguage" | "noAdGroups" | "needsMaxCpc" | "noDailyBudget";
138557
+ }[];
138558
+ /** Format: uuid */
138559
+ google_connection_id: string;
138560
+ };
138561
+ };
138562
+ };
138563
+ 401: components["responses"]["Unauthorized"];
138564
+ 403: components["responses"]["Forbidden"];
138565
+ 404: components["responses"]["NotFound"];
138566
+ 422: components["responses"]["UnprocessableEntity"];
138567
+ 429: components["responses"]["TooManyRequests"];
138568
+ };
138569
+ };
138570
+ queueAdsMicrosoftImportGoogle: {
138571
+ parameters: {
138572
+ query?: never;
138573
+ header?: never;
138574
+ path: {
138575
+ connection_id: string;
138576
+ };
138577
+ cookie?: never;
138578
+ };
138579
+ requestBody: {
138580
+ content: {
138581
+ "application/json": {
138582
+ campaign_ids?: string[];
138583
+ /** Format: uuid */
138584
+ google_connection_id: string;
138585
+ /** Format: int64 */
138586
+ max_cpc_micros?: number;
138587
+ };
138588
+ };
138589
+ };
138590
+ responses: {
138591
+ /** @description Queued. */
138592
+ 201: {
138593
+ headers: {
138594
+ [name: string]: unknown;
138595
+ };
138596
+ content: {
138597
+ "application/json": {
138598
+ /** Format: uuid */
138599
+ connection_id: string;
138600
+ currency: string;
138601
+ data: {
138602
+ ad_groups: number;
138603
+ /**
138604
+ * Format: uuid
138605
+ * @description The pending Microsoft change (after POST).
138606
+ */
138607
+ change_id: string | null;
138608
+ /**
138609
+ * Format: int64
138610
+ * @description Account currency micros; a shared Google budget split between its campaigns.
138611
+ */
138612
+ daily_budget_micros: number;
138613
+ /** @description Google location targets with no Microsoft equivalent (regions, cities). */
138614
+ dropped_targets: number;
138615
+ google_campaign_id: string;
138616
+ keywords: number;
138617
+ /** Format: int64 */
138618
+ max_cpc_micros: number;
138619
+ name: string;
138620
+ negatives: number;
138621
+ /** @enum {string} */
138622
+ state: "ready" | "queued" | "alreadyThere" | "notSearch" | "noMicrosoftLocation" | "noMicrosoftLanguage" | "noAdGroups" | "needsMaxCpc" | "noDailyBudget";
138623
+ }[];
138624
+ /** Format: uuid */
138625
+ google_connection_id: string;
138626
+ };
138627
+ };
138628
+ };
138629
+ 401: components["responses"]["Unauthorized"];
138630
+ 403: components["responses"]["Forbidden"];
138631
+ 404: components["responses"]["NotFound"];
138632
+ 422: components["responses"]["UnprocessableEntity"];
138633
+ 429: components["responses"]["TooManyRequests"];
138634
+ };
138635
+ };
138484
138636
  getAdsNetworkCampaigns: {
138485
138637
  parameters: {
138486
138638
  query?: never;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zinn-digital/sdk",
3
- "version": "0.1.1388",
3
+ "version": "0.1.1389",
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>",