create-order
Place orders on Terminal.shop by specifying product variants, shipping address, and payment card details to complete purchases.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| variants | Yes | ||
| addressID | Yes | ||
| cardID | Yes |
Implementation Reference
- server.js:783-813 (handler)The handler function for the 'create-order' tool. It sends a POST request to the Terminal.shop /order endpoint with the provided variants, addressID, and cardID, then returns the created order ID or an error message.async ({ variants, addressID, cardID }) => { try { const response = await terminalApi.post("/order", { variants, addressID, cardID, }); const orderID = response.data.data; return { content: [ { type: "text", text: `Order created successfully! Order ID: ${orderID}`, }, ], }; } catch (error) { console.error("Error creating order:", error); return { content: [ { type: "text", text: `Error creating order: ${error.message}`, }, ], isError: true, }; } },
- server.js:778-782 (schema)Zod schema defining the input parameters for the 'create-order' tool: variants (record of string to number), addressID (string), and cardID (string).{ variants: z.record(z.string(), z.number()), addressID: z.string(), cardID: z.string(), },
- server.js:776-814 (registration)Registration of the 'create-order' MCP tool on the McpServer instance, specifying the tool name, input schema, and handler function.server.tool( "create-order", { variants: z.record(z.string(), z.number()), addressID: z.string(), cardID: z.string(), }, async ({ variants, addressID, cardID }) => { try { const response = await terminalApi.post("/order", { variants, addressID, cardID, }); const orderID = response.data.data; return { content: [ { type: "text", text: `Order created successfully! Order ID: ${orderID}`, }, ], }; } catch (error) { console.error("Error creating order:", error); return { content: [ { type: "text", text: `Error creating order: ${error.message}`, }, ], isError: true, }; } }, );