with Sinch MessageMedia and Cisco Meraki?
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;
},
})
The Cisco Meraki API on Pipedream allows developers to interact with Meraki's cloud-managed network infrastructure. Through the API, you can automate tasks, gather network insights, and control various aspects of your Meraki environment like network settings, clients, devices, and more. This seamless integration can elevate your network management to be more efficient and responsive to real-time data and events.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
cisco_meraki: {
type: "app",
app: "cisco_meraki",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.meraki.com/api/v1/organizations`,
headers: {
"X-Cisco-Meraki-API-Key": `${this.cisco_meraki.$auth.api_key}`,
},
})
},
})