import crypto from "crypto";
import { axios } from "@pipedream/platform";
// Helper function to generate HMAC SHA256 signature
function generateSignature(secretKey, payload) {
return crypto
.createHmac("sha256", secretKey)
.update(payload)
.digest("hex");
}
export default defineComponent({
props: {
_3commas: {
type: "app",
app: "_3commas",
}
},
async run({ steps, $ }) {
const path = "/public/api/ver1/accounts"; //Set your own URL Path and QueryString
const queryString = "";
const payload = queryString && queryString.trim() !== ""
? `${path}?${queryString}`
: path;
// Generate signature
const signature = generateSignature(this._3commas.$auth.secret_key, payload);
// Build headers
const headers = {
Apikey: this._3commas.$auth.api_key,
Signature: signature
};
// Make request
const url = `https://api.3commas.io${payload}`;
return await axios($, {
method: "GET",
url,
headers,
});
},
})
3Commas uses API keys for authentication. When you connect your 3Commas account, Pipedream securely stores the keys so you can easily authenticate to 3Commas APIs in both code and no-code steps.