with Shopify (OAuth) and SFTP (password-based auth)?
Emit new events when files get created, changed or deleted from a remote directory. See the docs
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.
Adds a product or products to a custom collection. See the documentation
Uploads a file or string in UTF-8 format to the SFTP server. See the documentation
Execute bulk mutations by uploading a JSONL file containing mutation variables. See the documentation
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,
})
},
})
SFTP on Pipedream enables secure file management on remote servers directly from your workflows. Utilize this app to automate file uploads, downloads, and synchronization tasks between your systems and SFTP servers. Implement robust data pipelines or deploy content to web servers without manual intervention, all while maintaining a high level of security with password-based authentication.
module.exports = defineComponent({
props: {
sftp_password_based_auth: {
type: "app",
app: "sftp_password_based_auth",
}
},
async run({steps, $}) {
const Client = require('ssh2-sftp-client');
const {
host,
username,
password,
} = this.sftp_password_based_auth.$auth
const config = {
host,
username,
password,
}
const sftp = new Client()
await sftp.connect(config)
this.cwd = await sftp.cwd();
return await sftp.end();
},
})