with Equifax and Odoo?
/**
* REQUIRED SCOPE: https://api.equifax.com/business/cnl-address/v1
*
* This test request uses the Equifax Address Insights API.
* Before using:
* 1. Enable the proper scope on your app
* 2. Modify the code to use your intended API endpoint
* 3. Verify your environment (sandbox, test, production)
*/
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
equifax: {
type: "app",
app: "equifax",
}
},
async run({steps, $}) {
const data = {
"context": {
"memberId": "311JA11903",
"referenceId": "1234ABCD"
},
"address": {
"line1": "4201 W KLING ST",
"line2": "",
"city": "BURBANK",
"stateProvince": "CA",
"postalCode": "91505"
}
}
return await axios($, {
method: "post",
url: `https://api.sandbox.equifax.com/business/cnl-address/v1/addressInsights`,
headers: {
Authorization: `Bearer ${this.equifax.$auth.oauth_access_token}`,
},
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();
},
})