hostinger-api-mcp 1.45.3 → 1.45.4
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/README.md +134 -5
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/src/core/runtime.js +1 -1
- package/src/core/runtime.ts +1 -1
- package/src/core/tools/all.js +806 -22
- package/src/core/tools/all.ts +806 -22
- package/src/core/tools/ecommerce.js +792 -8
- package/src/core/tools/ecommerce.ts +792 -8
- package/src/servers/agency-hosting.js +1 -1
- package/src/servers/agency-hosting.ts +1 -1
- package/src/servers/all.js +1 -1
- package/src/servers/all.ts +1 -1
- package/src/servers/billing.js +1 -1
- package/src/servers/billing.ts +1 -1
- package/src/servers/dns.js +1 -1
- package/src/servers/dns.ts +1 -1
- package/src/servers/domains.js +1 -1
- package/src/servers/domains.ts +1 -1
- package/src/servers/ecommerce.js +1 -1
- package/src/servers/ecommerce.ts +1 -1
- package/src/servers/horizons.js +1 -1
- package/src/servers/horizons.ts +1 -1
- package/src/servers/hosting.js +1 -1
- package/src/servers/hosting.ts +1 -1
- package/src/servers/mail.js +1 -1
- package/src/servers/mail.ts +1 -1
- package/src/servers/reach.js +1 -1
- package/src/servers/reach.ts +1 -1
- package/src/servers/vps.js +1 -1
- package/src/servers/vps.ts +1 -1
- package/src/servers/wordpress.js +1 -1
- package/src/servers/wordpress.ts +1 -1
- package/types.d.ts +447 -7
|
@@ -14,6 +14,122 @@ export interface OpenApiTool extends Tool {
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
const tools: OpenApiTool[] = [
|
|
17
|
+
{
|
|
18
|
+
"name": "ecommerce_listDiscountsV1",
|
|
19
|
+
"description": "List a store's discounts. Filter by free text over code and name, or by disabled state.\nAmounts for fixed discounts are integers in the smallest currency unit; percentage\ndiscounts carry a whole-number value between 1 and 100.",
|
|
20
|
+
"method": "GET",
|
|
21
|
+
"path": "/api/ecommerce/v1/stores/{store_id}/discounts",
|
|
22
|
+
"inputSchema": {
|
|
23
|
+
"type": "object",
|
|
24
|
+
"properties": {
|
|
25
|
+
"store_id": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"description": "The ID of the store to list discounts for."
|
|
28
|
+
},
|
|
29
|
+
"q": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "Free-text search over discount code and name."
|
|
32
|
+
},
|
|
33
|
+
"is_disabled": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "Filter by disabled state.",
|
|
36
|
+
"enum": [
|
|
37
|
+
"true",
|
|
38
|
+
"false"
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
"page": {
|
|
42
|
+
"type": "integer",
|
|
43
|
+
"description": "Page number"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"required": [
|
|
47
|
+
"store_id"
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
"security": [
|
|
51
|
+
{
|
|
52
|
+
"apiToken": []
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"group": "ecommerce"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "ecommerce_createADiscountV1",
|
|
59
|
+
"description": "Create a discount for a store. Fixed discounts take an amount in the smallest currency\nunit (e.g. $10 is 1000); percentage discounts take a whole-number value between 1 and 100.\nFree-shipping discounts ignore value. Returns the created discount.",
|
|
60
|
+
"method": "POST",
|
|
61
|
+
"path": "/api/ecommerce/v1/stores/{store_id}/discounts",
|
|
62
|
+
"inputSchema": {
|
|
63
|
+
"type": "object",
|
|
64
|
+
"properties": {
|
|
65
|
+
"store_id": {
|
|
66
|
+
"type": "string",
|
|
67
|
+
"description": "The ID of the store to create the discount for."
|
|
68
|
+
},
|
|
69
|
+
"code": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"description": "The discount code customers enter at checkout."
|
|
72
|
+
},
|
|
73
|
+
"name": {
|
|
74
|
+
"type": "string",
|
|
75
|
+
"description": "A human-friendly discount name."
|
|
76
|
+
},
|
|
77
|
+
"type": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"description": "The discount type.",
|
|
80
|
+
"enum": [
|
|
81
|
+
"percentage",
|
|
82
|
+
"fixed",
|
|
83
|
+
"free_shipping"
|
|
84
|
+
]
|
|
85
|
+
},
|
|
86
|
+
"value": {
|
|
87
|
+
"type": "integer",
|
|
88
|
+
"description": "For percentage discounts a whole number 1-100; for fixed discounts an amount in the smallest currency unit (e.g. $10 is 1000). Ignored for free_shipping."
|
|
89
|
+
},
|
|
90
|
+
"allocation": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"description": "Whether the discount applies to the cart total or to each eligible item.",
|
|
93
|
+
"enum": [
|
|
94
|
+
"total",
|
|
95
|
+
"item"
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
"starts_at": {
|
|
99
|
+
"type": "string",
|
|
100
|
+
"description": "When the discount becomes active. A bare date (2026-11-27) anchors to time_zone. Defaults to now when omitted."
|
|
101
|
+
},
|
|
102
|
+
"ends_at": {
|
|
103
|
+
"type": "string",
|
|
104
|
+
"description": "When the discount expires. A bare date runs to the end of that day in time_zone. Never expires when omitted."
|
|
105
|
+
},
|
|
106
|
+
"usage_limit": {
|
|
107
|
+
"type": "integer",
|
|
108
|
+
"description": "Maximum number of times the discount can be redeemed."
|
|
109
|
+
},
|
|
110
|
+
"min_cart_value": {
|
|
111
|
+
"type": "integer",
|
|
112
|
+
"description": "Minimum cart value in the smallest currency unit required for the discount to apply."
|
|
113
|
+
},
|
|
114
|
+
"time_zone": {
|
|
115
|
+
"type": "string",
|
|
116
|
+
"description": "IANA time zone used to interpret starts_at and ends_at."
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
"required": [
|
|
120
|
+
"store_id",
|
|
121
|
+
"code",
|
|
122
|
+
"type",
|
|
123
|
+
"value"
|
|
124
|
+
]
|
|
125
|
+
},
|
|
126
|
+
"security": [
|
|
127
|
+
{
|
|
128
|
+
"apiToken": []
|
|
129
|
+
}
|
|
130
|
+
],
|
|
131
|
+
"group": "ecommerce"
|
|
132
|
+
},
|
|
17
133
|
{
|
|
18
134
|
"name": "ecommerce_getCustomStorefrontSetupInstructionsV1",
|
|
19
135
|
"description": "Retrieve step-by-step setup instructions, formatted as Markdown, for connecting a custom sales\nchannel to your store and keeping your catalog, orders, shipping and payments in sync through\nthe Ecommerce API.",
|
|
@@ -31,6 +147,231 @@ const tools: OpenApiTool[] = [
|
|
|
31
147
|
],
|
|
32
148
|
"group": "ecommerce"
|
|
33
149
|
},
|
|
150
|
+
{
|
|
151
|
+
"name": "ecommerce_cancelAnOrderV1",
|
|
152
|
+
"description": "Cancel the order and optionally email the customer. Returns the updated order summary.",
|
|
153
|
+
"method": "POST",
|
|
154
|
+
"path": "/api/ecommerce/v1/stores/{store_id}/orders/{order_id}/cancel",
|
|
155
|
+
"inputSchema": {
|
|
156
|
+
"type": "object",
|
|
157
|
+
"properties": {
|
|
158
|
+
"store_id": {
|
|
159
|
+
"type": "string",
|
|
160
|
+
"description": "The ID of the store that owns the order."
|
|
161
|
+
},
|
|
162
|
+
"order_id": {
|
|
163
|
+
"type": "string",
|
|
164
|
+
"description": "The ID of the order to cancel."
|
|
165
|
+
},
|
|
166
|
+
"notify_customer": {
|
|
167
|
+
"type": "boolean",
|
|
168
|
+
"description": "Whether to email the customer about the cancellation. Defaults to true."
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
"required": [
|
|
172
|
+
"store_id",
|
|
173
|
+
"order_id"
|
|
174
|
+
]
|
|
175
|
+
},
|
|
176
|
+
"security": [
|
|
177
|
+
{
|
|
178
|
+
"apiToken": []
|
|
179
|
+
}
|
|
180
|
+
],
|
|
181
|
+
"group": "ecommerce"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"name": "ecommerce_fulfilAnOrderV1",
|
|
185
|
+
"description": "Create a fulfilment for the order and attach tracking in one call. Omit items to fulfil\nevery remaining unfulfilled item. Returns the updated order summary.",
|
|
186
|
+
"method": "POST",
|
|
187
|
+
"path": "/api/ecommerce/v1/stores/{store_id}/orders/{order_id}/fulfill",
|
|
188
|
+
"inputSchema": {
|
|
189
|
+
"type": "object",
|
|
190
|
+
"properties": {
|
|
191
|
+
"store_id": {
|
|
192
|
+
"type": "string",
|
|
193
|
+
"description": "The ID of the store that owns the order."
|
|
194
|
+
},
|
|
195
|
+
"order_id": {
|
|
196
|
+
"type": "string",
|
|
197
|
+
"description": "The ID of the order to fulfil."
|
|
198
|
+
},
|
|
199
|
+
"items": {
|
|
200
|
+
"type": "array",
|
|
201
|
+
"description": "Line items to fulfil. Omit to fulfil every remaining unfulfilled item.",
|
|
202
|
+
"items": {
|
|
203
|
+
"type": "object",
|
|
204
|
+
"description": "items parameter",
|
|
205
|
+
"properties": {
|
|
206
|
+
"line_item_id": {
|
|
207
|
+
"type": "string",
|
|
208
|
+
"description": "The line item to fulfil, from the order detail items[].id."
|
|
209
|
+
},
|
|
210
|
+
"quantity": {
|
|
211
|
+
"type": "integer",
|
|
212
|
+
"description": "Quantity of the line item to fulfil."
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
"required": [
|
|
216
|
+
"line_item_id",
|
|
217
|
+
"quantity"
|
|
218
|
+
]
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
"tracking_number": {
|
|
222
|
+
"type": "string",
|
|
223
|
+
"description": "Carrier tracking number for the shipment."
|
|
224
|
+
},
|
|
225
|
+
"tracking_url": {
|
|
226
|
+
"type": "string",
|
|
227
|
+
"description": "Public tracking URL for the shipment. Requires tracking_number."
|
|
228
|
+
},
|
|
229
|
+
"notify_customer": {
|
|
230
|
+
"type": "boolean",
|
|
231
|
+
"description": "Whether to email the customer about the fulfilment. Defaults to true."
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
"required": [
|
|
235
|
+
"store_id",
|
|
236
|
+
"order_id"
|
|
237
|
+
]
|
|
238
|
+
},
|
|
239
|
+
"security": [
|
|
240
|
+
{
|
|
241
|
+
"apiToken": []
|
|
242
|
+
}
|
|
243
|
+
],
|
|
244
|
+
"group": "ecommerce"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"name": "ecommerce_listOrdersV1",
|
|
248
|
+
"description": "List a store's orders newest first as summaries. Filter by status, payment or fulfilment\nstatus, customer email, order number or a free-text query. Amounts are in the smallest\ncurrency unit. Retrieve a single order for its line items, addresses and fulfilments.",
|
|
249
|
+
"method": "GET",
|
|
250
|
+
"path": "/api/ecommerce/v1/stores/{store_id}/orders",
|
|
251
|
+
"inputSchema": {
|
|
252
|
+
"type": "object",
|
|
253
|
+
"properties": {
|
|
254
|
+
"store_id": {
|
|
255
|
+
"type": "string",
|
|
256
|
+
"description": "The ID of the store to list orders for."
|
|
257
|
+
},
|
|
258
|
+
"status": {
|
|
259
|
+
"type": "array",
|
|
260
|
+
"description": "Order statuses to include.",
|
|
261
|
+
"items": {
|
|
262
|
+
"type": "string",
|
|
263
|
+
"description": "status parameter",
|
|
264
|
+
"enum": [
|
|
265
|
+
"pending",
|
|
266
|
+
"completed",
|
|
267
|
+
"archived",
|
|
268
|
+
"canceled",
|
|
269
|
+
"requires_action"
|
|
270
|
+
]
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
"payment_status": {
|
|
274
|
+
"type": "array",
|
|
275
|
+
"description": "Payment statuses to include. A paid order is \"captured\".",
|
|
276
|
+
"items": {
|
|
277
|
+
"type": "string",
|
|
278
|
+
"description": "payment_status parameter",
|
|
279
|
+
"enum": [
|
|
280
|
+
"not_paid",
|
|
281
|
+
"awaiting",
|
|
282
|
+
"captured",
|
|
283
|
+
"partially_refunded",
|
|
284
|
+
"refunded",
|
|
285
|
+
"canceled",
|
|
286
|
+
"requires_action",
|
|
287
|
+
"not_required"
|
|
288
|
+
]
|
|
289
|
+
}
|
|
290
|
+
},
|
|
291
|
+
"fulfillment_status": {
|
|
292
|
+
"type": "array",
|
|
293
|
+
"description": "Fulfilment statuses to include.",
|
|
294
|
+
"items": {
|
|
295
|
+
"type": "string",
|
|
296
|
+
"description": "fulfillment_status parameter",
|
|
297
|
+
"enum": [
|
|
298
|
+
"not_fulfilled",
|
|
299
|
+
"partially_fulfilled",
|
|
300
|
+
"fulfilled",
|
|
301
|
+
"partially_shipped",
|
|
302
|
+
"shipped",
|
|
303
|
+
"partially_returned",
|
|
304
|
+
"returned",
|
|
305
|
+
"canceled",
|
|
306
|
+
"requires_action"
|
|
307
|
+
]
|
|
308
|
+
}
|
|
309
|
+
},
|
|
310
|
+
"email": {
|
|
311
|
+
"type": "string",
|
|
312
|
+
"description": "Customer email, matched exactly."
|
|
313
|
+
},
|
|
314
|
+
"display_id": {
|
|
315
|
+
"type": "string",
|
|
316
|
+
"description": "The order number the merchant and customer see."
|
|
317
|
+
},
|
|
318
|
+
"q": {
|
|
319
|
+
"type": "string",
|
|
320
|
+
"description": "Free-text search over customer name, email, order number and line items."
|
|
321
|
+
},
|
|
322
|
+
"created_at_from": {
|
|
323
|
+
"type": "string",
|
|
324
|
+
"description": "Earliest creation time to include, inclusive. Accepts a date or ISO date-time (UTC)."
|
|
325
|
+
},
|
|
326
|
+
"created_at_to": {
|
|
327
|
+
"type": "string",
|
|
328
|
+
"description": "Latest creation time to include, inclusive. A bare date covers that whole day."
|
|
329
|
+
},
|
|
330
|
+
"page": {
|
|
331
|
+
"type": "integer",
|
|
332
|
+
"description": "Page number"
|
|
333
|
+
}
|
|
334
|
+
},
|
|
335
|
+
"required": [
|
|
336
|
+
"store_id"
|
|
337
|
+
]
|
|
338
|
+
},
|
|
339
|
+
"security": [
|
|
340
|
+
{
|
|
341
|
+
"apiToken": []
|
|
342
|
+
}
|
|
343
|
+
],
|
|
344
|
+
"group": "ecommerce"
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"name": "ecommerce_retrieveAnOrderV1",
|
|
348
|
+
"description": "Retrieve one order in full: line items (each with the id the fulfil endpoint needs),\naddresses, the totals breakdown and fulfilments with tracking. Amounts are in the\nsmallest currency unit.",
|
|
349
|
+
"method": "GET",
|
|
350
|
+
"path": "/api/ecommerce/v1/stores/{store_id}/orders/{order_id}",
|
|
351
|
+
"inputSchema": {
|
|
352
|
+
"type": "object",
|
|
353
|
+
"properties": {
|
|
354
|
+
"store_id": {
|
|
355
|
+
"type": "string",
|
|
356
|
+
"description": "The ID of the store that owns the order."
|
|
357
|
+
},
|
|
358
|
+
"order_id": {
|
|
359
|
+
"type": "string",
|
|
360
|
+
"description": "The ID of the order to retrieve."
|
|
361
|
+
}
|
|
362
|
+
},
|
|
363
|
+
"required": [
|
|
364
|
+
"store_id",
|
|
365
|
+
"order_id"
|
|
366
|
+
]
|
|
367
|
+
},
|
|
368
|
+
"security": [
|
|
369
|
+
{
|
|
370
|
+
"apiToken": []
|
|
371
|
+
}
|
|
372
|
+
],
|
|
373
|
+
"group": "ecommerce"
|
|
374
|
+
},
|
|
34
375
|
{
|
|
35
376
|
"name": "ecommerce_enableManualPaymentMethodV1",
|
|
36
377
|
"description": "Enable a manual payment method so the store can accept orders without an online payment provider.",
|
|
@@ -59,6 +400,63 @@ const tools: OpenApiTool[] = [
|
|
|
59
400
|
],
|
|
60
401
|
"group": "ecommerce"
|
|
61
402
|
},
|
|
403
|
+
{
|
|
404
|
+
"name": "ecommerce_createAPaymentProviderConnectLinkV1",
|
|
405
|
+
"description": "Create an onboarding link for connecting a payment gateway to the store. Returns the gateway\nonboarding URL for the merchant to open and a deep-link into the store admin.",
|
|
406
|
+
"method": "POST",
|
|
407
|
+
"path": "/api/ecommerce/v1/stores/{store_id}/payment-providers/{provider_id}/connect-link",
|
|
408
|
+
"inputSchema": {
|
|
409
|
+
"type": "object",
|
|
410
|
+
"properties": {
|
|
411
|
+
"store_id": {
|
|
412
|
+
"type": "string",
|
|
413
|
+
"description": "The ID of the store to connect the payment provider to."
|
|
414
|
+
},
|
|
415
|
+
"provider_id": {
|
|
416
|
+
"type": "string",
|
|
417
|
+
"description": "The ID of the payment gateway to connect, e.g. stripe."
|
|
418
|
+
}
|
|
419
|
+
},
|
|
420
|
+
"required": [
|
|
421
|
+
"store_id",
|
|
422
|
+
"provider_id"
|
|
423
|
+
]
|
|
424
|
+
},
|
|
425
|
+
"security": [
|
|
426
|
+
{
|
|
427
|
+
"apiToken": []
|
|
428
|
+
}
|
|
429
|
+
],
|
|
430
|
+
"group": "ecommerce"
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
"name": "ecommerce_listStorePaymentProvidersV1",
|
|
434
|
+
"description": "List a store's payment providers, split into providers already connected to the store and\ngateways available to install. Never exposes gateway credentials, secrets, or configuration.",
|
|
435
|
+
"method": "GET",
|
|
436
|
+
"path": "/api/ecommerce/v1/stores/{store_id}/payment-providers",
|
|
437
|
+
"inputSchema": {
|
|
438
|
+
"type": "object",
|
|
439
|
+
"properties": {
|
|
440
|
+
"store_id": {
|
|
441
|
+
"type": "string",
|
|
442
|
+
"description": "The ID of the store to list payment providers for."
|
|
443
|
+
},
|
|
444
|
+
"include_currency_unsupported": {
|
|
445
|
+
"type": "boolean",
|
|
446
|
+
"description": "Include gateways that do not support the store currency in the available list."
|
|
447
|
+
}
|
|
448
|
+
},
|
|
449
|
+
"required": [
|
|
450
|
+
"store_id"
|
|
451
|
+
]
|
|
452
|
+
},
|
|
453
|
+
"security": [
|
|
454
|
+
{
|
|
455
|
+
"apiToken": []
|
|
456
|
+
}
|
|
457
|
+
],
|
|
458
|
+
"group": "ecommerce"
|
|
459
|
+
},
|
|
62
460
|
{
|
|
63
461
|
"name": "ecommerce_createAProductImageUploadURLV1",
|
|
64
462
|
"description": "Returns a signed URL to upload a product image to (multipart/form-data POST). Then call the\nattach-image endpoint with the returned object_name to scan and attach it to the product.",
|
|
@@ -88,6 +486,81 @@ const tools: OpenApiTool[] = [
|
|
|
88
486
|
],
|
|
89
487
|
"group": "ecommerce"
|
|
90
488
|
},
|
|
489
|
+
{
|
|
490
|
+
"name": "ecommerce_deleteAProductV1",
|
|
491
|
+
"description": "Delete a product and its variants from the store. A subscription product with active\nsubscribers is archived instead of deleted so its data stays available.",
|
|
492
|
+
"method": "DELETE",
|
|
493
|
+
"path": "/api/ecommerce/v1/stores/{store_id}/products/{product_id}",
|
|
494
|
+
"inputSchema": {
|
|
495
|
+
"type": "object",
|
|
496
|
+
"properties": {
|
|
497
|
+
"store_id": {
|
|
498
|
+
"type": "string",
|
|
499
|
+
"description": "The ID of the store that owns the product."
|
|
500
|
+
},
|
|
501
|
+
"product_id": {
|
|
502
|
+
"type": "string",
|
|
503
|
+
"description": "The ID of the product to delete."
|
|
504
|
+
}
|
|
505
|
+
},
|
|
506
|
+
"required": [
|
|
507
|
+
"store_id",
|
|
508
|
+
"product_id"
|
|
509
|
+
]
|
|
510
|
+
},
|
|
511
|
+
"security": [
|
|
512
|
+
{
|
|
513
|
+
"apiToken": []
|
|
514
|
+
}
|
|
515
|
+
],
|
|
516
|
+
"group": "ecommerce"
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
"name": "ecommerce_updateAProductV1",
|
|
520
|
+
"description": "Update a product's name, description or status. Set status to published to make it buyable,\ndraft to hide it, or archived to retire it. Variants, prices and inventory are managed\nthrough the variant endpoints, not here. Returns the updated product summary.",
|
|
521
|
+
"method": "PATCH",
|
|
522
|
+
"path": "/api/ecommerce/v1/stores/{store_id}/products/{product_id}",
|
|
523
|
+
"inputSchema": {
|
|
524
|
+
"type": "object",
|
|
525
|
+
"properties": {
|
|
526
|
+
"store_id": {
|
|
527
|
+
"type": "string",
|
|
528
|
+
"description": "The ID of the store that owns the product."
|
|
529
|
+
},
|
|
530
|
+
"product_id": {
|
|
531
|
+
"type": "string",
|
|
532
|
+
"description": "The ID of the product to update."
|
|
533
|
+
},
|
|
534
|
+
"name": {
|
|
535
|
+
"type": "string",
|
|
536
|
+
"description": "The product name."
|
|
537
|
+
},
|
|
538
|
+
"description": {
|
|
539
|
+
"type": "string",
|
|
540
|
+
"description": "The product description."
|
|
541
|
+
},
|
|
542
|
+
"status": {
|
|
543
|
+
"type": "string",
|
|
544
|
+
"description": "Set \"published\" to make the product buyable, \"draft\" to hide it, or \"archived\" to retire it.",
|
|
545
|
+
"enum": [
|
|
546
|
+
"draft",
|
|
547
|
+
"published",
|
|
548
|
+
"archived"
|
|
549
|
+
]
|
|
550
|
+
}
|
|
551
|
+
},
|
|
552
|
+
"required": [
|
|
553
|
+
"store_id",
|
|
554
|
+
"product_id"
|
|
555
|
+
]
|
|
556
|
+
},
|
|
557
|
+
"security": [
|
|
558
|
+
{
|
|
559
|
+
"apiToken": []
|
|
560
|
+
}
|
|
561
|
+
],
|
|
562
|
+
"group": "ecommerce"
|
|
563
|
+
},
|
|
91
564
|
{
|
|
92
565
|
"name": "ecommerce_createDigitalProductV1",
|
|
93
566
|
"description": "Create a published digital product with a single variant and an optional external download link.",
|
|
@@ -134,6 +607,73 @@ const tools: OpenApiTool[] = [
|
|
|
134
607
|
],
|
|
135
608
|
"group": "ecommerce"
|
|
136
609
|
},
|
|
610
|
+
{
|
|
611
|
+
"name": "ecommerce_listProductsV1",
|
|
612
|
+
"description": "List a store's products newest first as lean summaries (name, status, thumbnail, variant\ncount and price range). Prices are integers in the smallest currency unit and live on\nvariants. Filter by status, free text or a set of product ids. Use include=variants to\nembed each product's variants with prices and inventory, and include=media to embed its media.",
|
|
613
|
+
"method": "GET",
|
|
614
|
+
"path": "/api/ecommerce/v1/stores/{store_id}/products",
|
|
615
|
+
"inputSchema": {
|
|
616
|
+
"type": "object",
|
|
617
|
+
"properties": {
|
|
618
|
+
"store_id": {
|
|
619
|
+
"type": "string",
|
|
620
|
+
"description": "The ID of the store to list products for."
|
|
621
|
+
},
|
|
622
|
+
"product_ids": {
|
|
623
|
+
"type": "array",
|
|
624
|
+
"description": "Restrict to these product ids. Doubles as a single-product lookup. Up to 200 ids.",
|
|
625
|
+
"items": {
|
|
626
|
+
"type": "string",
|
|
627
|
+
"description": "product_ids parameter"
|
|
628
|
+
}
|
|
629
|
+
},
|
|
630
|
+
"status": {
|
|
631
|
+
"type": "array",
|
|
632
|
+
"description": "Product statuses to include.",
|
|
633
|
+
"items": {
|
|
634
|
+
"type": "string",
|
|
635
|
+
"description": "status parameter",
|
|
636
|
+
"enum": [
|
|
637
|
+
"draft",
|
|
638
|
+
"proposed",
|
|
639
|
+
"published",
|
|
640
|
+
"rejected",
|
|
641
|
+
"archived"
|
|
642
|
+
]
|
|
643
|
+
}
|
|
644
|
+
},
|
|
645
|
+
"q": {
|
|
646
|
+
"type": "string",
|
|
647
|
+
"description": "Free-text search over product title and SKU."
|
|
648
|
+
},
|
|
649
|
+
"include": {
|
|
650
|
+
"type": "array",
|
|
651
|
+
"description": "Opt-in heavy data: \"variants\" embeds each product's variants; \"media\" embeds its media.",
|
|
652
|
+
"items": {
|
|
653
|
+
"type": "string",
|
|
654
|
+
"description": "include parameter",
|
|
655
|
+
"enum": [
|
|
656
|
+
"variants",
|
|
657
|
+
"media"
|
|
658
|
+
]
|
|
659
|
+
}
|
|
660
|
+
},
|
|
661
|
+
"page": {
|
|
662
|
+
"type": "integer",
|
|
663
|
+
"description": "Page number"
|
|
664
|
+
}
|
|
665
|
+
},
|
|
666
|
+
"required": [
|
|
667
|
+
"store_id"
|
|
668
|
+
]
|
|
669
|
+
},
|
|
670
|
+
"security": [
|
|
671
|
+
{
|
|
672
|
+
"apiToken": []
|
|
673
|
+
}
|
|
674
|
+
],
|
|
675
|
+
"group": "ecommerce"
|
|
676
|
+
},
|
|
137
677
|
{
|
|
138
678
|
"name": "ecommerce_createPhysicalProductV1",
|
|
139
679
|
"description": "Create a published physical product with a single variant priced in the store currency.",
|
|
@@ -242,8 +782,8 @@ const tools: OpenApiTool[] = [
|
|
|
242
782
|
"group": "ecommerce"
|
|
243
783
|
},
|
|
244
784
|
{
|
|
245
|
-
"name": "
|
|
246
|
-
"description": "Create a
|
|
785
|
+
"name": "ecommerce_createASalesChannelV1",
|
|
786
|
+
"description": "Create a sales channel for a store. A \"custom\" channel is headless: build your own frontend and keep\nyour catalog, orders, shipping and payments in sync through the Ecommerce API. A \"quick-link\" channel\nis a hosted one-page store whose handle is auto-generated.",
|
|
247
787
|
"method": "POST",
|
|
248
788
|
"path": "/api/ecommerce/v1/stores/{store_id}/sales-channels",
|
|
249
789
|
"inputSchema": {
|
|
@@ -255,24 +795,24 @@ const tools: OpenApiTool[] = [
|
|
|
255
795
|
},
|
|
256
796
|
"type": {
|
|
257
797
|
"type": "string",
|
|
258
|
-
"description": "Sales channel type.
|
|
798
|
+
"description": "Sales channel type. \"custom\" is a headless channel: it requires a name and takes an optional public url.\n\"quick-link\" is a one-page store whose handle is auto-generated; it supports neither name nor url.",
|
|
259
799
|
"enum": [
|
|
260
|
-
"custom"
|
|
800
|
+
"custom",
|
|
801
|
+
"quick-link"
|
|
261
802
|
]
|
|
262
803
|
},
|
|
263
804
|
"name": {
|
|
264
805
|
"type": "string",
|
|
265
|
-
"description": "Merchant-facing custom name
|
|
806
|
+
"description": "Merchant-facing custom name. Required for custom channels; not supported for quick-link."
|
|
266
807
|
},
|
|
267
808
|
"url": {
|
|
268
809
|
"type": "string",
|
|
269
|
-
"description": "Optional public
|
|
810
|
+
"description": "Optional public url for the channel. Custom channels only; not supported for quick-link."
|
|
270
811
|
}
|
|
271
812
|
},
|
|
272
813
|
"required": [
|
|
273
814
|
"store_id",
|
|
274
|
-
"type"
|
|
275
|
-
"name"
|
|
815
|
+
"type"
|
|
276
816
|
]
|
|
277
817
|
},
|
|
278
818
|
"security": [
|
|
@@ -472,6 +1012,250 @@ const tools: OpenApiTool[] = [
|
|
|
472
1012
|
}
|
|
473
1013
|
],
|
|
474
1014
|
"group": "ecommerce"
|
|
1015
|
+
},
|
|
1016
|
+
{
|
|
1017
|
+
"name": "ecommerce_updateProductVariantsInBatchV1",
|
|
1018
|
+
"description": "Update up to 100 existing variants in place by id — title, inventory, stock tracking and\nprices. Variants omitted from the request are left untouched. Prices replace the variant's\nexisting prices in full. Returns the updated variants.",
|
|
1019
|
+
"method": "PATCH",
|
|
1020
|
+
"path": "/api/ecommerce/v1/stores/{store_id}/products/{product_id}/variants/batch",
|
|
1021
|
+
"inputSchema": {
|
|
1022
|
+
"type": "object",
|
|
1023
|
+
"properties": {
|
|
1024
|
+
"store_id": {
|
|
1025
|
+
"type": "string",
|
|
1026
|
+
"description": "The ID of the store that owns the product."
|
|
1027
|
+
},
|
|
1028
|
+
"product_id": {
|
|
1029
|
+
"type": "string",
|
|
1030
|
+
"description": "The ID of the product whose variants are being updated."
|
|
1031
|
+
},
|
|
1032
|
+
"variants": {
|
|
1033
|
+
"type": "array",
|
|
1034
|
+
"description": "Variants to update in place by id, up to 100. Variants omitted from the list are left untouched.",
|
|
1035
|
+
"items": {
|
|
1036
|
+
"type": "object",
|
|
1037
|
+
"description": "variants parameter",
|
|
1038
|
+
"properties": {
|
|
1039
|
+
"variant_id": {
|
|
1040
|
+
"type": "string",
|
|
1041
|
+
"description": "The id of the variant to update."
|
|
1042
|
+
},
|
|
1043
|
+
"title": {
|
|
1044
|
+
"type": "string",
|
|
1045
|
+
"description": "The variant title."
|
|
1046
|
+
},
|
|
1047
|
+
"inventory_quantity": {
|
|
1048
|
+
"type": "integer",
|
|
1049
|
+
"description": "Units in stock."
|
|
1050
|
+
},
|
|
1051
|
+
"manage_inventory": {
|
|
1052
|
+
"type": "boolean",
|
|
1053
|
+
"description": "Whether stock is tracked for this variant."
|
|
1054
|
+
},
|
|
1055
|
+
"prices": {
|
|
1056
|
+
"type": "array",
|
|
1057
|
+
"description": "The full list of prices for the variant, replacing the existing ones. A free item is amount: 0.",
|
|
1058
|
+
"items": {
|
|
1059
|
+
"type": "object",
|
|
1060
|
+
"description": "prices parameter",
|
|
1061
|
+
"properties": {
|
|
1062
|
+
"amount": {
|
|
1063
|
+
"type": "integer",
|
|
1064
|
+
"description": "Price in the smallest currency unit (e.g. cents)."
|
|
1065
|
+
},
|
|
1066
|
+
"sale_amount": {
|
|
1067
|
+
"type": "integer",
|
|
1068
|
+
"description": "Optional sale price in the smallest currency unit; must be lower than amount."
|
|
1069
|
+
},
|
|
1070
|
+
"currency": {
|
|
1071
|
+
"type": "string",
|
|
1072
|
+
"description": "ISO 4217 currency code. Defaults to the store's default currency."
|
|
1073
|
+
}
|
|
1074
|
+
},
|
|
1075
|
+
"required": [
|
|
1076
|
+
"amount"
|
|
1077
|
+
]
|
|
1078
|
+
}
|
|
1079
|
+
}
|
|
1080
|
+
},
|
|
1081
|
+
"required": [
|
|
1082
|
+
"variant_id"
|
|
1083
|
+
]
|
|
1084
|
+
}
|
|
1085
|
+
}
|
|
1086
|
+
},
|
|
1087
|
+
"required": [
|
|
1088
|
+
"store_id",
|
|
1089
|
+
"product_id",
|
|
1090
|
+
"variants"
|
|
1091
|
+
]
|
|
1092
|
+
},
|
|
1093
|
+
"security": [
|
|
1094
|
+
{
|
|
1095
|
+
"apiToken": []
|
|
1096
|
+
}
|
|
1097
|
+
],
|
|
1098
|
+
"group": "ecommerce"
|
|
1099
|
+
},
|
|
1100
|
+
{
|
|
1101
|
+
"name": "ecommerce_deleteAProductVariantV1",
|
|
1102
|
+
"description": "Delete a single variant from the product.",
|
|
1103
|
+
"method": "DELETE",
|
|
1104
|
+
"path": "/api/ecommerce/v1/stores/{store_id}/products/{product_id}/variants/{variant_id}",
|
|
1105
|
+
"inputSchema": {
|
|
1106
|
+
"type": "object",
|
|
1107
|
+
"properties": {
|
|
1108
|
+
"store_id": {
|
|
1109
|
+
"type": "string",
|
|
1110
|
+
"description": "The ID of the store that owns the product."
|
|
1111
|
+
},
|
|
1112
|
+
"product_id": {
|
|
1113
|
+
"type": "string",
|
|
1114
|
+
"description": "The ID of the product that owns the variant."
|
|
1115
|
+
},
|
|
1116
|
+
"variant_id": {
|
|
1117
|
+
"type": "string",
|
|
1118
|
+
"description": "The ID of the variant to delete."
|
|
1119
|
+
}
|
|
1120
|
+
},
|
|
1121
|
+
"required": [
|
|
1122
|
+
"store_id",
|
|
1123
|
+
"product_id",
|
|
1124
|
+
"variant_id"
|
|
1125
|
+
]
|
|
1126
|
+
},
|
|
1127
|
+
"security": [
|
|
1128
|
+
{
|
|
1129
|
+
"apiToken": []
|
|
1130
|
+
}
|
|
1131
|
+
],
|
|
1132
|
+
"group": "ecommerce"
|
|
1133
|
+
},
|
|
1134
|
+
{
|
|
1135
|
+
"name": "ecommerce_listProductVariantsV1",
|
|
1136
|
+
"description": "List a product's variants, ordered by rank, with their options, prices and inventory.\nPrices are integers in the smallest currency unit and live on variants.",
|
|
1137
|
+
"method": "GET",
|
|
1138
|
+
"path": "/api/ecommerce/v1/stores/{store_id}/products/{product_id}/variants",
|
|
1139
|
+
"inputSchema": {
|
|
1140
|
+
"type": "object",
|
|
1141
|
+
"properties": {
|
|
1142
|
+
"store_id": {
|
|
1143
|
+
"type": "string",
|
|
1144
|
+
"description": "The ID of the store that owns the product."
|
|
1145
|
+
},
|
|
1146
|
+
"product_id": {
|
|
1147
|
+
"type": "string",
|
|
1148
|
+
"description": "The ID of the product to list variants for."
|
|
1149
|
+
},
|
|
1150
|
+
"page": {
|
|
1151
|
+
"type": "integer",
|
|
1152
|
+
"description": "Page number"
|
|
1153
|
+
}
|
|
1154
|
+
},
|
|
1155
|
+
"required": [
|
|
1156
|
+
"store_id",
|
|
1157
|
+
"product_id"
|
|
1158
|
+
]
|
|
1159
|
+
},
|
|
1160
|
+
"security": [
|
|
1161
|
+
{
|
|
1162
|
+
"apiToken": []
|
|
1163
|
+
}
|
|
1164
|
+
],
|
|
1165
|
+
"group": "ecommerce"
|
|
1166
|
+
},
|
|
1167
|
+
{
|
|
1168
|
+
"name": "ecommerce_createAProductVariantV1",
|
|
1169
|
+
"description": "Add a variant to a product along one or more option dimensions (e.g. Size, Color). Options\nmissing from the product are created automatically; provide a value for every option the\nproduct already has. Prices are integers in the smallest currency unit and default to the\nstore currency. Returns the created variant.",
|
|
1170
|
+
"method": "POST",
|
|
1171
|
+
"path": "/api/ecommerce/v1/stores/{store_id}/products/{product_id}/variants",
|
|
1172
|
+
"inputSchema": {
|
|
1173
|
+
"type": "object",
|
|
1174
|
+
"properties": {
|
|
1175
|
+
"store_id": {
|
|
1176
|
+
"type": "string",
|
|
1177
|
+
"description": "The ID of the store that owns the product."
|
|
1178
|
+
},
|
|
1179
|
+
"product_id": {
|
|
1180
|
+
"type": "string",
|
|
1181
|
+
"description": "The ID of the product to add the variant to."
|
|
1182
|
+
},
|
|
1183
|
+
"title": {
|
|
1184
|
+
"type": "string",
|
|
1185
|
+
"description": "The variant title. Defaults to the option values joined with ' / ' (e.g. 'Red / L')."
|
|
1186
|
+
},
|
|
1187
|
+
"sku": {
|
|
1188
|
+
"type": "string",
|
|
1189
|
+
"description": "The variant SKU."
|
|
1190
|
+
},
|
|
1191
|
+
"options": {
|
|
1192
|
+
"type": "array",
|
|
1193
|
+
"description": "Option name/value pairs that distinguish this variant, e.g. [{name: Size, value: M}]. Options missing from the product are created; provide a value for every option the product already has.",
|
|
1194
|
+
"items": {
|
|
1195
|
+
"type": "object",
|
|
1196
|
+
"description": "options parameter",
|
|
1197
|
+
"properties": {
|
|
1198
|
+
"name": {
|
|
1199
|
+
"type": "string",
|
|
1200
|
+
"description": "Option name, e.g. Size."
|
|
1201
|
+
},
|
|
1202
|
+
"value": {
|
|
1203
|
+
"type": "string",
|
|
1204
|
+
"description": "Option value for this variant, e.g. M."
|
|
1205
|
+
}
|
|
1206
|
+
},
|
|
1207
|
+
"required": [
|
|
1208
|
+
"name",
|
|
1209
|
+
"value"
|
|
1210
|
+
]
|
|
1211
|
+
}
|
|
1212
|
+
},
|
|
1213
|
+
"prices": {
|
|
1214
|
+
"type": "array",
|
|
1215
|
+
"description": "Prices per currency. Amounts are integers in the smallest currency unit. A free item is amount: 0.",
|
|
1216
|
+
"items": {
|
|
1217
|
+
"type": "object",
|
|
1218
|
+
"description": "prices parameter",
|
|
1219
|
+
"properties": {
|
|
1220
|
+
"amount": {
|
|
1221
|
+
"type": "integer",
|
|
1222
|
+
"description": "Price in the smallest currency unit (e.g. cents)."
|
|
1223
|
+
},
|
|
1224
|
+
"sale_amount": {
|
|
1225
|
+
"type": "integer",
|
|
1226
|
+
"description": "Optional sale price in the smallest currency unit; must be lower than amount."
|
|
1227
|
+
},
|
|
1228
|
+
"currency": {
|
|
1229
|
+
"type": "string",
|
|
1230
|
+
"description": "ISO 4217 currency code. Defaults to the store's default currency when omitted."
|
|
1231
|
+
}
|
|
1232
|
+
},
|
|
1233
|
+
"required": [
|
|
1234
|
+
"amount"
|
|
1235
|
+
]
|
|
1236
|
+
}
|
|
1237
|
+
},
|
|
1238
|
+
"inventory_quantity": {
|
|
1239
|
+
"type": "integer",
|
|
1240
|
+
"description": "Units in stock. Defaults to 0."
|
|
1241
|
+
},
|
|
1242
|
+
"manage_inventory": {
|
|
1243
|
+
"type": "boolean",
|
|
1244
|
+
"description": "Whether stock is tracked for this variant. Defaults to false."
|
|
1245
|
+
}
|
|
1246
|
+
},
|
|
1247
|
+
"required": [
|
|
1248
|
+
"store_id",
|
|
1249
|
+
"product_id",
|
|
1250
|
+
"options"
|
|
1251
|
+
]
|
|
1252
|
+
},
|
|
1253
|
+
"security": [
|
|
1254
|
+
{
|
|
1255
|
+
"apiToken": []
|
|
1256
|
+
}
|
|
1257
|
+
],
|
|
1258
|
+
"group": "ecommerce"
|
|
475
1259
|
}
|
|
476
1260
|
];
|
|
477
1261
|
export default tools;
|