@poli-digital/n8n-nodes-poli
Version:
Nó para interagir com a API da Poli
86 lines • 3.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SendMessageByPhoneNumber = void 0;
const n8n_workflow_1 = require("n8n-workflow");
const transport_1 = require("./transport");
const parameterUtils_1 = require("./utils/parameterUtils");
class SendMessageByPhoneNumber {
constructor() {
this.description = {
displayName: 'Send Message By Phone Number',
name: 'sendMessageByPhoneNumber',
icon: 'file:poli.svg',
group: ['output'],
version: 1,
description: 'Send a message to a phone number',
defaults: {
name: 'Send Message By Phone Number',
},
inputs: ['main'],
outputs: ['main'],
credentials: [
{
name: 'poliApi',
required: true,
},
],
properties: [
{
displayName: 'Account UUID',
name: 'accountIdMessage',
type: 'string',
default: '',
required: true,
},
{
displayName: 'Phone Number',
name: 'phoneNumber',
type: 'string',
default: '',
required: true,
},
{
displayName: 'Account Channel UUID',
name: 'accountChannelUuid',
type: 'string',
default: '',
required: true,
},
{
displayName: 'Text',
name: 'text',
type: 'string',
default: 'Teste de mensagem',
},
],
};
}
async execute() {
const items = this.getInputData();
const returnData = [];
for (let i = 0; i < items.length; i++) {
try {
const accountId = (0, parameterUtils_1.getParameterSafe)(this, 'accountIdMessage', i, '', true);
const phoneNumber = (0, parameterUtils_1.getParameterSafe)(this, 'phoneNumber', i, '', true);
const accountChannelUuid = (0, parameterUtils_1.getParameterSafe)(this, 'accountChannelUuid', i, '', true);
const text = (0, parameterUtils_1.getParameterSafe)(this, 'text', i, 'Teste de mensagem');
const body = {
provider: 'WHATSAPP',
account_channel_uuid: accountChannelUuid,
type: 'TEXT',
version: 'v3',
components: { body: { text } },
};
const endpoint = `/accounts/${accountId}/contacts/${encodeURIComponent((phoneNumber === null || phoneNumber === void 0 ? void 0 : phoneNumber.toString()) || '')}/messages?include=contact`;
const responseData = await transport_1.apiRequest.call(this, 'POST', endpoint, body);
returnData.push({ json: responseData });
}
catch (error) {
throw new n8n_workflow_1.NodeApiError(this.getNode(), error);
}
}
return [returnData];
}
}
exports.SendMessageByPhoneNumber = SendMessageByPhoneNumber;
//# sourceMappingURL=SendMessageByPhoneNumber.operation.js.map