n8n-nodes-evolution-api
Version:
A Evolution API é um hub de canais com foco no WhatsApp
108 lines • 4.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.setChatwoot = setChatwoot;
const n8n_workflow_1 = require("n8n-workflow");
const evolutionRequest_1 = require("../evolutionRequest");
async function setChatwoot(ef) {
try {
const instanceName = ef.getNodeParameter('instanceName', 0);
const resourceForChatwoot = ef.getNodeParameter('resourceForChatwoot', 0);
let options;
if (resourceForChatwoot === 'setChatwoot') {
const accountId = ef.getNodeParameter('chatwootAccountId', 0);
const token = ef.getNodeParameter('chatwootToken', 0);
const url = ef.getNodeParameter('chatwootUrl', 0);
const signMsg = ef.getNodeParameter('chatwootSignMsg', 0);
const reopenConversation = ef.getNodeParameter('chatwootReopenConversation', 0);
const conversationPending = ef.getNodeParameter('chatwootConversationPending', 0);
const nameInbox = ef.getNodeParameter('chatwootNameInbox', 0);
const mergeBrazilContacts = ef.getNodeParameter('chatwootMergeBrazilContacts', 0);
const importContacts = ef.getNodeParameter('chatwootImportContacts', 0);
const importMessages = ef.getNodeParameter('chatwootImportMessages', 0);
const daysLimitImportMessages = ef.getNodeParameter('chatwootDaysLimitImportMessages', 0);
const autoCreate = ef.getNodeParameter('chatwootAutoCreate', 0);
const organization = ef.getNodeParameter('chatwootOrganization', 0);
const logo = ef.getNodeParameter('chatwootLogo', 0);
const body = {
enabled: true,
accountId,
token,
url,
signMsg,
reopenConversation,
conversationPending,
nameInbox,
mergeBrazilContacts,
importContacts,
importMessages,
daysLimitImportMessages,
signDelimiter: '\n',
autoCreate,
organization,
logo,
ignoreJids: ['']
};
options = {
method: 'POST',
uri: `/chatwoot/set/${instanceName}`,
body,
json: true,
};
}
else if (resourceForChatwoot === 'findChatwoot') {
options = {
method: 'GET',
uri: `/chatwoot/find/${instanceName}`,
json: true,
};
}
else {
const errorData = {
success: false,
error: {
message: 'Operação do Chatwoot não reconhecida',
details: 'A operação solicitada não é válida para o recurso do Chatwoot',
code: 'INVALID_OPERATION',
timestamp: new Date().toISOString(),
},
};
throw new n8n_workflow_1.NodeOperationError(ef.getNode(), errorData.error.message, {
message: errorData.error.message,
description: errorData.error.details,
});
}
const response = await (0, evolutionRequest_1.evolutionRequest)(ef, options);
return {
json: {
success: true,
data: response,
},
};
}
catch (error) {
const errorData = {
success: false,
error: {
message: error.message.includes('Could not get parameter')
? 'Parâmetros inválidos ou ausentes'
: 'Erro ao configurar Chatwoot',
details: error.message.includes('Could not get parameter')
? 'Verifique se todos os campos obrigatórios foram preenchidos corretamente'
: error.message,
code: error.code || 'UNKNOWN_ERROR',
timestamp: new Date().toISOString(),
},
};
if (!ef.continueOnFail()) {
throw new n8n_workflow_1.NodeOperationError(ef.getNode(), error.message, {
message: errorData.error.message,
description: errorData.error.details,
});
}
return {
json: errorData,
error: errorData,
};
}
}
//# sourceMappingURL=setChatwoot.js.map