with Bitget and Amazon SES?
Retrieve all contract symbols by product type. See the documentation
Create a HTML or a plain text email template. See the docs
Retrieve candlestick data for a contract symbol. See the documentation
Retrieve open interest for contracts. See the documentation
import { axios } from "@pipedream/platform";
import crypto from "crypto";
export default defineComponent({
props: {
bitget: {
type: "app",
app: "bitget",
}
},
async run({ steps, $ }) {
function sign(message, secretKey) {
const mac = crypto.createHmac('sha256', secretKey);
mac.update(message, 'utf8');
const digest = mac.digest();
return Buffer.from(digest).toString('base64');
}
function preHash(timestamp, method, requestPath, body) {
return timestamp.toString() + method.toUpperCase() + requestPath + body;
}
const emptyBody = "";
const timestamp = Math.round(new Date());
const requestPath = "/api/v2/mix/account/account?symbol=btcusdt&productType=USDT-FUTURES&marginCoin=usdt";
const getSignResult = sign(preHash(timestamp, "GET", requestPath, emptyBody), this.bitget.$auth.secret_key);
return await axios($, {
url: `https://api.bitget.com${requestPath}`,
method: "GET",
headers: {
"ACCESS-KEY": this.bitget.$auth.api_key,
"ACCESS-SIGN": getSignResult,
"ACCESS-PASSPHRASE": this.bitget.$auth.secret_passphrase,
"ACCESS-TIMESTAMP": timestamp,
"locale": "en-US",
"Content-Type": "application/json"
}
})
},
})
Amazon Simple Email Service (SES) is a powerful cloud-based email sending service designed to help digital marketers and application developers send marketing, notification, and transactional emails. With the SES API, you can reliably send emails at scale, manage sender reputations, view email sending statistics, and maintain a high deliverability rate. Leveraging Pipedream's capabilities, you can integrate SES seamlessly into serverless workflows, automate email responses based on triggers from other apps, and analyze the effectiveness of your email campaigns by connecting to data analytics platforms.
module.exports = defineComponent({
props: {
amazon_ses: {
type: "app",
app: "amazon_ses",
}
},
async run({steps, $}) {
const AWS = require("aws-sdk")
const { accessKeyId, secretAccessKey } = this.amazon_ses.$auth
const ses = new AWS.SES({
accessKeyId,
secretAccessKey,
region: 'us-east-1',
})
const sesParams = {
Destination: {
ToAddresses: ["<your email here>"],
},
Message: {
Body: {
Html: {
Charset: "UTF-8",
Data: "<h1>This is a test</h1>",
},
Text: {
Charset: "UTF-8",
Data: "This is a test",
}
},
Subject: {
Charset: "UTF-8",
Data: "Test email",
}
},
Source: "<your from address here",
};
this.resp = await ses.sendEmail(sesParams).promise()
},
})