with Mercury and Sinch MessageMedia?
Retrieve information about a specific account. See the documentation
The Mercury API offers a window into banking tailored for startups. With it, you can automate your financial operations, sync transaction data with your accounting software, and monitor your business financial health programmatically. Creating workflows on Pipedream with Mercury's API allows you to connect your banking data with numerous other apps to streamline payments, reconcile transactions, and keep a pulse on your company's money matters.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
mercury: {
type: "app",
app: "mercury",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://backend.mercury.co/api/v1/accounts`,
headers: {
Authorization: `Bearer ${this.mercury.$auth.api_key}`,
},
})
},
})
import axios from "axios";
import crypto from 'crypto';
export default defineComponent({
props: {
sinch_messagemedia: {
type: "app",
app: "sinch_messagemedia",
}
},
async run({ steps, $ }) {
// Date header in RFC7231 format
const date = new Date().toUTCString();
// Signing string (No Content-MD5 needed as this is a GET request with no body)
const requestLine = 'GET /v1/messaging/numbers/sender_address/addresses/ HTTP/1.1';
const signingString = `Date: ${date}\n${requestLine}`;
// Creating HMAC-SHA1 hash
const hmac = crypto.createHmac('sha1', this.sinch_messagemedia.$auth.api_secret);
hmac.update(signingString);
// Base64 encode the hash
const signature = hmac.digest('base64');
// Prepare authentication header and make the request
const authHeader = `hmac username="${this.sinch_messagemedia.$auth.api_key}", algorithm="hmac-sha1", headers="Date request-line", signature="${signature}"`;
const response = await axios({
method: 'get',
url: `${this.sinch_messagemedia.$auth.api_url}/v1/messaging/numbers/sender_address/addresses/`,
headers: {
'Date': date,
'Authorization': authHeader,
'Accept': 'application/json'
}
});
return response.data;
},
})