with Odoo and RD Station CRM?
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();
},
})
RD Station CRM API offers a suite of powerful tools for managing customer relationships and sales pipelines. With this API, you can automate the syncing of lead information, update records, and manage sales activities. By leveraging Pipedream's capabilities, you can create intricate workflows that react to events in RD Station CRM, synchronize data across multiple platforms, and trigger actions that streamline your sales and marketing processes.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
rd_station_crm: {
type: "app",
app: "rd_station_crm",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://plugcrm.net/api/v1/token/check`,
params: {
token: `${this.rd_station_crm.$auth.api_token}`,
},
})
},
})