UNPKG

n8n-nodes-chatwoot

Version:

This is an n8n community node. It lets you use ChatWoot in your n8n workflows.

59 lines 3.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.resourcePublic = void 0; const GenericFunctions_1 = require("../GenericFunctions"); async function resourcePublic(operation, items, i) { const baseEndpoint = '/public/api/v1/inboxes/{{inbox_identifier}}'; const inboxIdentifier = this.getNodeParameter('inboxIdentifier', i); let endpoint = baseEndpoint.replace('{{inbox_identifier}}', inboxIdentifier); let responseData; if (operation === 'publicContactCreate') { endpoint = endpoint + "/contacts"; const body = { name: this.getNodeParameter('name', i), inbox_id: this.getNodeParameter('inboxId', i, null), phone_number: this.getNodeParameter('phoneNumber', i, null), email: this.getNodeParameter('email', i, null), source_id: this.getNodeParameter('sourceId', i, null), identifier: this.getNodeParameter('contactIdentifier', i, null), }; const parCustomAttributes = this.getNodeParameter('customAttributes', i); if (parCustomAttributes && parCustomAttributes.attribute) { const data = {}; const atts = parCustomAttributes.attribute; atts.map(property => { data[property.key] = property.value; }); body.custom_attributes = data; } responseData = await GenericFunctions_1.apiRequest.call(this, 'POST', endpoint, body); } else if (operation === 'contact') { endpoint = endpoint + "/contacts/{{source_id}}"; const contactIdentifier = this.getNodeParameter('sourceId', i); endpoint = endpoint.replace('{{source_id}}', contactIdentifier); responseData = await GenericFunctions_1.apiRequest.call(this, 'GET', endpoint); } else if (operation === 'messageCreate') { const body = { content: this.getNodeParameter('content', i), }; endpoint = endpoint + "/contacts/{{source_id}}/conversations/{{conversation_id}}/messages"; const contactIdentifier = this.getNodeParameter('sourceId', i); endpoint = endpoint.replace('{{source_id}}', contactIdentifier); const conversationId = this.getNodeParameter('conversationId', i); endpoint = endpoint.replace('{{conversation_id}}', conversationId); responseData = await GenericFunctions_1.apiRequest.call(this, 'POST', endpoint, body); } else if (operation === 'messages') { endpoint = endpoint + "/contacts/{{source_id}}/conversations/{{conversationId}}/messages"; const contactIdentifier = this.getNodeParameter('sourceId', i); endpoint = endpoint.replace('{{source_id}}', contactIdentifier); const conversationId = this.getNodeParameter('conversationId', i); endpoint = endpoint.replace('{{conversationId}}', conversationId); responseData = await GenericFunctions_1.apiRequest.call(this, 'GET', endpoint); } return responseData; } exports.resourcePublic = resourcePublic; //# sourceMappingURL=PublicMethods.js.map