NODE 16X - Empresa automática (emails gratuitos)
unknown
plain_text
18 days ago
3.2 kB
2
Indexable
Never
const hubspot = require("@hubspot/api-client"); exports.main = (event, callback) => { const hubspotClient = new hubspot.Client({ accessToken: "CODIGO API", }); hubspotClient.crm.contacts.basicApi .getById(event.object.objectId, ["company"]) // Alterado para "company" .then((results) => { const companyName = results.body.properties.company; if (!companyName) { console.error("Nome da empresa está vazio ou nulo."); callback({ error: "Nome da empresa não fornecido." }); return; } const searchCriteria = { filterGroups: [ { filters: [ { propertyName: "name", operator: "EQ", value: companyName, }, ], }, ], properties: ["name"], limit: 1, }; hubspotClient.crm.companies.searchApi .doSearch(searchCriteria) .then((searchCompanyResponse) => { if (searchCompanyResponse.body.total === 0) { // Nenhuma empresa encontrada, cria uma nova const companyObj = { properties: { name: companyName, }, }; hubspotClient.crm.companies.basicApi .create(companyObj) .then((companyCreateResponse) => { return hubspotClient.crm.companies.associationsApi.create( companyCreateResponse.body.id, "contacts", event.object.objectId, "company_to_contact" ); }) .then(() => callback({ outputFields: { message: "Empresa criada e associada com sucesso.", }, }) ) .catch((err) => { console.error("Erro ao criar ou associar empresa:", err); callback({ error: "Falha ao criar ou associar empresa." }); }); } else { const companyId = searchCompanyResponse.body.results[0].id; hubspotClient.crm.companies.associationsApi .create( companyId, "contacts", event.object.objectId, "company_to_contact" ) .then(() => callback({ outputFields: { message: "Associação criada com sucesso." }, }) ) .catch((err) => { console.error("Erro ao associar empresa existente:", err); callback({ error: "Falha ao associar com empresa existente." }); }); } }) .catch((err) => { console.error("Erro na pesquisa de empresa:", err); callback({ error: "Falha na pesquisa de empresa." }); }); }) .catch((err) => { console.error("Erro ao recuperar contato:", err); callback({ error: "Falha ao recuperar informações do contato." }); }); };
Leave a Comment