UNPKG

@pipedream/printify

Version:

Pipedream Printify Components

64 lines (61 loc) 2.06 kB
import { SHIPPING_OPTIONS } from "../../common/constants.mjs"; import { parseObject } from "../../common/utils.mjs"; import printify from "../../printify.app.mjs"; export default { key: "printify-submit-order", name: "Submit Order", description: "Places an order of an existing product on Printify. [See the documentation](https://developers.printify.com/#submit-an-order)", version: "0.0.1", type: "action", props: { printify, shopId: { propDefinition: [ printify, "shopId", ], }, lineItems: { type: "string[]", label: "Line Items", description: "A list of item objects. [See the documentation](https://developers.printify.com/#submit-an-order)", }, shippingMethod: { type: "integer", label: "Shipping Method", description: "Method of shipping selected for the order.", options: SHIPPING_OPTIONS, }, isPrintifyExpress: { type: "boolean", label: "Is Printify Express", description: "Boolean value that indicates if the order is using [Printify Express](https://help.printify.com/hc/en-us/sections/9116968124689-Printify-Express-Delivery) shipping.", optional: true, }, sendShippingNotification: { type: "boolean", label: "Send Shipping Notification", description: "Indicates whether the recipient will be notified or not.", optional: true, }, addressTo: { type: "object", label: "Address To", description: "The recipient address object.", }, }, async run({ $ }) { const response = await this.printify.submitOrder({ shopId: this.shopId, data: { line_items: parseObject(this.lineItems), shipping_method: this.shippingMethod, is_printify_express: this.isPrintifyExpress, address_to: parseObject(this.addressTo), send_shipping_notification: this.sendShippingNotification, }, }); $.export("$summary", `Successfully submited order with ID: ${response.id}`); return response; }, };