with EspoCRM and Sinch MessageMedia?
Emit new event upon the creation, update, deletion, or changes of any field in an entity type. See the documentation
This component creates a new task in Espo CRM. See the documentation
The EspoCRM API allows for robust interaction with your CRM data, enabling the automation of tasks, syncing data across platforms, and the enhancement of customer relationship management through customized workflows. By leveraging this API within Pipedream, you can design serverless workflows that react to CRM events, integrate with other services, and manipulate data to fit your business processes. Pipedream's no-code platform makes it straightforward to create, execute, and maintain these workflows, allowing you to focus on innovation rather than infrastructure.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
espocrm: {
type: "app",
app: "espocrm",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://${this.espocrm.$auth.url}/api/v1/CurrencyRate`,
headers: {
"X-Api-Key": `${this.espocrm.$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;
},
})