with TinyPNG and Shopify (OAuth)?
Emit new event whenever a collection is updated, including whenever products are added or removed from a collection.
Emit new customer data requests for data via a GDPR request.
Compress a WebP, JPEG, or PNG image using the TinyPNG API. See the documentation
Adds a product or products to a custom collection. See the documentation
Convert your images to your desired image type using TinyPNG. See the documentation
Create resized versions of your uploaded image. See the documentation
The TinyPNG API lets you compress and optimize image files efficiently. With this API, you can shrink the size of PNG and JPEG files without a noticeable loss in quality, making it a crucial tool for improving website load times and saving bandwidth. On Pipedream, you can automate image optimization workflows, harnessing the power of TinyPNG to process batches of images, integrate with CMS platforms, trigger optimizations from various events, and more.
module.exports = defineComponent({
props: {
tinypng: {
type: "app",
app: "tinypng",
}
},
async run({steps, $}) {
const results = await require("@pipedream/platform").axios($, {
method: "post",
url: `https://api.tinify.com/shrink`,
auth: {
username: `api:${this.tinypng.$auth.api_key}`,
password: ``,
},
data: {
"source": {
"url": "https://tinypng.com/images/panda-happy.png"
}
},
})
const retVal = results.output
retVal.original_image_metadata = results.input
return retVal
},
})
Shopify provides a powerful API that enables developers to build a wide range
of applications and tools for merchants. Some examples of what you can build
using the Shopify API include:
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
shopify: {
type: "app",
app: "shopify",
}
},
async run({steps, $}) {
const data = {
"query": `{
shop {
id
name
email
}
}`,
}
return await axios($, {
method: "post",
url: `https://${this.shopify.$auth.shop_id}.myshopify.com/admin/api/2024-04/graphql.json`,
headers: {
"X-Shopify-Access-Token": `${this.shopify.$auth.oauth_access_token}`,
"Content-Type": `application/json`,
},
data,
})
},
})