Add Tiny ERP order metadata ingestion
This commit is contained in:
@@ -8,7 +8,13 @@ const formatOrderRow = (row) => ({
|
||||
Valor_Unitario: parseFloat(row.valor_unitario),
|
||||
Recebido_Em: row.created_at,
|
||||
ID_Pedido: row.pedido_id,
|
||||
Fone_Cliente: row.cliente_fone
|
||||
Fone_Cliente: row.cliente_fone,
|
||||
cliente_nome_fantasia: row.cliente_nome_fantasia || '',
|
||||
id_vendedor: row.id_vendedor || '',
|
||||
nome_vendedor: row.nome_vendedor || '',
|
||||
marketplace: row.marketplace || '',
|
||||
canal_venda: row.canal_venda || '',
|
||||
numero_ecommerce: row.numero_ecommerce || ''
|
||||
});
|
||||
|
||||
const normalizeOrderDate = (dateValue) => {
|
||||
@@ -35,6 +41,17 @@ const normalizeOrderDate = (dateValue) => {
|
||||
return date.toISOString().slice(0, 10);
|
||||
};
|
||||
|
||||
const pickFirstValue = (item, fieldNames) => {
|
||||
for (const fieldName of fieldNames) {
|
||||
const value = item[fieldName];
|
||||
if (value !== undefined && value !== null && value !== '') {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
return '';
|
||||
};
|
||||
|
||||
const normalizeOrderPayload = (item) => {
|
||||
const fallbackId = `${item.Nome_Cliente}_${item.Data_Pedido}_${item.Valor_Pedido}`;
|
||||
const orderId = item.id || item.ID_Pedido || (item.json && item.json.body && item.json.body.id) || fallbackId;
|
||||
@@ -51,7 +68,13 @@ const normalizeOrderPayload = (item) => {
|
||||
parseInt(item.Quantidade, 10) || 0,
|
||||
parseFloat(item.Valor_Unitario) || 0,
|
||||
String(orderId),
|
||||
String(fone)
|
||||
String(fone),
|
||||
String(pickFirstValue(item, ['nome_fantasia', 'Nome_Fantasia', 'Cliente_Nome_Fantasia', 'cliente_nome_fantasia'])),
|
||||
String(pickFirstValue(item, ['id_vendedor', 'ID_Vendedor'])),
|
||||
String(pickFirstValue(item, ['nome_vendedor', 'Nome_Vendedor'])),
|
||||
String(pickFirstValue(item, ['marketplace', 'Marketplace', 'nome_ecommerce', 'Nome_Ecommerce'])),
|
||||
String(pickFirstValue(item, ['canal_venda', 'Canal_Venda'])),
|
||||
String(pickFirstValue(item, ['numero_ecommerce', 'Numero_Ecommerce']))
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user