with OKX Wallet and Shopify?
Emit new event whenever a collection is updated, including whenever products are added or removed from a collection.
Emit new event for each draft order updated in a store.
Emit new event when an inventory level is updated.
import crypto from "crypto";
import { axios } from "@pipedream/platform";
export default defineComponent({
props: {
okx_wallet: {
type: "app",
app: "okx_wallet",
}
},
async run({ steps, $ }) {
// Pull credentials from $auth
const apiKey = this.okx_wallet.$auth.api_key;
const secretKey = this.okx_wallet.$auth.secret_key;
const passphrase = this.okx_wallet.$auth.passphrase;
// Hardcoded request parameters
const method = "GET";
const requestPath = "/api/v5/account/balance";
const body = ""; // GET request, no body
// Function to generate signed headers
const createSignedHeaders = ({ method, requestPath, body }) => {
const timestamp = new Date().toISOString(); // UTC ISO timestamp with ms
// Pre-hash string
const prehash = timestamp + method.toUpperCase() + requestPath + body;
// HMAC SHA256 signature, Base64 encoded
const hmac = crypto.createHmac("sha256", secretKey);
hmac.update(prehash);
const signature = hmac.digest("base64");
return {
"OK-ACCESS-KEY": apiKey,
"OK-ACCESS-SIGN": signature,
"OK-ACCESS-TIMESTAMP": timestamp,
"OK-ACCESS-PASSPHRASE": passphrase,
"Content-Type": "application/json",
};
};
// Generate headers
const headers = createSignedHeaders({ method, requestPath, body });
// Full URL
const url = `${this.okx_wallet.$auth.api_url}${requestPath}`;
// Make request and return reponse to next step
return await axios($, {
method,
url,
headers,
data: body || undefined,
});
},
})
The Shopify Admin REST & GraphQL API unleashes a myriad of possibilities to automate and enhance online store operations. It provides programmatic access to Shopify functionalities, allowing users to manage products, customers, orders, and more. Leveraging the Shopify Admin API within Pipedream, developers can create custom workflows that automate repetitive tasks, sync data across platforms, and respond dynamically to events in Shopify.
This integration can be used as a custom app on your store, or for automating actions on behalf of merchants through your Shopify app.
Looking for integrating into the Shopify Partner API for your apps, themes or referrals? Check out our Shopify Partner API integration
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
shopify_developer_app: {
type: "app",
app: "shopify_developer_app",
}
},
async run({steps, $}) {
const data = {
"query": `{
shop {
id
name
email
}
}`,
}
return await axios($, {
method: "post",
url: `https://${this.shopify_developer_app.$auth.shop_id}.myshopify.com/admin/api/2024-04/graphql.json`,
headers: {
"X-Shopify-Access-Token": `${this.shopify_developer_app.$auth.access_token}`,
"Content-Type": `application/json`,
},
data,
})
},
})