with Sinch MessageMedia and ClickSend SMS?
Emit new event for each new incoming SMS message received. See the documentation
Emit new event when a new voice message is received or sent. See the documentation
Creates a new contact in a specific list. See the documentation
Sends a new MMS to one or multiple recipients. See the documentation
Sends a new SMS to one or several recipients. See the documentation
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 ClickSend SMS API unlocks the potential to integrate robust messaging capabilities into your workflows. With Pipedream, you can not only send SMS messages programmatically but also automate notifications, streamline communication based on events, and much more. Whether you're confirming orders, alerting staff, or engaging with customers, ClickSend and Pipedream make these tasks seamless.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
clicksend: {
type: "app",
app: "clicksend",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://rest.clicksend.com/v3/account`,
auth: {
username: `${this.clicksend.$auth.username}`,
password: `${this.clicksend.$auth.api_key}`,
},
})
},
})