@zinn-digital/sdk 0.1.1413 → 0.1.1415

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.
@@ -1566,6 +1566,26 @@ export interface paths {
1566
1566
  patch?: never;
1567
1567
  trace?: never;
1568
1568
  };
1569
+ "/v1/admin/acquisition/ad-sources": {
1570
+ parameters: {
1571
+ query?: never;
1572
+ header?: never;
1573
+ path?: never;
1574
+ cookie?: never;
1575
+ };
1576
+ /**
1577
+ * Paid ad sources — sign-ups, trials, paid customers and MRR by source, campaign and placement.
1578
+ * @description BHWTRACK (docs/21 §1a). One row per `utm_source` / `utm_medium` / `utm_campaign` / `utm_content` of each account's `touch` (`last` by default: the campaign that brought the account back to sign up; `first`: what introduced it), plus per-source totals. Sign-ups are root customer accounts created in the window; trials are trials started in the window; `paid` is accounts whose FIRST paid invoice (not refunded) fell in the window; `new_mrr_usd_minor` is the monthly-normalised recurring revenue of accounts that became paying in the window (a plan change of an existing customer is not new); `current_mrr_usd_minor` is read from the latest month-end snapshot (`mrr_month`). Money is integer USD minor units; rates are basis points. A configured source's link with no `utm_content` is credited to its default placement (`configured`). A touch with no `utm_source` is `(not tagged)`. Our own and test organisations are left out unless `include_tests=1`. Requires staff + `analytics.view`.
1579
+ */
1580
+ get: operations["getAdminAcquisitionAdSources"];
1581
+ put?: never;
1582
+ post?: never;
1583
+ delete?: never;
1584
+ options?: never;
1585
+ head?: never;
1586
+ patch?: never;
1587
+ trace?: never;
1588
+ };
1569
1589
  "/v1/admin/actors": {
1570
1590
  parameters: {
1571
1591
  query?: never;
@@ -56227,6 +56247,10 @@ export interface components {
56227
56247
  until: string;
56228
56248
  };
56229
56249
  AcquisitionTouchRequest: {
56250
+ /** @description The campaign the visitor landed with most recently (the marketing edge's zinn_camp slot: the UTM parameters and landing_page), sent when it differs from `touch`. `touch` can still become the first touch; this becomes the last touch. Same kept keys as `touch`. */
56251
+ latest?: {
56252
+ [key: string]: string;
56253
+ };
56230
56254
  /**
56231
56255
  * Format: uuid
56232
56256
  * @description The org to record against; optional when the caller owns exactly one.
@@ -64363,6 +64387,73 @@ export interface components {
64363
64387
  organic_weak_position?: number;
64364
64388
  site?: string;
64365
64389
  };
64390
+ AdSourcesMeasures: {
64391
+ /** Format: int64 */
64392
+ current_mrr_usd_minor: number;
64393
+ /** Format: int64 */
64394
+ new_mrr_usd_minor: number;
64395
+ paid: number;
64396
+ paying_accounts: number;
64397
+ signups: number;
64398
+ trials: number;
64399
+ };
64400
+ AdSourcesReport: {
64401
+ configured: {
64402
+ default_content: string;
64403
+ label: string;
64404
+ source: string;
64405
+ }[];
64406
+ /** @enum {string} */
64407
+ currency: "USD";
64408
+ include_tests: boolean;
64409
+ /** Format: date */
64410
+ mrr_month: string | null;
64411
+ rows: components["schemas"]["AdSourcesRow"][];
64412
+ /** Format: date */
64413
+ since: string;
64414
+ sources: components["schemas"]["AdSourcesSource"][];
64415
+ totals: components["schemas"]["AdSourcesMeasures"];
64416
+ /** @enum {string} */
64417
+ touch: "first" | "last";
64418
+ /** @description Sign-ups in the window with no recorded touch at all. */
64419
+ unattributed_signups: number;
64420
+ /** Format: date */
64421
+ until: string;
64422
+ };
64423
+ AdSourcesRow: {
64424
+ campaign: string;
64425
+ content: string;
64426
+ /** @description The configured name of the placement */
64427
+ content_label: string;
64428
+ /** Format: int64 */
64429
+ current_mrr_usd_minor: number;
64430
+ medium: string;
64431
+ /** Format: int64 */
64432
+ new_mrr_usd_minor: number;
64433
+ paid: number;
64434
+ paying_accounts: number;
64435
+ signup_to_paid_bp: number;
64436
+ signups: number;
64437
+ source: string;
64438
+ source_label: string;
64439
+ trial_to_paid_bp: number;
64440
+ trials: number;
64441
+ };
64442
+ AdSourcesSource: {
64443
+ /** Format: int64 */
64444
+ current_mrr_usd_minor: number;
64445
+ /** Format: int64 */
64446
+ new_mrr_usd_minor: number;
64447
+ paid: number;
64448
+ paying_accounts: number;
64449
+ signup_to_paid_bp: number;
64450
+ signups: number;
64451
+ source: string;
64452
+ /** @description The configured display name */
64453
+ source_label: string;
64454
+ trial_to_paid_bp: number;
64455
+ trials: number;
64456
+ };
64366
64457
  AdsOutcome: {
64367
64458
  /** @description Masked to a prefix. */
64368
64459
  click_id: string;
@@ -108170,6 +108261,8 @@ export interface components {
108170
108261
  * @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.
108171
108262
  *
108172
108263
  * 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.
108264
+ *
108265
+ * 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`.
108173
108266
  */
108174
108267
  summary?: {
108175
108268
  [key: string]: unknown;
@@ -112822,6 +112915,36 @@ export interface operations {
112822
112915
  422: components["responses"]["UnprocessableEntity"];
112823
112916
  };
112824
112917
  };
112918
+ getAdminAcquisitionAdSources: {
112919
+ parameters: {
112920
+ query?: {
112921
+ include_tests?: "1" | "true" | "";
112922
+ since?: string;
112923
+ /** @description Only this `utm_source` (case-insensitive). */
112924
+ source?: string;
112925
+ touch?: "first" | "last";
112926
+ until?: string;
112927
+ };
112928
+ header?: never;
112929
+ path?: never;
112930
+ cookie?: never;
112931
+ };
112932
+ requestBody?: never;
112933
+ responses: {
112934
+ /** @description Per-source totals and the full source / campaign / content table for one window. */
112935
+ 200: {
112936
+ headers: {
112937
+ [name: string]: unknown;
112938
+ };
112939
+ content: {
112940
+ "application/json": components["schemas"]["AdSourcesReport"];
112941
+ };
112942
+ };
112943
+ 401: components["responses"]["Unauthorized"];
112944
+ 403: components["responses"]["Forbidden"];
112945
+ 422: components["responses"]["UnprocessableEntity"];
112946
+ };
112947
+ };
112825
112948
  resolveAdminActors: {
112826
112949
  parameters: {
112827
112950
  query?: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zinn-digital/sdk",
3
- "version": "0.1.1413",
3
+ "version": "0.1.1415",
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>",