@delopay/sdk 0.366.0 → 0.368.0
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/{chunk-ESYKTYJA.js → chunk-RD3HP3EY.js} +136 -41
- package/dist/chunk-RD3HP3EY.js.map +1 -0
- package/dist/{index-C2-7sIZx.d.cts → index-DW1C5mFq.d.cts} +234 -4
- package/dist/{index-C2-7sIZx.d.ts → index-DW1C5mFq.d.ts} +234 -4
- package/dist/index.cjs +136 -40
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -1
- package/dist/internal.cjs +207 -40
- package/dist/internal.cjs.map +1 -1
- package/dist/internal.d.cts +114 -3
- package/dist/internal.d.ts +114 -3
- package/dist/internal.js +73 -1
- package/dist/internal.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-ESYKTYJA.js.map +0 -1
package/dist/internal.cjs
CHANGED
|
@@ -39,6 +39,7 @@ __export(internal_exports, {
|
|
|
39
39
|
AdminBranding: () => AdminBranding,
|
|
40
40
|
AdminLive: () => AdminLive,
|
|
41
41
|
AdminPortal: () => AdminPortal,
|
|
42
|
+
AdminSupport: () => AdminSupport,
|
|
42
43
|
Analytics: () => Analytics,
|
|
43
44
|
AnalyticsDashboard: () => AnalyticsDashboard,
|
|
44
45
|
Audit: () => Audit,
|
|
@@ -186,6 +187,7 @@ __export(internal_exports, {
|
|
|
186
187
|
Settlement: () => Settlement,
|
|
187
188
|
ShopLabels: () => ShopLabels,
|
|
188
189
|
Subscriptions: () => Subscriptions,
|
|
190
|
+
Support: () => Support,
|
|
189
191
|
UNKNOWN_SECTION_ORDER: () => UNKNOWN_SECTION_ORDER,
|
|
190
192
|
WCAG_AA_TEXT: () => WCAG_AA_TEXT,
|
|
191
193
|
WCAG_AA_UI: () => WCAG_AA_UI,
|
|
@@ -1273,9 +1275,9 @@ var Connectors = class {
|
|
|
1273
1275
|
* to a single event.
|
|
1274
1276
|
*/
|
|
1275
1277
|
async registerWebhook(merchantId, connectorId, params) {
|
|
1276
|
-
const
|
|
1277
|
-
if (params === void 0) return this.request("POST",
|
|
1278
|
-
return this.request("POST",
|
|
1278
|
+
const path3 = `/account/${encodeURIComponent(merchantId)}/connectors/webhooks/${encodeURIComponent(connectorId)}`;
|
|
1279
|
+
if (params === void 0) return this.request("POST", path3);
|
|
1280
|
+
return this.request("POST", path3, { body: params });
|
|
1279
1281
|
}
|
|
1280
1282
|
/**
|
|
1281
1283
|
* Register checkout/shop domains as Stripe payment method domains, so Apple
|
|
@@ -2073,11 +2075,11 @@ function negotiated(options, format, presentation) {
|
|
|
2073
2075
|
}
|
|
2074
2076
|
return format === "json" ? { ...options, headers } : { ...options, headers, responseType: "blob" };
|
|
2075
2077
|
}
|
|
2076
|
-
function runExport(request, method,
|
|
2078
|
+
function runExport(request, method, path3, base, options) {
|
|
2077
2079
|
const format = options?.format ?? "json";
|
|
2078
2080
|
return downloadExport(
|
|
2079
2081
|
request,
|
|
2080
|
-
{ method, path, request: negotiated(base, format, options?.presentation), format },
|
|
2082
|
+
{ method, path: path3, request: negotiated(base, format, options?.presentation), format },
|
|
2081
2083
|
options
|
|
2082
2084
|
);
|
|
2083
2085
|
}
|
|
@@ -3078,15 +3080,15 @@ var Payments = class {
|
|
|
3078
3080
|
* ```
|
|
3079
3081
|
*/
|
|
3080
3082
|
async retrieve(paymentId, options) {
|
|
3081
|
-
const
|
|
3082
|
-
if (options === void 0) return this.request("GET",
|
|
3083
|
+
const path3 = `/payments/${encodeURIComponent(paymentId)}`;
|
|
3084
|
+
if (options === void 0) return this.request("GET", path3);
|
|
3083
3085
|
const query = {};
|
|
3084
3086
|
if (options.force_sync !== void 0) query["force_sync"] = options.force_sync;
|
|
3085
3087
|
if (options.all_keys_required !== void 0) {
|
|
3086
3088
|
query["all_keys_required"] = options.all_keys_required;
|
|
3087
3089
|
}
|
|
3088
|
-
if (Object.keys(query).length === 0) return this.request("GET",
|
|
3089
|
-
return this.request("GET",
|
|
3090
|
+
if (Object.keys(query).length === 0) return this.request("GET", path3);
|
|
3091
|
+
return this.request("GET", path3, { query });
|
|
3090
3092
|
}
|
|
3091
3093
|
/**
|
|
3092
3094
|
* The payment's buyer risk evaluations, newest first (at most 50): each
|
|
@@ -3441,6 +3443,36 @@ var Payments = class {
|
|
|
3441
3443
|
options
|
|
3442
3444
|
);
|
|
3443
3445
|
}
|
|
3446
|
+
/**
|
|
3447
|
+
* The statement name and suffix each attempt of a payment asked for and was
|
|
3448
|
+
* sent to its provider with. A name the merchant, the shop or the connector
|
|
3449
|
+
* account configures replaces the payment's own: `name_ignored` /
|
|
3450
|
+
* `suffix_ignored` say the payment's value was not used, and a `null` sent
|
|
3451
|
+
* value leaves the provider account's own default.
|
|
3452
|
+
*
|
|
3453
|
+
* Only attempts with a record are listed: one that carried no name and was
|
|
3454
|
+
* sent none, or ran before the record existed, is absent.
|
|
3455
|
+
*
|
|
3456
|
+
* `GET /payments/{paymentId}/statement-descriptors`
|
|
3457
|
+
*
|
|
3458
|
+
* @param paymentId - The payment intent ID.
|
|
3459
|
+
* @param options - Optional per-call extras: extra `headers`, a `timeout`
|
|
3460
|
+
* override, and an `AbortSignal`.
|
|
3461
|
+
*
|
|
3462
|
+
* @example
|
|
3463
|
+
* ```typescript
|
|
3464
|
+
* const { attempts } = await delopay.payments.statementDescriptors('pay_abc123');
|
|
3465
|
+
* const last = attempts.at(-1);
|
|
3466
|
+
* if (last?.name_ignored) console.log(`Sent as ${last.sent_name}`);
|
|
3467
|
+
* ```
|
|
3468
|
+
*/
|
|
3469
|
+
async statementDescriptors(paymentId, options) {
|
|
3470
|
+
return this.request(
|
|
3471
|
+
"GET",
|
|
3472
|
+
`/payments/${encodeURIComponent(paymentId)}/statement-descriptors`,
|
|
3473
|
+
options
|
|
3474
|
+
);
|
|
3475
|
+
}
|
|
3444
3476
|
/**
|
|
3445
3477
|
* Open a playback of the payment's stored checkout recording: the audited
|
|
3446
3478
|
* act of watching. Answers the manifest — which slices exist, how long the
|
|
@@ -3966,9 +3998,9 @@ var Projects = class {
|
|
|
3966
3998
|
* @returns The project.
|
|
3967
3999
|
*/
|
|
3968
4000
|
async retrieve(projectId, merchantId) {
|
|
3969
|
-
const
|
|
3970
|
-
if (merchantId === void 0) return this.request("GET",
|
|
3971
|
-
return this.request("GET",
|
|
4001
|
+
const path3 = `/projects/${encodeURIComponent(projectId)}`;
|
|
4002
|
+
if (merchantId === void 0) return this.request("GET", path3);
|
|
4003
|
+
return this.request("GET", path3, { query: { merchant_id: merchantId } });
|
|
3972
4004
|
}
|
|
3973
4005
|
/**
|
|
3974
4006
|
* Update a project's details, or move it with `parent_id` (omitted keeps the
|
|
@@ -3986,9 +4018,9 @@ var Projects = class {
|
|
|
3986
4018
|
* @returns The updated project.
|
|
3987
4019
|
*/
|
|
3988
4020
|
async update(projectId, params, merchantId, options) {
|
|
3989
|
-
const
|
|
3990
|
-
if (merchantId === void 0) return this.request("PUT",
|
|
3991
|
-
return this.request("PUT",
|
|
4021
|
+
const path3 = `/projects/${encodeURIComponent(projectId)}`;
|
|
4022
|
+
if (merchantId === void 0) return this.request("PUT", path3, { body: params, ...options });
|
|
4023
|
+
return this.request("PUT", path3, {
|
|
3992
4024
|
body: params,
|
|
3993
4025
|
query: { merchant_id: merchantId },
|
|
3994
4026
|
...options
|
|
@@ -4005,9 +4037,9 @@ var Projects = class {
|
|
|
4005
4037
|
* @returns The deleted project object.
|
|
4006
4038
|
*/
|
|
4007
4039
|
async delete(projectId, merchantId) {
|
|
4008
|
-
const
|
|
4009
|
-
if (merchantId === void 0) return this.request("DELETE",
|
|
4010
|
-
return this.request("DELETE",
|
|
4040
|
+
const path3 = `/projects/${encodeURIComponent(projectId)}`;
|
|
4041
|
+
if (merchantId === void 0) return this.request("DELETE", path3);
|
|
4042
|
+
return this.request("DELETE", path3, { query: { merchant_id: merchantId } });
|
|
4011
4043
|
}
|
|
4012
4044
|
/**
|
|
4013
4045
|
* List all projects for a merchant, at every level, as a flat array. Rebuild
|
|
@@ -5012,9 +5044,9 @@ var Shops = class {
|
|
|
5012
5044
|
* ```
|
|
5013
5045
|
*/
|
|
5014
5046
|
async stats(merchantId, shopId, period) {
|
|
5015
|
-
const
|
|
5016
|
-
if (period === void 0) return this.request("GET",
|
|
5017
|
-
return this.request("GET",
|
|
5047
|
+
const path3 = `/shops/${encodeURIComponent(merchantId)}/${encodeURIComponent(shopId)}/stats`;
|
|
5048
|
+
if (period === void 0) return this.request("GET", path3);
|
|
5049
|
+
return this.request("GET", path3, { query: { period: String(period) } });
|
|
5018
5050
|
}
|
|
5019
5051
|
/**
|
|
5020
5052
|
* Upload a logo file for a shop. The file is stored in Delopay's configured
|
|
@@ -8299,6 +8331,69 @@ var Products = class {
|
|
|
8299
8331
|
}
|
|
8300
8332
|
};
|
|
8301
8333
|
|
|
8334
|
+
// src/resources/support.ts
|
|
8335
|
+
var path = (id) => `/support/conversations/${encodeURIComponent(id)}`;
|
|
8336
|
+
var Support = class {
|
|
8337
|
+
constructor(request) {
|
|
8338
|
+
this.request = request;
|
|
8339
|
+
}
|
|
8340
|
+
/** Start a conversation with its first message. `POST /support/conversations` */
|
|
8341
|
+
async create(body) {
|
|
8342
|
+
return this.request("POST", "/support/conversations", { body });
|
|
8343
|
+
}
|
|
8344
|
+
/** The conversations the caller may read. `GET /support/conversations` */
|
|
8345
|
+
async list(query) {
|
|
8346
|
+
return this.request("GET", "/support/conversations", {
|
|
8347
|
+
query: query === void 0 ? void 0 : { ...query }
|
|
8348
|
+
});
|
|
8349
|
+
}
|
|
8350
|
+
/** One conversation. `GET /support/conversations/{id}` */
|
|
8351
|
+
async retrieve(id) {
|
|
8352
|
+
return this.request("GET", path(id));
|
|
8353
|
+
}
|
|
8354
|
+
/** A conversation's messages. `GET /support/conversations/{id}/messages` */
|
|
8355
|
+
async messages(id, query) {
|
|
8356
|
+
return this.request("GET", `${path(id)}/messages`, {
|
|
8357
|
+
query: query === void 0 ? void 0 : { ...query }
|
|
8358
|
+
});
|
|
8359
|
+
}
|
|
8360
|
+
/** Answer in a conversation. `POST /support/conversations/{id}/messages` */
|
|
8361
|
+
async reply(id, body) {
|
|
8362
|
+
return this.request("POST", `${path(id)}/messages`, { body });
|
|
8363
|
+
}
|
|
8364
|
+
/**
|
|
8365
|
+
* Upload a file for a message. PNG, JPEG, WebP, PDF, text, MP4 or WebM, read from the
|
|
8366
|
+
* content; 10 MB, a video 25 MB. It belongs to the caller until a message names it in
|
|
8367
|
+
* `attachments`. Uploading again with the same `clientUploadId` returns the same file.
|
|
8368
|
+
* `POST /support/conversations/{id}/attachments`
|
|
8369
|
+
*/
|
|
8370
|
+
async uploadAttachment(id, file, clientUploadId, fileName) {
|
|
8371
|
+
const form = new FormData();
|
|
8372
|
+
form.append("client_upload_id", clientUploadId);
|
|
8373
|
+
if (fileName === void 0) form.append("file", file);
|
|
8374
|
+
else form.append("file", file, fileName);
|
|
8375
|
+
return this.request("POST", `${path(id)}/attachments`, { body: form });
|
|
8376
|
+
}
|
|
8377
|
+
/**
|
|
8378
|
+
* Fetch a file once its scan is clean. Refused with `support_attachment_checking` while
|
|
8379
|
+
* the scan runs, and `support_attachment_blocked` after a block.
|
|
8380
|
+
* `GET /support/conversations/{id}/attachments/{fileId}`
|
|
8381
|
+
*/
|
|
8382
|
+
async downloadAttachment(id, fileId) {
|
|
8383
|
+
return this.request("GET", `${path(id)}/attachments/${encodeURIComponent(fileId)}`, {
|
|
8384
|
+
responseType: "blob"
|
|
8385
|
+
});
|
|
8386
|
+
}
|
|
8387
|
+
/**
|
|
8388
|
+
* Clear the merchant's unread mark and read the conversation as it is now.
|
|
8389
|
+
* Someone acting as somebody else leaves the mark in place.
|
|
8390
|
+
* `POST /support/conversations/{id}/read`
|
|
8391
|
+
*/
|
|
8392
|
+
async markRead(id) {
|
|
8393
|
+
return this.request("POST", `${path(id)}/read`);
|
|
8394
|
+
}
|
|
8395
|
+
};
|
|
8396
|
+
|
|
8302
8397
|
// src/resources/invoices.ts
|
|
8303
8398
|
var Invoices = class {
|
|
8304
8399
|
constructor(request) {
|
|
@@ -10767,8 +10862,8 @@ var LiveEventStream = class {
|
|
|
10767
10862
|
return toLiveStreamEvent(dispatch.event, this._lastEventId, this._retry);
|
|
10768
10863
|
}
|
|
10769
10864
|
};
|
|
10770
|
-
async function openLiveStream(openStream,
|
|
10771
|
-
const connection = await openStream(
|
|
10865
|
+
async function openLiveStream(openStream, path3, options = {}) {
|
|
10866
|
+
const connection = await openStream(path3, {
|
|
10772
10867
|
...options.lastEventId ? { lastEventId: options.lastEventId } : {},
|
|
10773
10868
|
...options.signal ? { signal: options.signal } : {},
|
|
10774
10869
|
...options.idleTimeoutMs !== void 0 ? { idleTimeoutMs: options.idleTimeoutMs } : {},
|
|
@@ -10955,8 +11050,8 @@ var ProcessorImports = class {
|
|
|
10955
11050
|
|
|
10956
11051
|
// src/resources/deploymentBranding.ts
|
|
10957
11052
|
function brandingAssetPath(asset, version) {
|
|
10958
|
-
const
|
|
10959
|
-
return version ? `${
|
|
11053
|
+
const path3 = `/branding/assets/${encodeURIComponent(asset)}`;
|
|
11054
|
+
return version ? `${path3}?v=${encodeURIComponent(version)}` : path3;
|
|
10960
11055
|
}
|
|
10961
11056
|
var Branding = class {
|
|
10962
11057
|
constructor(request, baseUrl) {
|
|
@@ -11290,6 +11385,7 @@ var Delopay = class {
|
|
|
11290
11385
|
this.costRules = new CostRules(request);
|
|
11291
11386
|
this.externalRecords = new ExternalRecords(request);
|
|
11292
11387
|
this.products = new Products(request);
|
|
11388
|
+
this.support = new Support(request);
|
|
11293
11389
|
this.invoices = new Invoices(request);
|
|
11294
11390
|
this.invoiceSettings = new InvoiceSettingsResource(request);
|
|
11295
11391
|
this.processorCosts = new ProcessorCosts(request);
|
|
@@ -11350,8 +11446,8 @@ var Delopay = class {
|
|
|
11350
11446
|
return response;
|
|
11351
11447
|
}
|
|
11352
11448
|
/** `path` on the base URL, with the query string `query` makes. */
|
|
11353
|
-
buildUrl(
|
|
11354
|
-
let url = `${this.baseUrl}${
|
|
11449
|
+
buildUrl(path3, query) {
|
|
11450
|
+
let url = `${this.baseUrl}${path3}`;
|
|
11355
11451
|
if (query) {
|
|
11356
11452
|
const params = new URLSearchParams();
|
|
11357
11453
|
for (const [key, value] of Object.entries(query)) {
|
|
@@ -11421,8 +11517,8 @@ var Delopay = class {
|
|
|
11421
11517
|
* on a 2xx that is not `text/event-stream` (code `NOT_EVENT_STREAM`), and
|
|
11422
11518
|
* with `TIMEOUT`, `NETWORK` or `ABORTED` like `request()`.
|
|
11423
11519
|
*/
|
|
11424
|
-
async openEventStream(
|
|
11425
|
-
const url = this.buildUrl(
|
|
11520
|
+
async openEventStream(path3, options = {}) {
|
|
11521
|
+
const url = this.buildUrl(path3, options.query);
|
|
11426
11522
|
const lastEventId = options.lastEventId ?? "";
|
|
11427
11523
|
const headers = {
|
|
11428
11524
|
...this.authHeaders(),
|
|
@@ -11462,7 +11558,7 @@ var Delopay = class {
|
|
|
11462
11558
|
`Network error: ${cause instanceof Error ? cause.message : String(cause ?? "stream failed")}`,
|
|
11463
11559
|
{ status: 0, code: "NETWORK", type: "network_error" }
|
|
11464
11560
|
);
|
|
11465
|
-
this.log("request", { method: "GET", url: redactUrlForLogging(url), path });
|
|
11561
|
+
this.log("request", { method: "GET", url: redactUrlForLogging(url), path: path3 });
|
|
11466
11562
|
startIdleTimer();
|
|
11467
11563
|
let response;
|
|
11468
11564
|
try {
|
|
@@ -11474,7 +11570,7 @@ var Delopay = class {
|
|
|
11474
11570
|
throw network(err);
|
|
11475
11571
|
}
|
|
11476
11572
|
const requestId = response.headers?.get("x-request-id") ?? response.headers?.get("x-trace-id") ?? void 0;
|
|
11477
|
-
this.log("response", { status: response.status, method: "GET", path, requestId });
|
|
11573
|
+
this.log("response", { status: response.status, method: "GET", path: path3, requestId });
|
|
11478
11574
|
if (!response.ok) {
|
|
11479
11575
|
const error = await errorFromResponse(response, requestId);
|
|
11480
11576
|
release();
|
|
@@ -11560,8 +11656,8 @@ var Delopay = class {
|
|
|
11560
11656
|
* @throws {DelopayAuthenticationError} On 401 responses.
|
|
11561
11657
|
* @throws {DelopayError} On all other non-2xx responses, timeouts, and network errors.
|
|
11562
11658
|
*/
|
|
11563
|
-
async request(method,
|
|
11564
|
-
const url = this.buildUrl(
|
|
11659
|
+
async request(method, path3, options) {
|
|
11660
|
+
const url = this.buildUrl(path3, options?.query);
|
|
11565
11661
|
let headers = {
|
|
11566
11662
|
...this.authHeaders(),
|
|
11567
11663
|
...this.profileHeaders(options?.headers),
|
|
@@ -11625,7 +11721,7 @@ var Delopay = class {
|
|
|
11625
11721
|
const delay = Math.max(retryAfterOverrideMs ?? 0, jittered);
|
|
11626
11722
|
retryAfterOverrideMs = null;
|
|
11627
11723
|
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
11628
|
-
emit("retry", { attempt, maxRetries: this.maxRetries, method, path });
|
|
11724
|
+
emit("retry", { attempt, maxRetries: this.maxRetries, method, path: path3 });
|
|
11629
11725
|
}
|
|
11630
11726
|
const timeoutCtrl = new AbortController();
|
|
11631
11727
|
let timeoutId = setTimeout(() => timeoutCtrl.abort(), timeoutMs);
|
|
@@ -11638,7 +11734,7 @@ var Delopay = class {
|
|
|
11638
11734
|
callerSignal ? [timeoutCtrl.signal, callerSignal] : [timeoutCtrl.signal]
|
|
11639
11735
|
);
|
|
11640
11736
|
try {
|
|
11641
|
-
emit("request", { method, url: safeUrl(), path });
|
|
11737
|
+
emit("request", { method, url: safeUrl(), path: path3 });
|
|
11642
11738
|
const response = await fetch(url, {
|
|
11643
11739
|
method,
|
|
11644
11740
|
headers,
|
|
@@ -11647,7 +11743,7 @@ var Delopay = class {
|
|
|
11647
11743
|
...options?.keepalive !== void 0 ? { keepalive: options.keepalive } : {}
|
|
11648
11744
|
});
|
|
11649
11745
|
const requestId = response.headers?.get("x-request-id") ?? response.headers?.get("x-trace-id") ?? void 0;
|
|
11650
|
-
emit("response", { status: response.status, method, path, requestId });
|
|
11746
|
+
emit("response", { status: response.status, method, path: path3, requestId });
|
|
11651
11747
|
if (!response.ok) {
|
|
11652
11748
|
const error = await errorFromResponse(response, requestId);
|
|
11653
11749
|
const isTransientStatus = response.status >= 500 || response.status === 429;
|
|
@@ -16979,7 +17075,7 @@ function encodePanes(panes) {
|
|
|
16979
17075
|
var OPAQUE_PAYMENT_LINK_ID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
|
|
16980
17076
|
function focusedCheckoutUrl(params) {
|
|
16981
17077
|
const base = params.checkoutBaseUrl.replace(/\/+$/, "");
|
|
16982
|
-
const
|
|
17078
|
+
const path3 = params.paymentLinkId && OPAQUE_PAYMENT_LINK_ID.test(params.paymentLinkId) ? `${base}/pay/${params.paymentLinkId}` : `${base}/pay/${encodeURIComponent(params.merchantId)}/${encodeURIComponent(
|
|
16983
17079
|
params.paymentId
|
|
16984
17080
|
)}`;
|
|
16985
17081
|
const query = new URLSearchParams({ pane: params.method });
|
|
@@ -16989,16 +17085,16 @@ function focusedCheckoutUrl(params) {
|
|
|
16989
17085
|
if (merchantConnectorId) query.set("mca", merchantConnectorId);
|
|
16990
17086
|
if (params.locale) query.set("locale", params.locale);
|
|
16991
17087
|
if (params.customFieldsCollected) query.set("cf", "1");
|
|
16992
|
-
return `${
|
|
17088
|
+
return `${path3}?${query.toString()}`;
|
|
16993
17089
|
}
|
|
16994
17090
|
function checkoutEntryUrl(params) {
|
|
16995
17091
|
const base = params.checkoutBaseUrl.replace(/\/+$/, "");
|
|
16996
|
-
const
|
|
17092
|
+
const path3 = params.paymentLinkId && OPAQUE_PAYMENT_LINK_ID.test(params.paymentLinkId) ? `${base}/pay/${params.paymentLinkId}` : `${base}/pay/${encodeURIComponent(params.merchantId)}/${encodeURIComponent(
|
|
16997
17093
|
params.paymentId
|
|
16998
17094
|
)}`;
|
|
16999
17095
|
const query = new URLSearchParams({ entry: params.entry.trim() });
|
|
17000
17096
|
if (params.locale) query.set("locale", params.locale);
|
|
17001
|
-
return `${
|
|
17097
|
+
return `${path3}?${query.toString()}`;
|
|
17002
17098
|
}
|
|
17003
17099
|
function isCheckoutOpenEntryMessage(data) {
|
|
17004
17100
|
if (typeof data !== "object" || data === null) return false;
|
|
@@ -17659,6 +17755,15 @@ var AdminPortal = class {
|
|
|
17659
17755
|
query
|
|
17660
17756
|
});
|
|
17661
17757
|
}
|
|
17758
|
+
/**
|
|
17759
|
+
* Every shop's device intelligence account, with its assessments per environment and
|
|
17760
|
+
* its error rate over the last `window_days` days. The error rate counts finished
|
|
17761
|
+
* assessments: one still running and a payment naming no buyer are not errors.
|
|
17762
|
+
* `GET /admin-portal/device-intelligence`
|
|
17763
|
+
*/
|
|
17764
|
+
async deviceIntelligenceUsage() {
|
|
17765
|
+
return this.request("GET", "/admin-portal/device-intelligence");
|
|
17766
|
+
}
|
|
17662
17767
|
/**
|
|
17663
17768
|
* Device analytics over the canonical client-context observation per
|
|
17664
17769
|
* payment, rooted at all merchants and drillable via `merchant_id` /
|
|
@@ -18470,6 +18575,65 @@ function adminAccount(merchantId) {
|
|
|
18470
18575
|
return `/admin-portal/accounts/${encodeURIComponent(merchantId)}`;
|
|
18471
18576
|
}
|
|
18472
18577
|
|
|
18578
|
+
// src/internal/resources/adminSupport.ts
|
|
18579
|
+
var path2 = (id) => `/admin-portal/support/conversations/${encodeURIComponent(id)}`;
|
|
18580
|
+
var AdminSupport = class {
|
|
18581
|
+
constructor(request) {
|
|
18582
|
+
this.request = request;
|
|
18583
|
+
}
|
|
18584
|
+
/** The queue. `GET /admin-portal/support/conversations` */
|
|
18585
|
+
async list(query) {
|
|
18586
|
+
return this.request("GET", "/admin-portal/support/conversations", {
|
|
18587
|
+
query: query === void 0 ? void 0 : { ...query }
|
|
18588
|
+
});
|
|
18589
|
+
}
|
|
18590
|
+
/** One conversation. `GET /admin-portal/support/conversations/{id}` */
|
|
18591
|
+
async retrieve(id) {
|
|
18592
|
+
return this.request("GET", path2(id));
|
|
18593
|
+
}
|
|
18594
|
+
/** Change status, kind, category or assignee. `PATCH /admin-portal/support/conversations/{id}` */
|
|
18595
|
+
async update(id, body) {
|
|
18596
|
+
return this.request("PATCH", path2(id), { body });
|
|
18597
|
+
}
|
|
18598
|
+
/** Messages, notes included. `GET /admin-portal/support/conversations/{id}/messages` */
|
|
18599
|
+
async messages(id, query) {
|
|
18600
|
+
return this.request("GET", `${path2(id)}/messages`, {
|
|
18601
|
+
query: query === void 0 ? void 0 : { ...query }
|
|
18602
|
+
});
|
|
18603
|
+
}
|
|
18604
|
+
/** Answer, or leave a note. `POST /admin-portal/support/conversations/{id}/messages` */
|
|
18605
|
+
async reply(id, body) {
|
|
18606
|
+
return this.request("POST", `${path2(id)}/messages`, { body });
|
|
18607
|
+
}
|
|
18608
|
+
/**
|
|
18609
|
+
* Upload a file for a message from staff, scanned like a merchant's.
|
|
18610
|
+
* `POST /admin-portal/support/conversations/{id}/attachments`
|
|
18611
|
+
*/
|
|
18612
|
+
async uploadAttachment(id, file, clientUploadId, fileName) {
|
|
18613
|
+
const form = new FormData();
|
|
18614
|
+
form.append("client_upload_id", clientUploadId);
|
|
18615
|
+
if (fileName === void 0) form.append("file", file);
|
|
18616
|
+
else form.append("file", file, fileName);
|
|
18617
|
+
return this.request("POST", `${path2(id)}/attachments`, { body: form });
|
|
18618
|
+
}
|
|
18619
|
+
/**
|
|
18620
|
+
* Fetch a file once its scan is clean. A blocked file stays shut for staff too.
|
|
18621
|
+
* `GET /admin-portal/support/conversations/{id}/attachments/{fileId}`
|
|
18622
|
+
*/
|
|
18623
|
+
async downloadAttachment(id, fileId) {
|
|
18624
|
+
return this.request("GET", `${path2(id)}/attachments/${encodeURIComponent(fileId)}`, {
|
|
18625
|
+
responseType: "blob"
|
|
18626
|
+
});
|
|
18627
|
+
}
|
|
18628
|
+
/**
|
|
18629
|
+
* Clear the staff unread mark and read the conversation as it is now.
|
|
18630
|
+
* `POST /admin-portal/support/conversations/{id}/read`
|
|
18631
|
+
*/
|
|
18632
|
+
async markRead(id) {
|
|
18633
|
+
return this.request("POST", `${path2(id)}/read`);
|
|
18634
|
+
}
|
|
18635
|
+
};
|
|
18636
|
+
|
|
18473
18637
|
// src/internal/resources/auditLogs.ts
|
|
18474
18638
|
var AuditLogs = class {
|
|
18475
18639
|
constructor(request) {
|
|
@@ -19249,6 +19413,7 @@ var DelopayInternal = class extends Delopay {
|
|
|
19249
19413
|
const request = this.request.bind(this);
|
|
19250
19414
|
this.admin = new Admin(request);
|
|
19251
19415
|
this.adminPortal = new AdminPortal(request);
|
|
19416
|
+
this.adminSupport = new AdminSupport(request);
|
|
19252
19417
|
const openStream = this.openEventStream.bind(this);
|
|
19253
19418
|
this.adminLive = new AdminLive(request, openStream);
|
|
19254
19419
|
this.adminBranding = new AdminBranding(request);
|
|
@@ -19288,6 +19453,7 @@ var DelopayInternal = class extends Delopay {
|
|
|
19288
19453
|
AdminBranding,
|
|
19289
19454
|
AdminLive,
|
|
19290
19455
|
AdminPortal,
|
|
19456
|
+
AdminSupport,
|
|
19291
19457
|
Analytics,
|
|
19292
19458
|
AnalyticsDashboard,
|
|
19293
19459
|
Audit,
|
|
@@ -19435,6 +19601,7 @@ var DelopayInternal = class extends Delopay {
|
|
|
19435
19601
|
Settlement,
|
|
19436
19602
|
ShopLabels,
|
|
19437
19603
|
Subscriptions,
|
|
19604
|
+
Support,
|
|
19438
19605
|
UNKNOWN_SECTION_ORDER,
|
|
19439
19606
|
WCAG_AA_TEXT,
|
|
19440
19607
|
WCAG_AA_UI,
|