with Odoo and Exact?
Emit new event each time a new account is created. See the docs
Emit new event each time a new contact is created. See the docs
import xmlrpc from 'xmlrpc';
export default defineComponent({
props: {
odoo: {
type: "app",
app: "odoo",
}
},
async run({ steps, $ }) {
const url = this.odoo.$auth.server_url;
const db = this.odoo.$auth.db;
const username = this.odoo.$auth.username;
const password = this.odoo.$auth.password;
// Create clients for common and object endpoints
const common = xmlrpc.createSecureClient(`${url}/xmlrpc/2/common`);
const models = xmlrpc.createSecureClient(`${url}/xmlrpc/2/object`);
// Using async/await with promises
async function getFields() {
try {
// Authenticate and get uid
const uid = await new Promise((resolve, reject) => {
common.methodCall('authenticate', [db, username, password, {}], (error, value) => {
if (error) reject(error);
resolve(value);
});
});
// Get fields
const results = await new Promise((resolve, reject) => {
models.methodCall('execute_kw', [
db,
uid,
password,
'res.partner',
'fields_get',
[],
{ 'attributes': ['string', 'help', 'type'] }
], (error, value) => {
if (error) reject(error);
resolve(value);
});
});
return results;
} catch (error) {
throw new Error(error);
}
}
return await getFields();
},
})
The Exact API provides a suite of endpoints for interacting with Exact's cloud-based financial software, which includes tools for accounting, CRM, and ERP functionalities. By leveraging this API on Pipedream, you can automate data flows across various business functions, sync financial records, manage customer relationships, and streamline operational processes. Pipedream's serverless execution model allows for crafting intricate workflows that respond in real-time to events, schedule operations, and connect with countless other apps to extend the functionality of Exact's ecosystem.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
exact: {
type: "app",
app: "exact",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://start.exactonline.${this.exact.$auth.region}/api/v1/current/Me?$select=UserID,Email`,
headers: {
Authorization: `Bearer ${this.exact.$auth.oauth_access_token}`,
"Content-Type": `application/json`,
},
params: {
"$select": `UserID,Email`,
},
})
},
})