@zinn-digital/sdk 0.1.1358 → 0.1.1362
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 +113 -3
- package/package.json +1 -1
|
@@ -41636,6 +41636,28 @@ export interface paths {
|
|
|
41636
41636
|
patch?: never;
|
|
41637
41637
|
trace?: never;
|
|
41638
41638
|
};
|
|
41639
|
+
"/v1/public/presales-tickets": {
|
|
41640
|
+
parameters: {
|
|
41641
|
+
query?: never;
|
|
41642
|
+
header?: never;
|
|
41643
|
+
path?: never;
|
|
41644
|
+
cookie?: never;
|
|
41645
|
+
};
|
|
41646
|
+
get?: never;
|
|
41647
|
+
put?: never;
|
|
41648
|
+
/**
|
|
41649
|
+
* Ask a question before you buy — no account.
|
|
41650
|
+
* @description The "Ask before you buy" form on the public site (owner ruling 2026-11-02). Files a GUEST ticket on the sales desk with category `presales`; the presales AI answers it and the reply reaches the asker by e-mail, and staff are notified with a subject that starts `Pre-sales ticket:`.
|
|
41651
|
+
*
|
|
41652
|
+
* **Anonymous** — no credential, no tenant. Controls fire cheapest first: a fail-closed per-IP (3/hour) and global (300/hour) budget, a honeypot field (`website`, answered `202` silently), the per-address ticket budget, a blocked sender (`202` silently), then Cloudflare Turnstile. A question the content filter flags is still filed and answered, as `presales_spam` at low priority — only a Turnstile failure or a rate limit refuses one.
|
|
41653
|
+
*/
|
|
41654
|
+
post: operations["createPresalesTicket"];
|
|
41655
|
+
delete?: never;
|
|
41656
|
+
options?: never;
|
|
41657
|
+
head?: never;
|
|
41658
|
+
patch?: never;
|
|
41659
|
+
trace?: never;
|
|
41660
|
+
};
|
|
41639
41661
|
"/v1/public/pricing/tax-quote": {
|
|
41640
41662
|
parameters: {
|
|
41641
41663
|
query?: never;
|
|
@@ -89784,6 +89806,27 @@ export interface components {
|
|
|
89784
89806
|
/** @description What the visitor asked, in their own language. ⛔ Shorter than the dashboard assistant's 4,000: a customer pastes an error log, a prospect asks a question, and an unbounded prompt on an anonymous surface is an unbounded bill. */
|
|
89785
89807
|
question: string;
|
|
89786
89808
|
};
|
|
89809
|
+
PresalesTicketAccepted: {
|
|
89810
|
+
/** @description The ticket reference the asker can quote back at us. */
|
|
89811
|
+
reference: string;
|
|
89812
|
+
};
|
|
89813
|
+
PresalesTicketInput: {
|
|
89814
|
+
/**
|
|
89815
|
+
* Format: email
|
|
89816
|
+
* @description Where the answer is sent.
|
|
89817
|
+
*/
|
|
89818
|
+
email: string;
|
|
89819
|
+
/** @description The asker's language; the answer is written in it. */
|
|
89820
|
+
locale?: string;
|
|
89821
|
+
name?: string;
|
|
89822
|
+
question: string;
|
|
89823
|
+
/** @description The site path the question was asked from (e.g. `/en/hosting`). Anything not starting `/` is dropped. */
|
|
89824
|
+
source_page?: string;
|
|
89825
|
+
/** @description The Cloudflare Turnstile token. */
|
|
89826
|
+
turnstile_token?: string;
|
|
89827
|
+
/** @description Honeypot. Leave empty. */
|
|
89828
|
+
website?: string;
|
|
89829
|
+
};
|
|
89787
89830
|
PresalesTurn: {
|
|
89788
89831
|
content: string;
|
|
89789
89832
|
/** @enum {string} */
|
|
@@ -90793,6 +90836,11 @@ export interface components {
|
|
|
90793
90836
|
* @default false
|
|
90794
90837
|
*/
|
|
90795
90838
|
trial: boolean;
|
|
90839
|
+
/**
|
|
90840
|
+
* @description The application a trial is started for (owner, 2026-11-02 — an application card's "Start a free trial" starts the matching hosting trial with that application). One of the app-trial picker's values (`APP_TRIAL_CHOICES`); honoured only on a `trial` line whose plan is that application's own trial plan, and refused (422) otherwise. Recorded on the trial as its app choice, so the first run opens the site form on that application's stack with the application chosen. Ignored on a purchase.
|
|
90841
|
+
* @enum {string}
|
|
90842
|
+
*/
|
|
90843
|
+
trial_app?: "" | "node" | "python" | "php" | "abantecart" | "cakephp" | "concretecms" | "craft" | "dolibarr" | "dotnet" | "drupal" | "joomla" | "laravel" | "matomo" | "mautic" | "mediawiki" | "modx" | "moodle" | "nextcloud" | "opencart" | "osticket" | "owncloud" | "payload" | "phpbb" | "piwigo" | "prestashop" | "silverstripe" | "strapi" | "suitecrm" | "typo3" | "whmcs" | "woocommerce" | "wordpress" | "zenphoto";
|
|
90796
90844
|
/** @description The campaign a trial is started from (owner, 2026-10-21 — the "Move from Zeabur" page's 30-day trial, docs/1006). Sent only by that campaign's landing page. A campaign-only trial template is invisible to every public surface and is granted only when this names it and it is offered on the plan; any other value is ignored (the plan's public trial, if any, still applies). Meaningless without `trial`. */
|
|
90797
90845
|
trial_campaign?: string;
|
|
90798
90846
|
};
|
|
@@ -97519,6 +97567,30 @@ export interface components {
|
|
|
97519
97567
|
/** @enum {string} */
|
|
97520
97568
|
xmlrpc?: "limited" | "blocked";
|
|
97521
97569
|
};
|
|
97570
|
+
/** @description `SiteFormSubmission` as `multipart/form-data`. Each part is ONE string; a question with several answers (e.g. checkboxes) is that part repeated under the same name, which the engine reads as a list exactly as it does a repeated urlencoded key. ⛔ Kept a plain string on purpose: openapi-python-client 0.29.1 emits unparseable Python for a multipart body whose `additionalProperties` is a `oneOf` or an `array` (the zinn-sdk release failed on it, D60130); `scripts/sdk-release.py --check-spec` refuses that shape. */
|
|
97571
|
+
SiteFormParts: {
|
|
97572
|
+
/** @description Same-site path after a refusal. */
|
|
97573
|
+
_back?: string;
|
|
97574
|
+
/**
|
|
97575
|
+
* Format: email
|
|
97576
|
+
* @description The visitor's address — the Reply-To.
|
|
97577
|
+
*/
|
|
97578
|
+
_email: string;
|
|
97579
|
+
/** @description Shown in the e-mail subject. */
|
|
97580
|
+
_form?: string;
|
|
97581
|
+
/** @description Language of the two e-mails. */
|
|
97582
|
+
_locale?: string;
|
|
97583
|
+
_name?: string;
|
|
97584
|
+
/** @description Same-site path after success. */
|
|
97585
|
+
_next?: string;
|
|
97586
|
+
/** @description Local part of the site's mailbox, e.g. `coach`. */
|
|
97587
|
+
_to: string;
|
|
97588
|
+
/** @description Honeypot — leave empty. */
|
|
97589
|
+
_website?: string;
|
|
97590
|
+
"cf-turnstile-response"?: string;
|
|
97591
|
+
} & {
|
|
97592
|
+
[key: string]: string;
|
|
97593
|
+
};
|
|
97522
97594
|
SiteFormResult: {
|
|
97523
97595
|
/** @enum {string} */
|
|
97524
97596
|
reason?: "origin" | "recipient" | "invalid" | "email" | "not_enabled" | "verification" | "rate" | "unavailable";
|
|
@@ -132167,8 +132239,8 @@ export interface operations {
|
|
|
132167
132239
|
query?: {
|
|
132168
132240
|
/** @description Narrow by owner. `me` is the calling agent's own queue; `unassigned` is the triage pile; a uuid is that agent's queue. One parameter rather than a boolean plus an id, because `unassigned=true` together with an id has no answer. */
|
|
132169
132241
|
assignee?: string;
|
|
132170
|
-
/** @description Only tickets whose category is this value (e.g. `zinn_ads`). An unknown value is a 422. */
|
|
132171
|
-
category?: "site" | "email" | "domain" | "billing" | "migration" | "plugin" | "other" | "abuse" | "legal" | "zinn_ads";
|
|
132242
|
+
/** @description Only tickets whose category is this value (e.g. `zinn_ads`). `presales` and `presales_spam` are guest pre-sales questions from the public site (`createPresalesTicket`); a customer can never pick them. An unknown value is a 422. */
|
|
132243
|
+
category?: "site" | "email" | "domain" | "billing" | "migration" | "plugin" | "other" | "abuse" | "legal" | "zinn_ads" | "presales" | "presales_spam";
|
|
132172
132244
|
/** @description Opaque cursor from a previous page's `page.next_cursor`. */
|
|
132173
132245
|
cursor?: components["parameters"]["Cursor"];
|
|
132174
132246
|
/** @description Only problem reports (`problem`) or improvement suggestions (`suggestion`), so staff can work the suggestions apart from the queue (docs/41). An unknown value is a 422. */
|
|
@@ -176516,6 +176588,44 @@ export interface operations {
|
|
|
176516
176588
|
429: components["responses"]["TooManyRequests"];
|
|
176517
176589
|
};
|
|
176518
176590
|
};
|
|
176591
|
+
createPresalesTicket: {
|
|
176592
|
+
parameters: {
|
|
176593
|
+
query?: never;
|
|
176594
|
+
header?: never;
|
|
176595
|
+
path?: never;
|
|
176596
|
+
cookie?: never;
|
|
176597
|
+
};
|
|
176598
|
+
requestBody: {
|
|
176599
|
+
content: {
|
|
176600
|
+
"application/json": components["schemas"]["PresalesTicketInput"];
|
|
176601
|
+
};
|
|
176602
|
+
};
|
|
176603
|
+
responses: {
|
|
176604
|
+
/** @description Filed. The reference is what the asker quotes back at us. */
|
|
176605
|
+
201: {
|
|
176606
|
+
headers: {
|
|
176607
|
+
"RateLimit-Remaining": components["headers"]["RateLimitRemaining"];
|
|
176608
|
+
[name: string]: unknown;
|
|
176609
|
+
};
|
|
176610
|
+
content: {
|
|
176611
|
+
"application/json": components["schemas"]["PresalesTicketAccepted"];
|
|
176612
|
+
};
|
|
176613
|
+
};
|
|
176614
|
+
/** @description Accepted and dropped without a ticket (the honeypot was filled, or the sender is blocked). Deliberately indistinguishable from success to the sender. */
|
|
176615
|
+
202: {
|
|
176616
|
+
headers: {
|
|
176617
|
+
[name: string]: unknown;
|
|
176618
|
+
};
|
|
176619
|
+
content: {
|
|
176620
|
+
"application/json": {
|
|
176621
|
+
accepted: boolean;
|
|
176622
|
+
};
|
|
176623
|
+
};
|
|
176624
|
+
};
|
|
176625
|
+
422: components["responses"]["UnprocessableEntity"];
|
|
176626
|
+
429: components["responses"]["TooManyRequests"];
|
|
176627
|
+
};
|
|
176628
|
+
};
|
|
176519
176629
|
quotePublicTaxDisplay: {
|
|
176520
176630
|
parameters: {
|
|
176521
176631
|
query?: never;
|
|
@@ -176863,7 +176973,7 @@ export interface operations {
|
|
|
176863
176973
|
content: {
|
|
176864
176974
|
"application/json": components["schemas"]["SiteFormSubmission"];
|
|
176865
176975
|
"application/x-www-form-urlencoded": components["schemas"]["SiteFormSubmission"];
|
|
176866
|
-
"multipart/form-data": components["schemas"]["
|
|
176976
|
+
"multipart/form-data": components["schemas"]["SiteFormParts"];
|
|
176867
176977
|
};
|
|
176868
176978
|
};
|
|
176869
176979
|
responses: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zinn-digital/sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1362",
|
|
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>",
|