with BaseLinker and Odoo?
Emit new event when a new order is created in BaseLinker. See the Documentation
Emit new event when an order status changes in BaseLinker. See the Documentation
It allows you to add a new product to BaseLinker catalog. Entering the product with the ID updates previously saved product. See the Documentation
It allows adding a new order to the BaseLinker order manager. See the Documentation
It allows you to remove the product from BaseLinker catalog. See the Documentation
It allows you to change order status. See the Documentation
The BaseLinker API offers access to a suite of e-commerce management tools, enabling seamless integration of orders, products, and inventory across various online sales channels. With Pipedream's ability to connect APIs, you can automate tasks between BaseLinker and other apps to streamline your e-commerce operations, from syncing inventory to processing orders.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
baselinker: {
type: "app",
app: "baselinker",
}
},
async run({steps, $}) {
const data = {
"method": `getInventories`,
}
return await axios($, {
method: "post",
url: `https://api.baselinker.com/connector.php`,
headers: {
"X-BLToken": `${this.baselinker.$auth.api_key}`,
"Content-Type": `application/x-www-form-urlencoded`,
},
data,
})
},
})
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();
},
})