with Sinch MessageMedia and Anthropic (Claude)?
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 Anthropic (Claude) API offers a conversational AI that can be leveraged for a variety of applications, ranging from answering questions to generating content or providing customer support. In Pipedream, you can create powerful workflows that utilize the capabilities of Claude to automate responses, analyze text, or enhance data with AI-generated insights. Pipedream's serverless platform simplifies integrating Claude into your processes with other apps and services for seamless automation.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
anthropic: {
type: "app",
app: "anthropic",
}
},
async run({steps, $}) {
const data = {
"model": "claude-3-haiku-20240307",
"max_tokens": 300,
"messages": [
{"role": "user", "content": "Write me a haiku about Pipedream workflows."}
]
}
return await axios($, {
method: "post",
url: `https://api.anthropic.com/v1/messages`,
headers: {
"x-api-key": `${this.anthropic.$auth.api_key}`,
"anthropic-version": `2023-06-01`,
},
data,
})
},
})