with Relink - URL Shortener and Sinch MessageMedia?
Relink - URL Shortener API offers a straightforward way to shorten URLs, track clicks, and analyze the performance of your links. It's handy for crafting more manageable links for social media, improving email marketing click-through rates, or keeping tabs on how your audience engages with your content. Using Pipedream, you can seamlessly integrate Relink with other services, creating automated workflows that save time and provide valuable insights.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
relink_url_shortener: {
type: "app",
app: "relink_url_shortener",
}
},
async run({steps, $}) {
const data = {
"url": `https://yoururl.com`,
}
return await axios($, {
method: "post",
url: `https://rel.ink/api/links/`,
data,
})
},
})
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;
},
})