with Zoho Expense and Bitget?
Activate when an expense report approval takes place. See the Documentation
Activate when an expense report submission takes place. See the Documentation
Activate after approval of a travel request. See the Documentation
Generate a new expense entry in the Zoho Expense system. See the Documentation
Retrieve all contract symbols by product type. See the documentation
Retrieve candlestick data for a contract symbol. See the documentation
Retrieve open interest for contracts. See the documentation
Disapprove a pending travel request in the system. See the Documentation
The Zoho Expense API allows for streamlined management of expense reporting and tracking. With Pipedream, you can automate various tasks like submitting expenses, approving reports, or syncing expense data with other accounting tools. Pipedream's serverless platform enables you to create workflows that react to new expense submissions, scheduled report generation, and much more, without the hassle of managing infrastructure.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
zoho_expense: {
type: "app",
app: "zoho_expense",
}
},
async run({steps, $}) {
return await axios($, {
url: `${this.zoho_expense.$auth.api_domain}/expense/v1/organizations`,
headers: {
"Authorization": `Zoho-oauthtoken ${this.zoho_expense.$auth.oauth_access_token}`,
},
})
},
})
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"
}
})
},
})