import { axios } from "@pipedream/platform";
import crypto from "crypto";
export default defineComponent({
props: {
unleashed_software: {
type: "app",
app: "unleashed_software",
}
},
async run({ steps, $ }) {
const baseUrl = "https://api.unleashedsoftware.com";
const resource = "Accounts";
// The queryString is used in calculating signature, add your query string parameters
// e.g. for the Customers resource customerCode=FRANCK&includeObsolete=true
// or just pass an empty string
const queryString = "";
const uri = `${baseUrl}/${resource}${queryString ? `?${queryString}` : ""}`
// Generate HMAC-SHA256 signature
const signature = crypto
.createHmac("sha256", this.unleashed_software.$auth.api_key)
.update(queryString)
.digest("base64")
// Make the request
return await axios($, {
method: "GET",
url: uri,
headers: {
"api-auth-id": this.unleashed_software.$auth.api_id,
"api-auth-signature": signature,
"Accept": "application/json",
"Content-Type": "application/json; charset=utf-8",
},
});
},
})
Unleashed Software uses API keys for authentication. When you connect your Unleashed Software account, Pipedream securely stores the keys so you can easily authenticate to Unleashed Software APIs in both code and no-code steps.