with Printful and Transloadit?
Emit new event when a new order is created in your Printful account.
Emit new event when a new product is added to your Printful store catalog.
Emit new event when a Transloadit assembly finishes processing. See the documentation
Emit new event when the status of an existing Printful order is updated.
Emit new event when a failed occurs during assembly processing. See the documentation
Fetches available shipping rates for a given destination. See the documentation
Cancel a running assembly by its assembly ID. Useful for aborting processing jobs that are no longer needed. See the documentation
Creates a new order in your Printful account. See the documentaion
Create a new assembly to process files using a specified template and steps. See the documentation
Retrieve the current status and results of an existing assembly. See the documentation
The Printful API unlocks the ability to automate custom print-on-demand operations within Pipedream's serverless platform. With this API, you can streamline the process of managing products, submitting orders, and syncing inventory. Building workflows around the Printful API on Pipedream can significantly reduce manual intervention, connect your e-commerce data with other services, and enhance customer experiences through timely fulfillment and updates.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
printful: {
type: "app",
app: "printful",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.printful.com/products`,
headers: {
Authorization: `Bearer ${this.printful.$auth.api_key}`,
},
})
},
})
import Transloadit from 'transloadit';
export default defineComponent({
props: {
transloadit: {
type: "app",
app: "transloadit",
}
},
async run({ steps, $ }) {
const transloadit = new Transloadit({
authKey: this.transloadit.$auth.auth_key,
authSecret: this.transloadit.$auth.auth_secret
})
const options = {
params: {
steps: {
"encoded": {
"use": ":original",
"robot": "/video/encode",
"preset": "iphone-high"
},
"thumbed": {
"use": "encoded",
"robot": "/video/thumbs",
"count": 8
}
}
},
waitForCompletion: true,
}
return await transloadit.createAssembly(options);
},
})