Integrated enterprise application platform for ERP and CRM.
Emit new event each time the specified coupon event(s) occur
Emit new event each time the specified customer event(s) occur
Emit new event each time the specified order event(s) occur
Emit new event each time the specified product event(s) occur
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();
},
})
WooCommerce is a customizable, open-source eCommerce platform built on WordPress. With the WooCommerce API, you can tap into the heart of your eCommerce store to read, create, update, and delete products, orders, and customers. On Pipedream, you can harness this API to automate routine tasks, sync data across platforms, and enhance customer experiences. By connecting WooCommerce to a wide array of apps and services, you can streamline operations, trigger personalized marketing, and analyze your sales data with greater ease.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
woocommerce: {
type: "app",
app: "woocommerce",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://${this.woocommerce.$auth.url}/wp-json/wc/v2/orders`,
auth: {
username: `${this.woocommerce.$auth.key}`,
password: `${this.woocommerce.$auth.secret}`,
},
})
},
})