with bexio and RabbitMQ?
The bexio API offers a gateway to streamline administrative tasks linked with small business management. With this API, you can automate processes, sync data across platforms, and enhance efficiency by reducing manual input. Pipedream, with its serverless execution environment, lets you create complex workflows around bexio. You can automate invoicing, manage contacts, monitor projects, and integrate with other services like CRMs, email, and payment gateways.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
bexio: {
type: "app",
app: "bexio",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://office.bexio.com/api2.php/${this.bexio.$auth.oauth_uid}/company_profile`,
headers: {
Authorization: `Bearer ${this.bexio.$auth.oauth_access_token}`,
"Accept": `application/json`,
},
})
},
})
import amqp from "amqplib";
export default defineComponent({
props: {
rabbitmq: {
type: "app",
app: "rabbitmq",
}
},
async run({ steps, $ }) {
const url = `amqp://${this.rabbitmq.$auth.username}:${this.rabbitmq.$auth.password}@${this.rabbitmq.$auth.host}:${this.rabbitmq.$auth.port}`;
const connection = await amqp.connect(url);
const channel = await connection.createChannel();
const queue = 'Sample Queue';
await channel.assertQueue(queue, { durable: true });
const message = 'Welcome RabbitMQ + Pipedream users! ' + new Date().toISOString()
channel.sendToQueue(queue, Buffer.from(message), { persistent: true });
console.log(`Sent: ${message}`);
const queueInfo = await channel.checkQueue(queue);
return queueInfo;
},
})