@tuanltntu/n8n-nodes-bitrix24
Version:
Comprehensive n8n community node for Bitrix24 API integration with CRM, Tasks, Chat, Telephony, and more
1,326 lines • 39.1 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.openLinesFields = exports.openLinesOperations = void 0;
// ============= OPERATION FIELD =============
const operationField = {
displayName: "Operation",
name: "operation",
type: "options",
noDataExpression: true,
displayOptions: {
show: {
resource: ["openLines"],
},
},
options: [
// Config Operations
{
name: "Add Config",
value: "configAdd",
description: "Adds a new open line (imopenlines.config.add)",
action: "Add open line configuration",
},
{
name: "Delete Config",
value: "configDelete",
description: "Deletes an open line (imopenlines.config.delete)",
action: "Delete open line configuration",
},
{
name: "Get Config",
value: "configGet",
description: "Retrieves an open line by Id (imopenlines.config.get)",
action: "Get open line configuration",
},
{
name: "List Configs",
value: "configList",
description: "Retrieves a list of open lines (imopenlines.config.list.get)",
action: "List open line configurations",
},
{
name: "Get Config Path",
value: "configPath",
description: "Gets a link to the public page of open lines in the account (imopenlines.config.path.get)",
action: "Get open line public page link",
},
{
name: "Update Config",
value: "configUpdate",
description: "Modifies an open line (imopenlines.config.update)",
action: "Update open line configuration",
},
{
name: "Network Join",
value: "networkJoin",
description: "Connects an external open line to the account (imopenlines.network.join)",
action: "Connect external open line",
},
{
name: "Get Revision",
value: "revisionGet",
description: "Retrieves information about API revisions (imopenlines.revision.get)",
action: "Get API revision information",
},
// Bot Session Operations
{
name: "Bot Finish Session",
value: "botSessionFinish",
description: "Ends the dialogue (imopenlines.bot.session.finish)",
action: "End bot dialogue",
},
{
name: "Bot Send Message",
value: "botSessionMessageSend",
description: "Sends a welcome message (imopenlines.bot.session.message.send)",
action: "Send bot welcome message",
},
{
name: "Bot Switch to Operator",
value: "botSessionOperator",
description: "Switches the dialogue to an available operator (imopenlines.bot.session.operator)",
action: "Switch to available operator",
},
{
name: "Bot Transfer Session",
value: "botSessionTransfer",
description: "Transfers the dialogue to an operator by Id (imopenlines.bot.session.transfer)",
action: "Transfer dialogue to specific operator",
},
// CRM Chat Operations
{
name: "Get Last Chat ID",
value: "crmChatGetLastId",
description: "Retrieves the Id of the last chat (imopenlines.crm.chat.getLastId)",
action: "Get last chat ID",
},
{
name: "Get CRM Chat",
value: "crmChatGet",
description: "Retrieves the chat for a CRM object (imopenlines.crm.chat.get)",
action: "Get chat for CRM object",
},
{
name: "Add User to Chat",
value: "crmChatUserAdd",
description: "Adds a user to an existing chat (imopenlines.crm.chat.user.add)",
action: "Add user to chat",
},
{
name: "Remove User from Chat",
value: "crmChatUserDelete",
description: "Removes a user from the chat (imopenlines.crm.chat.user.delete)",
action: "Remove user from chat",
},
// CRM Message Operations
{
name: "Send CRM Message",
value: "crmMessageAdd",
description: "Sends a message to the open line (imopenlines.crm.message.add)",
action: "Send message to open line",
},
{
name: "Save Quick Reply",
value: "messageQuickSave",
description: "Saves a message as a quick reply (imopenlines.message.quick.save)",
action: "Save message as quick reply",
},
// Operator Operations
{
name: "Finish Another Operator Dialog",
value: "operatorAnotherFinish",
description: "Ends the dialogue of another operator (imopenlines.operator.another.finish)",
action: "End another operator's dialogue",
},
{
name: "Answer Dialog",
value: "operatorAnswer",
description: "Takes the dialogue for themselves (imopenlines.operator.answer)",
action: "Take dialogue",
},
{
name: "Finish Own Dialog",
value: "operatorFinish",
description: "Ends their own dialogue (imopenlines.operator.finish)",
action: "End own dialogue",
},
{
name: "Skip Dialog",
value: "operatorSkip",
description: "Skips the dialogue (imopenlines.operator.skip)",
action: "Skip dialogue",
},
{
name: "Mark as Spam",
value: "operatorSpam",
description: 'Marks the dialogue as "spam" (imopenlines.operator.spam)',
action: "Mark dialogue as spam",
},
{
name: "Transfer Dialog",
value: "operatorTransfer",
description: "Transfers the dialogue to another operator or to another line (imopenlines.operator.transfer)",
action: "Transfer dialogue",
},
// Dialog Operations
{
name: "Create Lead from Dialog",
value: "crmLeadCreate",
description: "Creates a lead based on the dialogue (imopenlines.crm.lead.create)",
action: "Create lead from dialogue",
},
{
name: "Get Dialog",
value: "dialogGet",
description: "Retrieves information about the operator's dialogue (chat) in the open line (imopenlines.dialog.get)",
action: "Get dialogue information",
},
{
name: "Start Message Session",
value: "messageSessionStart",
description: "Starts a new dialogue based on a message (imopenlines.message.session.start)",
action: "Start message session",
},
{
name: "Vote Session Head",
value: "sessionHeadVote",
description: "Rates the employee's performance in the dialogue (imopenlines.session.head.vote)",
action: "Rate employee performance",
},
{
name: "Get Session History",
value: "sessionHistoryGet",
description: "Retrieves chat and dialogue messages (imopenlines.session.history.get)",
action: "Get session history",
},
{
name: "Intercept Session",
value: "sessionIntercept",
description: "Takes the dialogue from the current operator (imopenlines.session.intercept)",
action: "Intercept dialogue",
},
{
name: "Join Session",
value: "sessionJoin",
description: "Joins the dialogue (imopenlines.session.join)",
action: "Join dialogue",
},
{
name: "Pin All Sessions",
value: "sessionModePinAll",
description: "Pins all available dialogues to the operator (imopenlines.session.mode.pinAll)",
action: "Pin all dialogues",
},
{
name: "Pin/Unpin Session",
value: "sessionModePin",
description: "Pins or unpins the dialogue (imopenlines.session.mode.pin)",
action: "Toggle dialogue pin",
},
{
name: "Silent Mode",
value: "sessionModeSilent",
description: 'Switches the dialogue to "hidden" mode (imopenlines.session.mode.silent)',
action: "Set dialogue to silent mode",
},
{
name: "Unpin All Sessions",
value: "sessionModeUnpinAll",
description: "Unpins all dialogues from the operator (imopenlines.session.mode.unpinAll)",
action: "Unpin all dialogues",
},
{
name: "Open Session by Code",
value: "sessionOpen",
description: "Retrieves the chat by symbolic code (imopenlines.session.open)",
action: "Open chat by code",
},
{
name: "Start Session",
value: "sessionStart",
description: "Starts a new dialogue (imopenlines.session.start)",
action: "Start new dialogue",
},
// Connector Operations
{
name: "Register Connector",
value: "connectorRegister",
description: "Register a connector (imconnector.register)",
action: "Register connector",
},
{
name: "Activate Connector",
value: "connectorActivate",
description: "Activate a connector (imconnector.activate)",
action: "Activate connector",
},
{
name: "Deactivate Connector",
value: "connectorDeactivate",
description: "Deactivate a connector (imconnector.deactivate)",
action: "Deactivate connector",
},
{
name: "Get Connector Status",
value: "connectorStatus",
description: "Get the connector status (imconnector.status)",
action: "Get connector status",
},
{
name: "Set Connector Data",
value: "connectorDataSet",
description: "Change connector settings (imconnector.connector.data.set)",
action: "Set connector data",
},
{
name: "List Connectors",
value: "connectorList",
description: "Get a list of connectors (imconnector.list)",
action: "List connectors",
},
{
name: "Unregister Connector",
value: "connectorUnregister",
description: "Unregister a connector (imconnector.unregister)",
action: "Unregister connector",
},
// Connector Messages
{
name: "Send Connector Messages",
value: "connectorSendMessages",
description: "Send messages to Bitrix24 (imconnector.send.messages)",
action: "Send messages via connector",
},
{
name: "Update Connector Messages",
value: "connectorUpdateMessages",
description: "Modify sent messages (imconnector.update.messages)",
action: "Update messages via connector",
},
{
name: "Delete Connector Messages",
value: "connectorDeleteMessages",
description: "Delete sent messages (imconnector.delete.messages)",
action: "Delete messages via connector",
},
{
name: "Send Delivery Status",
value: "connectorSendStatusDelivery",
description: "Update status to delivered (imconnector.send.status.delivery)",
action: "Send delivery status",
},
{
name: "Send Reading Status",
value: "connectorSendStatusReading",
description: "Update status to read (imconnector.send.status.reading)",
action: "Send reading status",
},
{
name: "Set Chat Name",
value: "connectorChatNameSet",
description: "Set a new chat name (imconnector.chat.name.set)",
action: "Set chat name",
},
],
default: "configList",
};
// ============= COMMON FIELDS =============
const configIdField = {
displayName: "Config ID",
name: "configId",
type: "string",
default: "",
required: true,
description: "The ID of the open line configuration",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["configGet", "configDelete", "configUpdate", "sessionStart"],
},
},
};
const sessionIdField = {
displayName: "Session ID",
name: "sessionId",
type: "string",
default: "",
required: true,
description: "The ID of the session",
displayOptions: {
show: {
resource: ["openLines"],
operation: [
"botSessionFinish",
"botSessionMessageSend",
"botSessionOperator",
"botSessionTransfer",
"operatorAnotherFinish",
"operatorAnswer",
"operatorFinish",
"operatorSkip",
"operatorSpam",
"operatorTransfer",
"crmLeadCreate",
"sessionHeadVote",
"sessionHistoryGet",
"sessionIntercept",
"sessionJoin",
"sessionModePin",
"sessionModeSilent",
],
},
},
};
const chatIdField = {
displayName: "Chat ID",
name: "chatId",
type: "string",
default: "",
required: true,
description: "The ID of the chat",
displayOptions: {
show: {
resource: ["openLines"],
operation: [
"crmChatUserAdd",
"crmChatUserDelete",
"crmMessageAdd",
"connectorChatNameSet",
],
},
},
};
const dialogIdField = {
displayName: "Dialog ID",
name: "dialogId",
type: "string",
default: "",
required: true,
description: "The ID of the dialog",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["dialogGet"],
},
},
};
const connectorIdField = {
displayName: "Connector ID",
name: "connectorId",
type: "string",
default: "",
required: true,
description: "The ID of the connector",
displayOptions: {
show: {
resource: ["openLines"],
operation: [
"connectorActivate",
"connectorSendMessages",
"connectorUpdateMessages",
"connectorDeleteMessages",
"connectorSendStatusDelivery",
"connectorSendStatusReading",
"connectorChatNameSet",
],
},
},
};
const lineIdField = {
displayName: "Line ID",
name: "lineId",
type: "string",
default: "",
required: true,
description: "The ID of the open line",
displayOptions: {
show: {
resource: ["openLines"],
operation: [
"connectorActivate",
"connectorSendMessages",
"connectorUpdateMessages",
"connectorDeleteMessages",
"connectorSendStatusDelivery",
"connectorSendStatusReading",
"connectorChatNameSet",
],
},
},
};
// Connector Register fields
const connectorRegisterIdField = {
displayName: "Connector ID",
name: "connectorRegisterId",
type: "string",
default: "",
required: true,
description: "A unique identifier for the connector. Use your unique prefix to avoid conflicts (e.g., mycompany_connector_id)",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorRegister"],
},
},
};
const connectorRegisterNameField = {
displayName: "Connector Name",
name: "connectorRegisterName",
type: "string",
default: "",
required: true,
description: "The display name of the connector",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorRegister"],
},
},
};
const connectorRegisterIconField = {
displayName: "Icon Data (JSON)",
name: "connectorRegisterIcon",
type: "json",
default: `{
"DATA_IMAGE": "data:image/svg+xml;base64,...",
"COLOR": "#1900ff",
"SIZE": "90%",
"POSITION": "center"
}`,
required: true,
description: "Icon configuration as JSON object with DATA_IMAGE (required), COLOR, SIZE, POSITION",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorRegister"],
},
},
};
const connectorRegisterHandlerField = {
displayName: "Placement Handler URL",
name: "connectorRegisterHandler",
type: "string",
default: "",
required: true,
description: "URL of the embedding handler for connector setup interface",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorRegister"],
},
},
};
const connectorRegisterIconDisabledField = {
displayName: "Icon Disabled (JSON)",
name: "connectorRegisterIconDisabled",
type: "json",
default: "",
description: "Optional icon for inactive state (same structure as Icon Data)",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorRegister"],
},
},
};
// Individual toggle fields for connector register options
const connectorDelExternalField = {
displayName: "Allow Delete External Messages",
name: "DEL_EXTERNAL_MESSAGES",
type: "boolean",
default: false,
description: "Whether incoming messages can be deleted. Default: no",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorRegister"],
},
},
};
const connectorEditInternalField = {
displayName: "Allow Edit Internal Messages",
name: "EDIT_INTERNAL_MESSAGES",
type: "boolean",
default: false,
description: "Whether your messages can be edited. Default: no",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorRegister"],
},
},
};
const connectorDelInternalField = {
displayName: "Allow Delete Internal Messages",
name: "DEL_INTERNAL_MESSAGES",
type: "boolean",
default: false,
description: "Whether your messages can be deleted. Default: no",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorRegister"],
},
},
};
const connectorNewsletterField = {
displayName: "Allow Newsletter",
name: "NEWSLETTER",
type: "boolean",
default: false,
description: "Whether the channel can be used for CRM mailing. Default: no",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorRegister"],
},
},
};
const connectorSystemMessagesField = {
displayName: "Need System Messages",
name: "NEED_SYSTEM_MESSAGES",
type: "boolean",
default: false,
description: "Whether to send system messages (greetings, closing remarks, etc.). Default: no",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorRegister"],
},
},
};
const connectorSignatureField = {
displayName: "Need Signature",
name: "NEED_SIGNATURE",
type: "boolean",
default: false,
description: "Whether to send signature in message (operator name line). Default: no",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorRegister"],
},
},
};
const connectorChatGroupField = {
displayName: "Chat Group",
name: "CHAT_GROUP",
type: "boolean",
default: false,
description: "Whether the chat of this channel is group from external side. Default: no",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorRegister"],
},
},
};
const connectorCommentField = {
displayName: "Comment",
name: "COMMENT",
type: "string",
default: "",
description: "Description for the embedding handler",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorRegister"],
},
},
};
const connectorUnregisterIdField = {
displayName: "Connector ID",
name: "unregisterConnectorId",
type: "string",
default: "",
required: true,
description: "The unique identifier of the connector to unregister",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorUnregister"],
},
},
};
const connectorActiveField = {
displayName: "Active",
name: "active",
type: "options",
options: [
{ name: "Activate", value: "1" },
{ name: "Deactivate", value: "0" },
],
default: "1",
required: true,
description: "Activate (1) or deactivate (0) the connector",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorActivate"],
},
},
};
const messageField = {
displayName: "Message",
name: "message",
type: "string",
default: "",
required: true,
typeOptions: {
rows: 4,
},
description: "The message content",
displayOptions: {
show: {
resource: ["openLines"],
operation: [
"botSessionMessageSend",
"crmMessageAdd",
"messageQuickSave",
"messageSessionStart",
],
},
},
};
// Message fields for send/update operations
const messageUserIdField = {
displayName: "User ID",
name: "messageUserId",
type: "string",
default: "",
required: true,
description: "User ID in the external system",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorSendMessages", "connectorUpdateMessages"],
},
},
};
const messageUserDetailsField = {
displayName: "User Details",
name: "messageUserDetails",
type: "collection",
placeholder: "Add User Detail",
default: {},
description: "Additional user information",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorSendMessages", "connectorUpdateMessages"],
},
},
options: [
{
displayName: "First Name",
name: "name",
type: "string",
default: "",
description: "User's first name",
},
{
displayName: "Last Name",
name: "last_name",
type: "string",
default: "",
description: "User's last name",
},
{
displayName: "Picture URL",
name: "picture_url",
type: "string",
default: "",
description: "Link to user's avatar",
},
{
displayName: "Profile URL",
name: "url",
type: "string",
default: "",
description: "Link to user's profile",
},
{
displayName: "Gender",
name: "sex",
type: "options",
options: [
{ name: "Male", value: "male" },
{ name: "Female", value: "female" },
],
default: "male",
description: "User's gender",
},
{
displayName: "Email",
name: "email",
type: "string",
default: "",
description: "User's email",
},
{
displayName: "Phone",
name: "phone",
type: "string",
default: "",
description: "User's phone number",
},
{
displayName: "Skip Phone Validation",
name: "skip_phone_validate",
type: "boolean",
default: false,
description: "Whether to skip phone number validation",
},
],
};
const messageIdField = {
displayName: "Message ID",
name: "messageId",
type: "string",
default: "",
required: true,
description: "Message ID in the external system",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorSendMessages", "connectorUpdateMessages"],
},
},
};
const messageTextField = {
displayName: "Message Text",
name: "messageText",
type: "string",
typeOptions: {
rows: 4,
},
default: "",
description: "Message text. Either text or files must be specified",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorSendMessages", "connectorUpdateMessages"],
},
},
};
const messageDateField = {
displayName: "Message Date",
name: "messageDate",
type: "number",
default: 0,
required: true,
description: "Message time in timestamp format",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorSendMessages", "connectorUpdateMessages"],
},
},
};
const messageOptionsField = {
displayName: "Message Options",
name: "messageOptions",
type: "collection",
placeholder: "Add Option",
default: {},
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorSendMessages"],
},
},
options: [
{
displayName: "Disable CRM",
name: "disable_crm",
type: "boolean",
default: false,
description: "Whether to disable chat tracker (CRM tracker)",
},
{
displayName: "Files (JSON)",
name: "files",
type: "json",
default: "[]",
description: 'Array of files: [{"url": "file_url", "name": "file_name"}]',
},
],
};
const messageChatIdField = {
displayName: "Chat ID",
name: "messageChatId",
type: "string",
default: "",
required: true,
description: "Chat ID in the external system",
displayOptions: {
show: {
resource: ["openLines"],
operation: [
"connectorSendMessages",
"connectorUpdateMessages",
"connectorDeleteMessages",
],
},
},
};
const messageChatDetailsField = {
displayName: "Chat Details",
name: "messageChatDetails",
type: "collection",
placeholder: "Add Chat Detail",
default: {},
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorSendMessages", "connectorUpdateMessages"],
},
},
options: [
{
displayName: "Chat Name",
name: "name",
type: "string",
default: "",
description: "Chat name in the external system",
},
{
displayName: "Chat URL",
name: "url",
type: "string",
default: "",
description: "Link to the chat in the external system",
},
],
};
// For delete messages - simplified fields
const deleteMessageUserIdField = {
displayName: "User ID",
name: "deleteMessageUserId",
type: "string",
default: "",
required: true,
description: "User ID in the external system",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorDeleteMessages"],
},
},
};
const deleteMessageIdField = {
displayName: "Message ID",
name: "deleteMessageId",
type: "string",
default: "",
required: true,
description: "Message ID in the external system",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorDeleteMessages"],
},
},
};
// For status operations (delivery/reading) - simple JSON array
const messagesField = {
displayName: "Messages (JSON)",
name: "messages",
type: "json",
default: "[]",
required: true,
description: 'Array of message IDs, e.g. [{"id": "message_id"}]',
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorSendStatusDelivery", "connectorSendStatusReading"],
},
},
};
const userIdField = {
displayName: "User ID",
name: "userId",
type: "string",
default: "",
required: true,
description: "The ID of the user",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["crmChatUserAdd", "crmChatUserDelete"],
},
},
};
const userCodeField = {
displayName: "User Code",
name: "userCode",
type: "string",
default: "",
required: true,
description: "The user code for session",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["sessionStart"],
},
},
};
const operatorIdField = {
displayName: "Operator ID",
name: "operatorId",
type: "string",
default: "",
required: true,
description: "The ID of the operator",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["botSessionTransfer"],
},
},
};
const transferIdField = {
displayName: "Transfer To ID",
name: "transferId",
type: "string",
default: "",
required: true,
description: "The ID of the operator or line to transfer to",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["operatorTransfer"],
},
},
};
const codeField = {
displayName: "Code",
name: "code",
type: "string",
default: "",
required: true,
description: "The symbolic code",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["sessionOpen", "networkJoin"],
},
},
};
const entityTypeField = {
displayName: "Entity Type",
name: "entityType",
type: "options",
options: [
{ name: "Lead", value: "LEAD" },
{ name: "Deal", value: "DEAL" },
{ name: "Contact", value: "CONTACT" },
{ name: "Company", value: "COMPANY" },
],
default: "LEAD",
required: true,
description: "The type of CRM entity",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["crmChatGet", "crmChatGetLastId"],
},
},
};
const entityIdField = {
displayName: "Entity ID",
name: "entityId",
type: "string",
default: "",
required: true,
description: "The ID of the CRM entity",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["crmChatGet", "crmChatGetLastId"],
},
},
};
const actionField = {
displayName: "Action",
name: "action",
type: "options",
options: [
{ name: "Pin", value: "pin" },
{ name: "Unpin", value: "unpin" },
],
default: "pin",
required: true,
description: "The action to perform",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["sessionModePin"],
},
},
};
const silentModeField = {
displayName: "Silent Mode",
name: "silentMode",
type: "options",
options: [
{ name: "Enable", value: "Y" },
{ name: "Disable", value: "N" },
],
default: "Y",
required: true,
description: "Enable or disable silent mode",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["sessionModeSilent"],
},
},
};
const ratingField = {
displayName: "Rating",
name: "rating",
type: "number",
default: 5,
required: true,
typeOptions: {
minValue: 1,
maxValue: 5,
},
description: "Rating from 1 to 5",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["sessionHeadVote"],
},
},
};
const chatNameField = {
displayName: "Chat Name",
name: "chatName",
type: "string",
default: "",
required: true,
description: "The new name for the chat",
displayOptions: {
show: {
resource: ["openLines"],
operation: ["connectorChatNameSet"],
},
},
};
// Specify Body - for operations without specific parameter fields
const specifyBodyField = {
displayName: "Specify Body",
name: "specifyBody",
type: "options",
displayOptions: {
show: {
resource: ["openLines"],
operation: [
// Config operations
"configAdd",
"configDelete",
"configGet",
"configList",
"configPath",
"configUpdate",
"networkJoin",
"revisionGet",
// Bot session operations
"botSessionFinish",
"botSessionMessageSend",
"botSessionOperator",
"botSessionTransfer",
// CRM operations
"crmChatGetLastId",
"crmChatGet",
"crmChatUserAdd",
"crmChatUserDelete",
"crmMessageAdd",
"messageQuickSave",
// Operator operations
"operatorAnotherFinish",
"operatorAnswer",
"operatorFinish",
"operatorSkip",
"operatorSpam",
"operatorTransfer",
// Dialog operations
"crmLeadCreate",
"dialogGet",
"messageSessionStart",
"sessionHeadVote",
"sessionHistoryGet",
"sessionIntercept",
"sessionJoin",
"sessionModePinAll",
"sessionModePin",
"sessionModeSilent",
"sessionModeUnpinAll",
"sessionOpen",
"sessionStart",
// Connector operations (without specific params)
"connectorDeactivate",
"connectorStatus",
"connectorDataSet",
"connectorList",
],
},
},
options: [
{
name: "Using Fields Below",
value: "fields",
},
{
name: "Using JSON",
value: "json",
},
],
default: "fields",
};
const bodyParametersField = {
displayName: "Body Parameters",
name: "bodyParameters",
type: "fixedCollection",
typeOptions: {
multipleValues: true,
},
displayOptions: {
show: {
resource: ["openLines"],
specifyBody: ["fields"],
},
},
placeholder: "Add Parameter",
default: {},
options: [
{
displayName: "Parameter",
name: "parameter",
values: [
{
displayName: "Name",
name: "name",
type: "string",
default: "",
description: "Name of the parameter",
},
{
displayName: "Value",
name: "value",
type: "string",
default: "",
description: "Value of the parameter",
},
],
},
],
};
const bodyJsonField = {
displayName: "Body (JSON)",
name: "bodyJson",
type: "json",
displayOptions: {
show: {
resource: ["openLines"],
specifyBody: ["json"],
},
},
default: "{}",
description: "Body parameters as JSON",
};
// Export operations for use in other files
exports.openLinesOperations = [
{
name: "Add Config",
value: "configAdd",
description: "Add a new open line",
},
{ name: "List Configs", value: "configList", description: "List open lines" },
{
name: "Get Config",
value: "configGet",
description: "Get open line by ID",
},
{
name: "Update Config",
value: "configUpdate",
description: "Update open line",
},
{
name: "Delete Config",
value: "configDelete",
description: "Delete open line",
},
{
name: "Start Session",
value: "sessionStart",
description: "Start a new dialogue",
},
{
name: "Get Dialog",
value: "dialogGet",
description: "Get dialogue information",
},
{
name: "Send Message",
value: "crmMessageAdd",
description: "Send a message",
},
{
name: "Register Connector",
value: "connectorRegister",
description: "Register a connector",
},
{
name: "List Connectors",
value: "connectorList",
description: "List connectors",
},
];
// Export all fields
exports.openLinesFields = [
operationField,
// Only keep fields for 7 connector endpoints with params
connectorIdField,
lineIdField,
// Connector Register fields
connectorRegisterIdField,
connectorRegisterNameField,
connectorRegisterIconField,
connectorRegisterHandlerField,
connectorRegisterIconDisabledField,
// Connector Register toggle options
connectorDelExternalField,
connectorEditInternalField,
connectorDelInternalField,
connectorNewsletterField,
connectorSystemMessagesField,
connectorSignatureField,
connectorChatGroupField,
connectorCommentField,
// Connector Unregister
connectorUnregisterIdField,
// Connector Activate
connectorActiveField,
// Message operations fields (send/update/delete)
messageUserIdField,
messageUserDetailsField,
messageIdField,
messageTextField,
messageDateField,
messageOptionsField,
messageChatIdField,
messageChatDetailsField,
deleteMessageUserIdField,
deleteMessageIdField,
// Status operations
messagesField,
// Body fields (for all other operations)
specifyBodyField,
bodyParametersField,
bodyJsonField,
];
//# sourceMappingURL=OpenLinesDescription.js.map