with U301 and Sinch MessageMedia?
The U301 API provides a robust platform for URL management, including features like URL shortening, analytics, and secure redirection. This API is extremely useful for businesses or developers who need to manage and analyze web traffic through compact, trackable URLs. Using Pipedream, you can integrate the U301 API into automated workflows that enhance marketing efforts, streamline link management, and provide detailed insights into click-through behaviors.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
u301: {
type: "app",
app: "u301",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.u301.com/v2/shorten`,
headers: {
Authorization: `Bearer ${this.u301.$auth.api_key}`,
},
params: {
url: `https://pipedream.com?via=go`,
title: `Pipedream - Connect APIs, AI, databases and more.`,
},
})
},
})
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;
},
})