@checkbox-site/node 0.1.0 → 0.1.1
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/client.d.ts +35 -1
- package/dist/client.js +3 -2
- package/dist/generated/operations.d.ts +72 -7
- package/dist/generated/operations.js +66 -7
- package/dist/generated/types.d.ts +586 -55
- package/dist/generated/types.js +1 -1
- package/dist/index.js +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -45,7 +45,7 @@ export interface Checkbox extends ResourceInstances {
|
|
|
45
45
|
*/
|
|
46
46
|
export declare class Checkbox implements RequestSender {
|
|
47
47
|
#private;
|
|
48
|
-
static readonly VERSION = "0.1.
|
|
48
|
+
static readonly VERSION = "0.1.1";
|
|
49
49
|
static readonly API_VERSION = "2026-10-30";
|
|
50
50
|
static readonly errors: typeof errors;
|
|
51
51
|
static readonly webhooks: Webhooks;
|
|
@@ -1138,6 +1138,40 @@ export declare class Checkbox implements RequestSender {
|
|
|
1138
1138
|
readonly paginated: false;
|
|
1139
1139
|
readonly summary: "Get the dates each required notice must be sent";
|
|
1140
1140
|
};
|
|
1141
|
+
readonly listSiteSuggestions: {
|
|
1142
|
+
readonly operationId: "listSiteSuggestions";
|
|
1143
|
+
readonly namespace: "suggestions";
|
|
1144
|
+
readonly method: "forSite";
|
|
1145
|
+
readonly httpMethod: "GET";
|
|
1146
|
+
readonly path: "/v1/sites/{site}/suggestions";
|
|
1147
|
+
readonly pathParams: readonly ["site"];
|
|
1148
|
+
readonly queryParams: readonly ["surfaces"];
|
|
1149
|
+
readonly body: false;
|
|
1150
|
+
readonly idempotent: false;
|
|
1151
|
+
readonly auth: true;
|
|
1152
|
+
readonly scope: "checks:read";
|
|
1153
|
+
readonly response: "json";
|
|
1154
|
+
readonly list: false;
|
|
1155
|
+
readonly paginated: false;
|
|
1156
|
+
readonly summary: "Get conversion suggestions for a site";
|
|
1157
|
+
};
|
|
1158
|
+
readonly suggestImprovements: {
|
|
1159
|
+
readonly operationId: "suggestImprovements";
|
|
1160
|
+
readonly namespace: "suggestions";
|
|
1161
|
+
readonly method: "generate";
|
|
1162
|
+
readonly httpMethod: "POST";
|
|
1163
|
+
readonly path: "/v1/suggestions";
|
|
1164
|
+
readonly pathParams: readonly [];
|
|
1165
|
+
readonly queryParams: readonly [];
|
|
1166
|
+
readonly body: true;
|
|
1167
|
+
readonly idempotent: false;
|
|
1168
|
+
readonly auth: true;
|
|
1169
|
+
readonly scope: "checks:read";
|
|
1170
|
+
readonly response: "json";
|
|
1171
|
+
readonly list: false;
|
|
1172
|
+
readonly paginated: false;
|
|
1173
|
+
readonly summary: "Get conversion suggestions for copy you send";
|
|
1174
|
+
};
|
|
1141
1175
|
readonly getElementsBundle: {
|
|
1142
1176
|
readonly operationId: "getElementsBundle";
|
|
1143
1177
|
readonly namespace: "elements";
|
package/dist/client.js
CHANGED
|
@@ -13,7 +13,7 @@ export const DEFAULT_MAX_NETWORK_RETRIES = 2;
|
|
|
13
13
|
const MAX_RETRY_DELAY_MS = 20_000;
|
|
14
14
|
/** `ck_test_…` / `rk_test_…` / `pk_test_…` -> test; `ck_live_…` / `rk_live_…` / `sk_live_…` / `pk_live_…` -> live. */
|
|
15
15
|
export function modeOfKey(key) {
|
|
16
|
-
const m = /^(?:ck|rk|sk|pk)_(test|live)_/.exec(key ?? '');
|
|
16
|
+
const m = /^(?:ckr|ck|rk|sk|pk)_(test|live)_/.exec(key ?? '');
|
|
17
17
|
return m ? m[1] : undefined;
|
|
18
18
|
}
|
|
19
19
|
const env = (name) => {
|
|
@@ -77,7 +77,8 @@ export class Checkbox {
|
|
|
77
77
|
this.#apiKey = (apiKey ?? env('CHECKBOX_API_KEY') ?? env('CHECKBOX_SECRET_KEY'))?.trim() || undefined;
|
|
78
78
|
this.#config = { maxNetworkRetries: DEFAULT_MAX_NETWORK_RETRIES, timeout: DEFAULT_TIMEOUT_MS, ...config };
|
|
79
79
|
this.apiVersion = config.apiVersion ?? API_VERSION;
|
|
80
|
-
|
|
80
|
+
// Round-4 pilot (express): the dashboard shows the base URL with /v1; with or without it, requests go to /v1/… once.
|
|
81
|
+
this.baseUrl = (config.baseUrl ?? env('CHECKBOX_API_BASE') ?? DEFAULT_BASE_URL).replace(/\/+$/, '').replace(/\/v1$/i, '');
|
|
81
82
|
this.mode = modeOfKey(this.#apiKey);
|
|
82
83
|
const app = config.appInfo ? ` ${config.appInfo.name}${config.appInfo.version ? `/${config.appInfo.version}` : ''}${config.appInfo.url ? ` (${config.appInfo.url})` : ''}` : '';
|
|
83
84
|
this.#userAgent = `checkbox-node/${SDK_VERSION} ${runtimeLabel()}${app}`;
|
|
@@ -1090,6 +1090,40 @@ export declare const OPERATIONS: {
|
|
|
1090
1090
|
readonly paginated: false;
|
|
1091
1091
|
readonly summary: "Get the dates each required notice must be sent";
|
|
1092
1092
|
};
|
|
1093
|
+
readonly listSiteSuggestions: {
|
|
1094
|
+
readonly operationId: "listSiteSuggestions";
|
|
1095
|
+
readonly namespace: "suggestions";
|
|
1096
|
+
readonly method: "forSite";
|
|
1097
|
+
readonly httpMethod: "GET";
|
|
1098
|
+
readonly path: "/v1/sites/{site}/suggestions";
|
|
1099
|
+
readonly pathParams: readonly ["site"];
|
|
1100
|
+
readonly queryParams: readonly ["surfaces"];
|
|
1101
|
+
readonly body: false;
|
|
1102
|
+
readonly idempotent: false;
|
|
1103
|
+
readonly auth: true;
|
|
1104
|
+
readonly scope: "checks:read";
|
|
1105
|
+
readonly response: "json";
|
|
1106
|
+
readonly list: false;
|
|
1107
|
+
readonly paginated: false;
|
|
1108
|
+
readonly summary: "Get conversion suggestions for a site";
|
|
1109
|
+
};
|
|
1110
|
+
readonly suggestImprovements: {
|
|
1111
|
+
readonly operationId: "suggestImprovements";
|
|
1112
|
+
readonly namespace: "suggestions";
|
|
1113
|
+
readonly method: "generate";
|
|
1114
|
+
readonly httpMethod: "POST";
|
|
1115
|
+
readonly path: "/v1/suggestions";
|
|
1116
|
+
readonly pathParams: readonly [];
|
|
1117
|
+
readonly queryParams: readonly [];
|
|
1118
|
+
readonly body: true;
|
|
1119
|
+
readonly idempotent: false;
|
|
1120
|
+
readonly auth: true;
|
|
1121
|
+
readonly scope: "checks:read";
|
|
1122
|
+
readonly response: "json";
|
|
1123
|
+
readonly list: false;
|
|
1124
|
+
readonly paginated: false;
|
|
1125
|
+
readonly summary: "Get conversion suggestions for copy you send";
|
|
1126
|
+
};
|
|
1093
1127
|
readonly getElementsBundle: {
|
|
1094
1128
|
readonly operationId: "getElementsBundle";
|
|
1095
1129
|
readonly namespace: "elements";
|
|
@@ -2112,6 +2146,16 @@ export interface OperationTypes {
|
|
|
2112
2146
|
args: T.NoticeScheduleParams;
|
|
2113
2147
|
response: T.NoticeScheduleResult;
|
|
2114
2148
|
};
|
|
2149
|
+
listSiteSuggestions: {
|
|
2150
|
+
args: {
|
|
2151
|
+
site: string;
|
|
2152
|
+
} & T.ListSiteSuggestionsParams;
|
|
2153
|
+
response: T.SuggestionReport;
|
|
2154
|
+
};
|
|
2155
|
+
suggestImprovements: {
|
|
2156
|
+
args: T.SuggestionsParams;
|
|
2157
|
+
response: T.SuggestionReport;
|
|
2158
|
+
};
|
|
2115
2159
|
getElementsBundle: {
|
|
2116
2160
|
args: Record<string, never>;
|
|
2117
2161
|
response: string;
|
|
@@ -2432,7 +2476,7 @@ export declare class SitesResource extends Resource {
|
|
|
2432
2476
|
/**
|
|
2433
2477
|
* Retrieve a site.
|
|
2434
2478
|
*
|
|
2435
|
-
* Returns a site with its latest compliance verdict (score,
|
|
2479
|
+
* Returns a site with its latest compliance verdict (score, status) and install details.
|
|
2436
2480
|
*
|
|
2437
2481
|
* @param site Unique identifier of the site (site_…).
|
|
2438
2482
|
* @see GET /v1/sites/{site} (operation `retrieveSite`, scope `sites:read`)
|
|
@@ -2450,7 +2494,7 @@ export declare class SitesResource extends Resource {
|
|
|
2450
2494
|
/**
|
|
2451
2495
|
* Archive a site.
|
|
2452
2496
|
*
|
|
2453
|
-
* Archives (soft-deletes) the site: monitoring stops and it disappears from lists, but evidence and findings are retained
|
|
2497
|
+
* Archives (soft-deletes) the site: monitoring stops and it disappears from lists, but evidence and findings are retained. Undo with restoreSite.
|
|
2454
2498
|
*
|
|
2455
2499
|
* @param site Unique identifier of the site (site_…).
|
|
2456
2500
|
* @see DELETE /v1/sites/{site} (operation `deleteSite`, scope `sites:write`)
|
|
@@ -2470,7 +2514,7 @@ export declare class SitesResource extends Resource {
|
|
|
2470
2514
|
/**
|
|
2471
2515
|
* Connect a billing platform.
|
|
2472
2516
|
*
|
|
2473
|
-
* Connects the site's billing platform with read-only credentials (a Stripe restricted key, a Recharge token or a Shopify Admin API token), so Checkbox reads the customer-portal and reminder settings. Works for test-mode sites too (use an rk_test_ key). The credentials are validated by reading the settings once and stored encrypted.
|
|
2517
|
+
* Connects the site's billing platform with read-only credentials (a Stripe restricted key, a Recharge token or a Shopify Admin API token), so Checkbox reads the customer-portal and reminder settings. Works for test-mode sites too (use an rk_test_ key). The credentials are validated by reading the settings once and stored encrypted.
|
|
2474
2518
|
*
|
|
2475
2519
|
* @param site Unique identifier of the site (site_…).
|
|
2476
2520
|
* @see POST /v1/sites/{site}/integrations (operation `connectBillingPlatform`, scope `sites:write`)
|
|
@@ -2567,7 +2611,7 @@ export declare class EvaluationsResource extends Resource {
|
|
|
2567
2611
|
/**
|
|
2568
2612
|
* Retrieve an evaluation.
|
|
2569
2613
|
*
|
|
2570
|
-
* Returns one verdict with all checks and the
|
|
2614
|
+
* Returns one verdict with all checks and the blocking checks.
|
|
2571
2615
|
*
|
|
2572
2616
|
* @param evaluation Unique identifier of the evaluation (eval_…).
|
|
2573
2617
|
* @see GET /v1/evaluations/{evaluation} (operation `retrieveEvaluation`, scope `evaluations:read`)
|
|
@@ -2576,7 +2620,7 @@ export declare class EvaluationsResource extends Resource {
|
|
|
2576
2620
|
/**
|
|
2577
2621
|
* Get the current verdict of a site.
|
|
2578
2622
|
*
|
|
2579
|
-
* The latest evaluation of the site: is it compliant (score
|
|
2623
|
+
* The latest evaluation of the site: is it compliant (score and status), and what blocks it. 404 resource_missing with next_action createScan when the site was never evaluated.
|
|
2580
2624
|
*
|
|
2581
2625
|
* @param site Unique identifier of the site (site_…).
|
|
2582
2626
|
* @see GET /v1/sites/{site}/evaluation (operation `retrieveLatestEvaluation`, scope `evaluations:read`)
|
|
@@ -2765,7 +2809,7 @@ export declare class CertificatesResource extends Resource {
|
|
|
2765
2809
|
/**
|
|
2766
2810
|
* Issue a certificate.
|
|
2767
2811
|
*
|
|
2768
|
-
* Issues a signed monitoring certificate once the site has
|
|
2812
|
+
* Issues a signed monitoring certificate once the site has passed every critical and high check for the required streak of days with a verified domain and fresh scans. Otherwise fails with resource_conflict and next_action describing what is missing.
|
|
2769
2813
|
*
|
|
2770
2814
|
* @param site Unique identifier of the site (site_…).
|
|
2771
2815
|
* @see POST /v1/sites/{site}/certificates (operation `createCertificate`, scope `certificates:write`, live mode needs an activated account)
|
|
@@ -2927,6 +2971,26 @@ export declare class ChecksResource extends Resource {
|
|
|
2927
2971
|
*/
|
|
2928
2972
|
noticeSchedule(params: T.NoticeScheduleParams, options?: RequestOptions): Promise<T.NoticeScheduleResult>;
|
|
2929
2973
|
}
|
|
2974
|
+
/** `checkbox.suggestions` */
|
|
2975
|
+
export declare class SuggestionsResource extends Resource {
|
|
2976
|
+
/**
|
|
2977
|
+
* Get conversion suggestions for a site.
|
|
2978
|
+
*
|
|
2979
|
+
* Suggestions for a site, detected from what Checkbox observed (checkout captures, emails, the test cancellation, billing settings, registered Stripe Checkout params) and its latest evaluation. Optional, deterministic suggestions (no LLM) from Checkbox’s curated library: each has the surface, what to change, why it commonly helps (no invented figures), a concrete before/after built from your plan terms, the exact copy / Stripe patch / flow change to apply, the legal guardrails it respects (catalog requirement ids, e.g. California’s and Minnesota’s save-offer rules), and the engine check of the after-example (only verified suggestions are offered). Surfaces whose compliance checks fail are held until fixed. Suggestions never block and never count toward compliance.
|
|
2980
|
+
*
|
|
2981
|
+
* @param site Unique identifier of the site (site_…).
|
|
2982
|
+
* @see GET /v1/sites/{site}/suggestions (operation `listSiteSuggestions`, scope `checks:read`)
|
|
2983
|
+
*/
|
|
2984
|
+
forSite(site: string, params?: T.ListSiteSuggestionsParams, options?: RequestOptions): Promise<T.SuggestionReport>;
|
|
2985
|
+
/**
|
|
2986
|
+
* Get conversion suggestions for copy you send.
|
|
2987
|
+
*
|
|
2988
|
+
* Stateless: send any of the inputs of /v1/checks/* (disclosure, page html, Stripe Checkout params, emails) plus a cancellation flow and your plan terms; get suggestions for them. The current status of what you send comes from the same preflight checks; nothing is stored. Optional, deterministic suggestions (no LLM) from Checkbox’s curated library: each has the surface, what to change, why it commonly helps (no invented figures), a concrete before/after built from your plan terms, the exact copy / Stripe patch / flow change to apply, the legal guardrails it respects (catalog requirement ids, e.g. California’s and Minnesota’s save-offer rules), and the engine check of the after-example (only verified suggestions are offered). Surfaces whose compliance checks fail are held until fixed. Suggestions never block and never count toward compliance.
|
|
2989
|
+
*
|
|
2990
|
+
* @see POST /v1/suggestions (operation `suggestImprovements`, scope `checks:read`)
|
|
2991
|
+
*/
|
|
2992
|
+
generate(params?: T.SuggestionsParams, options?: RequestOptions): Promise<T.SuggestionReport>;
|
|
2993
|
+
}
|
|
2930
2994
|
/** `checkbox.elements` */
|
|
2931
2995
|
export declare class ElementsResource extends Resource {
|
|
2932
2996
|
/**
|
|
@@ -3079,7 +3143,7 @@ export declare class ReceiptsResource extends Resource {
|
|
|
3079
3143
|
/**
|
|
3080
3144
|
* Download a self-verifying receipt bundle.
|
|
3081
3145
|
*
|
|
3082
|
-
* ZIP for a lawyer
|
|
3146
|
+
* ZIP for a lawyer or court expert: manifest.json (the receipt's evidence record with its chain links) + manifest.sig.json, the canonical receipt JSON under records/, receipt.sig.json (Checkbox's signature over the receipt hash), receipt.png and render.html (the reconstruction), README.md and verify.mjs (zero-dependency offline verifier: node verify.mjs --keys checkbox-keys.json).
|
|
3083
3147
|
*
|
|
3084
3148
|
* @param receipt Unique identifier of the receipt (rcpt_…).
|
|
3085
3149
|
* @see GET /v1/receipts/{receipt}/export (operation `exportReceipt`, scope `receipts:read`)
|
|
@@ -3326,6 +3390,7 @@ export declare const RESOURCES: {
|
|
|
3326
3390
|
readonly notices: typeof NoticesResource;
|
|
3327
3391
|
readonly lawUpdates: typeof LawUpdatesResource;
|
|
3328
3392
|
readonly checks: typeof ChecksResource;
|
|
3393
|
+
readonly suggestions: typeof SuggestionsResource;
|
|
3329
3394
|
readonly elements: typeof ElementsResource;
|
|
3330
3395
|
readonly disclosures: typeof DisclosuresResource;
|
|
3331
3396
|
readonly consents: typeof ConsentsResource;
|
|
@@ -1089,6 +1089,40 @@ export const OPERATIONS = {
|
|
|
1089
1089
|
paginated: false,
|
|
1090
1090
|
summary: "Get the dates each required notice must be sent",
|
|
1091
1091
|
},
|
|
1092
|
+
listSiteSuggestions: {
|
|
1093
|
+
operationId: "listSiteSuggestions",
|
|
1094
|
+
namespace: "suggestions",
|
|
1095
|
+
method: "forSite",
|
|
1096
|
+
httpMethod: "GET",
|
|
1097
|
+
path: "/v1/sites/{site}/suggestions",
|
|
1098
|
+
pathParams: ["site"],
|
|
1099
|
+
queryParams: ["surfaces"],
|
|
1100
|
+
body: false,
|
|
1101
|
+
idempotent: false,
|
|
1102
|
+
auth: true,
|
|
1103
|
+
scope: "checks:read",
|
|
1104
|
+
response: "json",
|
|
1105
|
+
list: false,
|
|
1106
|
+
paginated: false,
|
|
1107
|
+
summary: "Get conversion suggestions for a site",
|
|
1108
|
+
},
|
|
1109
|
+
suggestImprovements: {
|
|
1110
|
+
operationId: "suggestImprovements",
|
|
1111
|
+
namespace: "suggestions",
|
|
1112
|
+
method: "generate",
|
|
1113
|
+
httpMethod: "POST",
|
|
1114
|
+
path: "/v1/suggestions",
|
|
1115
|
+
pathParams: [],
|
|
1116
|
+
queryParams: [],
|
|
1117
|
+
body: true,
|
|
1118
|
+
idempotent: false,
|
|
1119
|
+
auth: true,
|
|
1120
|
+
scope: "checks:read",
|
|
1121
|
+
response: "json",
|
|
1122
|
+
list: false,
|
|
1123
|
+
paginated: false,
|
|
1124
|
+
summary: "Get conversion suggestions for copy you send",
|
|
1125
|
+
},
|
|
1092
1126
|
getElementsBundle: {
|
|
1093
1127
|
operationId: "getElementsBundle",
|
|
1094
1128
|
namespace: "elements",
|
|
@@ -1891,7 +1925,7 @@ export class SitesResource extends Resource {
|
|
|
1891
1925
|
/**
|
|
1892
1926
|
* Retrieve a site.
|
|
1893
1927
|
*
|
|
1894
|
-
* Returns a site with its latest compliance verdict (score,
|
|
1928
|
+
* Returns a site with its latest compliance verdict (score, status) and install details.
|
|
1895
1929
|
*
|
|
1896
1930
|
* @param site Unique identifier of the site (site_…).
|
|
1897
1931
|
* @see GET /v1/sites/{site} (operation `retrieveSite`, scope `sites:read`)
|
|
@@ -1913,7 +1947,7 @@ export class SitesResource extends Resource {
|
|
|
1913
1947
|
/**
|
|
1914
1948
|
* Archive a site.
|
|
1915
1949
|
*
|
|
1916
|
-
* Archives (soft-deletes) the site: monitoring stops and it disappears from lists, but evidence and findings are retained
|
|
1950
|
+
* Archives (soft-deletes) the site: monitoring stops and it disappears from lists, but evidence and findings are retained. Undo with restoreSite.
|
|
1917
1951
|
*
|
|
1918
1952
|
* @param site Unique identifier of the site (site_…).
|
|
1919
1953
|
* @see DELETE /v1/sites/{site} (operation `deleteSite`, scope `sites:write`)
|
|
@@ -1939,7 +1973,7 @@ export class SitesResource extends Resource {
|
|
|
1939
1973
|
/**
|
|
1940
1974
|
* Connect a billing platform.
|
|
1941
1975
|
*
|
|
1942
|
-
* Connects the site's billing platform with read-only credentials (a Stripe restricted key, a Recharge token or a Shopify Admin API token), so Checkbox reads the customer-portal and reminder settings. Works for test-mode sites too (use an rk_test_ key). The credentials are validated by reading the settings once and stored encrypted.
|
|
1976
|
+
* Connects the site's billing platform with read-only credentials (a Stripe restricted key, a Recharge token or a Shopify Admin API token), so Checkbox reads the customer-portal and reminder settings. Works for test-mode sites too (use an rk_test_ key). The credentials are validated by reading the settings once and stored encrypted.
|
|
1943
1977
|
*
|
|
1944
1978
|
* @param site Unique identifier of the site (site_…).
|
|
1945
1979
|
* @see POST /v1/sites/{site}/integrations (operation `connectBillingPlatform`, scope `sites:write`)
|
|
@@ -2056,7 +2090,7 @@ export class EvaluationsResource extends Resource {
|
|
|
2056
2090
|
/**
|
|
2057
2091
|
* Retrieve an evaluation.
|
|
2058
2092
|
*
|
|
2059
|
-
* Returns one verdict with all checks and the
|
|
2093
|
+
* Returns one verdict with all checks and the blocking checks.
|
|
2060
2094
|
*
|
|
2061
2095
|
* @param evaluation Unique identifier of the evaluation (eval_…).
|
|
2062
2096
|
* @see GET /v1/evaluations/{evaluation} (operation `retrieveEvaluation`, scope `evaluations:read`)
|
|
@@ -2067,7 +2101,7 @@ export class EvaluationsResource extends Resource {
|
|
|
2067
2101
|
/**
|
|
2068
2102
|
* Get the current verdict of a site.
|
|
2069
2103
|
*
|
|
2070
|
-
* The latest evaluation of the site: is it compliant (score
|
|
2104
|
+
* The latest evaluation of the site: is it compliant (score and status), and what blocks it. 404 resource_missing with next_action createScan when the site was never evaluated.
|
|
2071
2105
|
*
|
|
2072
2106
|
* @param site Unique identifier of the site (site_…).
|
|
2073
2107
|
* @see GET /v1/sites/{site}/evaluation (operation `retrieveLatestEvaluation`, scope `evaluations:read`)
|
|
@@ -2294,7 +2328,7 @@ export class CertificatesResource extends Resource {
|
|
|
2294
2328
|
/**
|
|
2295
2329
|
* Issue a certificate.
|
|
2296
2330
|
*
|
|
2297
|
-
* Issues a signed monitoring certificate once the site has
|
|
2331
|
+
* Issues a signed monitoring certificate once the site has passed every critical and high check for the required streak of days with a verified domain and fresh scans. Otherwise fails with resource_conflict and next_action describing what is missing.
|
|
2298
2332
|
*
|
|
2299
2333
|
* @param site Unique identifier of the site (site_…).
|
|
2300
2334
|
* @see POST /v1/sites/{site}/certificates (operation `createCertificate`, scope `certificates:write`, live mode needs an activated account)
|
|
@@ -2492,6 +2526,30 @@ export class ChecksResource extends Resource {
|
|
|
2492
2526
|
return this._request(OPERATIONS.checkNoticeSchedule, [], params, options);
|
|
2493
2527
|
}
|
|
2494
2528
|
}
|
|
2529
|
+
/** `checkbox.suggestions` */
|
|
2530
|
+
export class SuggestionsResource extends Resource {
|
|
2531
|
+
/**
|
|
2532
|
+
* Get conversion suggestions for a site.
|
|
2533
|
+
*
|
|
2534
|
+
* Suggestions for a site, detected from what Checkbox observed (checkout captures, emails, the test cancellation, billing settings, registered Stripe Checkout params) and its latest evaluation. Optional, deterministic suggestions (no LLM) from Checkbox’s curated library: each has the surface, what to change, why it commonly helps (no invented figures), a concrete before/after built from your plan terms, the exact copy / Stripe patch / flow change to apply, the legal guardrails it respects (catalog requirement ids, e.g. California’s and Minnesota’s save-offer rules), and the engine check of the after-example (only verified suggestions are offered). Surfaces whose compliance checks fail are held until fixed. Suggestions never block and never count toward compliance.
|
|
2535
|
+
*
|
|
2536
|
+
* @param site Unique identifier of the site (site_…).
|
|
2537
|
+
* @see GET /v1/sites/{site}/suggestions (operation `listSiteSuggestions`, scope `checks:read`)
|
|
2538
|
+
*/
|
|
2539
|
+
forSite(site, params, options) {
|
|
2540
|
+
return this._request(OPERATIONS.listSiteSuggestions, [site], params, options);
|
|
2541
|
+
}
|
|
2542
|
+
/**
|
|
2543
|
+
* Get conversion suggestions for copy you send.
|
|
2544
|
+
*
|
|
2545
|
+
* Stateless: send any of the inputs of /v1/checks/* (disclosure, page html, Stripe Checkout params, emails) plus a cancellation flow and your plan terms; get suggestions for them. The current status of what you send comes from the same preflight checks; nothing is stored. Optional, deterministic suggestions (no LLM) from Checkbox’s curated library: each has the surface, what to change, why it commonly helps (no invented figures), a concrete before/after built from your plan terms, the exact copy / Stripe patch / flow change to apply, the legal guardrails it respects (catalog requirement ids, e.g. California’s and Minnesota’s save-offer rules), and the engine check of the after-example (only verified suggestions are offered). Surfaces whose compliance checks fail are held until fixed. Suggestions never block and never count toward compliance.
|
|
2546
|
+
*
|
|
2547
|
+
* @see POST /v1/suggestions (operation `suggestImprovements`, scope `checks:read`)
|
|
2548
|
+
*/
|
|
2549
|
+
generate(params, options) {
|
|
2550
|
+
return this._request(OPERATIONS.suggestImprovements, [], params, options);
|
|
2551
|
+
}
|
|
2552
|
+
}
|
|
2495
2553
|
/** `checkbox.elements` */
|
|
2496
2554
|
export class ElementsResource extends Resource {
|
|
2497
2555
|
/**
|
|
@@ -2676,7 +2734,7 @@ export class ReceiptsResource extends Resource {
|
|
|
2676
2734
|
/**
|
|
2677
2735
|
* Download a self-verifying receipt bundle.
|
|
2678
2736
|
*
|
|
2679
|
-
* ZIP for a lawyer
|
|
2737
|
+
* ZIP for a lawyer or court expert: manifest.json (the receipt's evidence record with its chain links) + manifest.sig.json, the canonical receipt JSON under records/, receipt.sig.json (Checkbox's signature over the receipt hash), receipt.png and render.html (the reconstruction), README.md and verify.mjs (zero-dependency offline verifier: node verify.mjs --keys checkbox-keys.json).
|
|
2680
2738
|
*
|
|
2681
2739
|
* @param receipt Unique identifier of the receipt (rcpt_…).
|
|
2682
2740
|
* @see GET /v1/receipts/{receipt}/export (operation `exportReceipt`, scope `receipts:read`)
|
|
@@ -2975,6 +3033,7 @@ export const RESOURCES = {
|
|
|
2975
3033
|
notices: NoticesResource,
|
|
2976
3034
|
lawUpdates: LawUpdatesResource,
|
|
2977
3035
|
checks: ChecksResource,
|
|
3036
|
+
suggestions: SuggestionsResource,
|
|
2978
3037
|
elements: ElementsResource,
|
|
2979
3038
|
disclosures: DisclosuresResource,
|
|
2980
3039
|
consents: ConsentsResource,
|