with OKX Wallet and ServiceNow?
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 ServiceNow API lets developers access and manipulate records, manage workflows, and integrate with other services on its IT service management platform. These capabilities support automating tasks, syncing data across platforms, and boosting operational efficiencies.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
servicenow: {
type: "app",
app: "servicenow",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://${this.servicenow.$auth.instance_name}.service-now.com/api/now/table/incident`,
headers: {
Authorization: `Bearer ${this.servicenow.$auth.oauth_access_token}`,
},
})
},
})