with OKX Wallet and Zendesk?
Emit new event when a ticket is added to the specified view
Emit new event when a ticket comment has been added
Emit new event when a ticket has changed to closed status
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 Zendesk API enables seamless integration of Zendesk's customer service platform with your existing business processes and third-party applications. By leveraging this API with Pipedream, you can automate ticket tracking, sync customer data, escalate issues, and streamline communication across multiple channels. This can significantly increase efficiency, accelerate response times, and enhance the overall customer experience. Automations can range from simple notifications to complex workflows involving data transformation and multi-step actions across various services.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
zendesk: {
type: "app",
app: "zendesk",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://${this.zendesk.$auth.subdomain}.zendesk.com/api/v2/users/me/`,
headers: {
Authorization: `Bearer ${this.zendesk.$auth.oauth_access_token}`,
},
})
},
})