UNPKG

@cognigy/rest-api-client

Version:

Cognigy REST-Client

128 lines 4.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TRANSFER_VOICE = void 0; /** Custom Modules */ const createNodeDescriptor_1 = require("../../../createNodeDescriptor"); /** Helper Modules */ const design_1 = require("../utils/design"); const transfer_mapper_1 = require("../mappers/transfer.mapper"); const helper_1 = require("../../voicegateway2/utils/helper"); const logFullConfigToDebugMode_1 = require("../../../../helper/logFullConfigToDebugMode"); exports.TRANSFER_VOICE = (0, createNodeDescriptor_1.createNodeDescriptor)({ type: "transfer", defaultLabel: "Transfer", tags: [""], preview: { key: "referTo", type: "text", }, appearance: { color: design_1.nodeColor, }, fields: [ { key: "transferReason", label: "UI__NODE_EDITOR__TRANSFER_REASON__FIELDS__TRANSFER_REASON__LABEL", type: "cognigyText", params: { required: true, }, description: "UI__NODE_EDITOR__TRANSFER_REASON__FIELDS__TRANSFER_REASON__DESCRIPTION", defaultValue: "Bot initiated transfer.", }, { key: "referTo", label: "UI__NODE_EDITOR__TRANSFER_REASON__FIELDS__REFER_TO__LABEL", type: "cognigyText", params: { required: true, }, description: "UI__NODE_EDITOR__TRANSFER_REASON__FIELDS__REFER_TO__DESCRIPTION", defaultValue: "+49123456789", }, { key: "referredBy", label: "UI__NODE_EDITOR__TRANSFER_REASON__FIELDS__FIELDS__REFERRED_BY__LABEL", type: "cognigyText", description: "UI__NODE_EDITOR__TRANSFER_REASON__FIELDSFIELDS__REFERRED_BY__DESCRIPTION", defaultValue: "" }, { key: "useTransferSipHeaders", label: "UI__NODE_EDITOR__TRANSFER_REASON__FIELDS__USE_TRANSFER_SIP_HEADERS__LABEL", type: "toggle", description: "UI__NODE_EDITOR__TRANSFER_REASON__FIELDS__USE_TRANSFER_SIP_HEADERS__DESCRIPTION", defaultValue: false, }, { key: "transferSipHeaders", label: "UI__NODE_EDITOR__TRANSFER_REASON__FIELDS__TRANSFER_SIP_HEADERS__LABEL", type: "json", description: "UI__NODE_EDITOR__TRANSFER_REASON__FIELDS__TRANSFER_SIP_HEADERS__DESCRIPTION", defaultValue: { "X-Custom-Header": "YourValue", }, condition: { key: "useTransferSipHeaders", value: true, }, }, ], sections: [ { key: "advanced", label: "UI__NODE_EDITOR__TRANSFER_REASON__SECTIONS__ADVANCED__LABEL", defaultCollapsed: true, fields: ["referredBy", "useTransferSipHeaders", "transferSipHeaders"], }, ], form: [ { type: "field", key: "transferReason", }, { type: "field", key: "referTo", }, { type: "section", key: "advanced", }, ], summary: "UI__NODE_EDITOR__TRANSFER__SUMMARY", function: async ({ cognigy, config }) => { const { api, input } = cognigy; const { referTo, useTransferSipHeaders, transferSipHeaders, transferReason, referredBy } = config; const { endpointType } = input; try { if (input.channel === "adminconsole") { await api.say("Transferring a call is not supported in the Interaction Panel.", null); return; } const transferParams = { transferReason, transferTarget: referTo, referredBy, useTransferSipHeaders: useTransferSipHeaders, transferSipHeaders: transferSipHeaders, }; if (useTransferSipHeaders && transferSipHeaders && !(0, helper_1.isValidJSON)(transferSipHeaders)) { delete transferParams.transferSipHeaders; transferParams.useTransferSipHeaders = false; api.log("error", "Invalid JSON in Transfer SIP Headers"); } const payload = transfer_mapper_1.transfer.handleInput(endpointType, transferParams, true); await api.say(null, { _cognigy: payload, }); (0, logFullConfigToDebugMode_1.logFullConfigToDebugMode)(cognigy, config); } catch (error) { throw new Error(`Error on Transfer Node type: refer. Error message: ${error.message}`); } }, }); //# sourceMappingURL=transfer.js.map