{
  "$kind": "ELMA.Assistant.Bot",
  "version": "2.4.0",
  "name": "Выполнение скрипта",
  "scenarios": [
    {
      "$kind": "ELMA.Assistant.DefaultScenario",
      "triggerGroup": {
        "$kind": "ELMA.Assistant.DefaultTriggerGroup",
        "triggers": [
          {
            "$kind": "ELMA.Assistant.StartTrigger",
            "outputBindingId": "BND_nnGN_vx_zP",
            "id": "TRR_v9_X1ggiwr",
            "$designer": null
          }
        ],
        "name": null,
        "id": "TRG001000",
        "$designer": null
      },
      "actionGroups": [
        {
          "$kind": "ELMA.Assistant.DefaultActionGroup",
          "actions": [
            {
              "$kind": "ELMA.Assistant.TextOutput",
              "messages": [
                {
                  "$kind": "ELMA.Assistant.Message",
                  "content": "Привет! Бот создаст элемент приложения \"Заявка\".",
                  "attachments": [],
                  "id": "MSG_1g0pqvzp8T",
                  "$designer": null
                }
              ],
              "id": "ACT_ixi10kgnd8",
              "$designer": null
            },
            {
              "$kind": "ELMA.Assistant.TextInput",
              "messages": [
                {
                  "$kind": "ELMA.Assistant.Message",
                  "content": "Введите название:",
                  "attachments": [],
                  "id": "MSG_h6tqq7pYCY",
                  "$designer": null
                }
              ],
              "variableId": "VAR_qR60LicYkZ",
              "validators": [],
              "required": true,
              "cancellable": false,
              "unrecognizedPromptMessages": [],
              "defaultValueResponseMessages": [],
              "customValidationErrorMessages": [],
              "maxTurnCount": 3,
              "defaultValue": null,
              "canShowHelp": false,
              "helpMessages": [],
              "canTransferToOperator": false,
              "alwaysPrompt": true,
              "id": "ACT_MKAKbxu03d",
              "$designer": null
            }
          ],
          "inputBindingIds": [
            "BND_nnGN_vx_zP"
          ],
          "outputBindingId": "BND_hYOafBmZTF",
          "name": "",
          "id": "ACG_LtqEyfcnx6",
          "$designer": {
            "id": "ACG_LtqEyfcnx6",
            "name": "",
            "description": null,
            "positionX": 424.0,
            "positionY": 70.0
          }
        },
        {
          "$kind": "ELMA.Assistant.DefaultActionGroup",
          "actions": [
            {
              "$kind": "ELMA.Assistant.ScriptAction",
              "content": "//Импортируем модуль для работы с HTTP запросами\n//HTTP запросы в скриптах можно выполнять только с помощью axios\nconst axios = require('axios');\n\n//Адрес и токен доступа к ELMA365, они должны быть заполнены в настройках бота,\n//на вкладке Интеграции\nconst elma365url = context.input.settings.integrations.elma365.apiUrl;\nconst elma365xToken = context.input.settings.integrations.elma365.xToken;\n\n//Конфигурация запроса\nconst request = {\n    method: 'post',\n    baseURL: elma365url,\n    url: '/pub/v1/app/other/prilozhenie/create',\n    data: {\n        //Все входящие значения создаваемых приложений или запускаемых бизнес-процессов\n        //должны передаваться в структуре context\n        context: {\n            //Переменная с именем \"Название\" должна быть создана\n            __name: context.input.variables.nazvanie,\n        },\n    },\n    //X-Token должен быть передан в заголовке запроса\n    headers: {\n        'X-Token': elma365xToken,\n    },\n};\n\n//Для обработки ошибок используется блок try-catch\ntry {\n    //Выполнение запроса\n    const response = await axios(request);\n    //Сохраняем в лог статус код результата запроса\n    context.output.logger.log('Статус', response.status);\n    //Сохраняем в переменные идентификатор и имя созданного элемента приложения\n    context.output.variables.id_elementa_prilozheniya = response.data.item.__id;\n    context.output.variables.imya_elementa_prilozheniya = response.data.item.__name;\n    //С помощью логической переменной сообщаем об удачном статусе выполнения\n    context.output.variables.uspeshno = true;\n    //Любой статус код не равный 2XX приведет к возникновению ошибки,\n    //обработка которой находится в блоке catch\n} catch (e) {\n    //Подобным образом можем проверить код статуса ошибки и отобразить\n    //соответствующее сообщение\n    if (e.response.status === 401) {\n        //Записываем в текстовую переменную сообщение об ошибке\n        context.output.variables.oshibka = 'Неверно указан токен авторизации';\n    } else if (e.response.status === 400) {\n        //Если сервер получил запрос, но вернул ответ с сообщением Bad Request,\n        //сохраняем в переменную сообщение об ошибке, которую вернул сервер\n        context.output.variables.oshibka = e.response.data.error;\n    } else {\n        //Записываем в текстовую переменную сообщение об ошибке\n        context.output.variables.oshibka = e.message;\n    }\n    //Записываем в лог сообщение об ошибке с ее логгированием\n    context.output.logger.error('Во время создания элемента приложения произошла ошибка', e);\n}",
              "executionTimeout": 60,
              "retryCount": 0,
              "retryDelay": 1,
              "outputBindingId": null,
              "id": "ACT_tOjQw8paIG",
              "$designer": null
            },
            {
              "$kind": "ELMA.Assistant.SwitchAction",
              "mainCases": [
                {
                  "$kind": "ELMA.Assistant.MainCaseAction",
                  "conditions": [
                    {
                      "$kind": "ELMA.Assistant.BinaryCondition",
                      "operator": "Equals",
                      "leftOperand": {
                        "$kind": "ELMA.Assistant.VariableOperand",
                        "variableId": "VAR_CL_WmlvWMt",
                        "propertyPath": null,
                        "id": "OPD_kVNPCMbdcF",
                        "$designer": null
                      },
                      "rightOperand": {
                        "$kind": "ELMA.Assistant.ConstantOperand",
                        "value": true,
                        "id": "OPD_KShnCJtmVN",
                        "$designer": null
                      },
                      "id": "CON_UzbWSBgdyo",
                      "$designer": null
                    }
                  ],
                  "outputBindingId": "BND_NBQN_nLPQH",
                  "id": "MCS_3OQ1XUPKnL",
                  "$designer": null
                }
              ],
              "elseCase": {
                "$kind": "ELMA.Assistant.ElseCaseAction",
                "outputBindingId": "BND_pYOn9CLQ2A",
                "id": "ECS_An5jJkndvM",
                "$designer": null
              },
              "id": "ACT_bH86ODIPFG",
              "$designer": null
            }
          ],
          "inputBindingIds": [
            "BND_hYOafBmZTF"
          ],
          "outputBindingId": null,
          "name": "",
          "id": "ACG_C3wEXZ3716",
          "$designer": {
            "id": "ACG_C3wEXZ3716",
            "name": "",
            "description": null,
            "positionX": 816.3334,
            "positionY": 64.28125
          }
        },
        {
          "$kind": "ELMA.Assistant.DefaultActionGroup",
          "actions": [
            {
              "$kind": "ELMA.Assistant.TextOutput",
              "messages": [
                {
                  "$kind": "ELMA.Assistant.Message",
                  "content": "Создан новый элемент приложения\nИмя: {VAR_3pQylkek1N} \nИД: {VAR_gISt9LLSku} ",
                  "attachments": [],
                  "id": "MSG_hap_1IvNFn",
                  "$designer": null
                }
              ],
              "id": "ACT_yAwZdbqjrH",
              "$designer": null
            }
          ],
          "inputBindingIds": [
            "BND_NBQN_nLPQH"
          ],
          "outputBindingId": null,
          "name": "",
          "id": "ACG_t81NEp04ZC",
          "$designer": {
            "id": "ACG_t81NEp04ZC",
            "name": "",
            "description": null,
            "positionX": 1214.3334,
            "positionY": 64.28125
          }
        },
        {
          "$kind": "ELMA.Assistant.DefaultActionGroup",
          "actions": [
            {
              "$kind": "ELMA.Assistant.TextOutput",
              "messages": [
                {
                  "$kind": "ELMA.Assistant.Message",
                  "content": "В результате создания элемента приложения произошла ошибка: {VAR_64Nkiebj05} ",
                  "attachments": [],
                  "id": "MSG_wQtWICN_Df",
                  "$designer": null
                }
              ],
              "id": "ACT_6Y3Q3KawsA",
              "$designer": null
            }
          ],
          "inputBindingIds": [
            "BND_pYOn9CLQ2A"
          ],
          "outputBindingId": null,
          "name": "",
          "id": "ACG_jrbDU_SFwX",
          "$designer": {
            "id": "ACG_jrbDU_SFwX",
            "name": "",
            "description": null,
            "positionX": 1210.3334,
            "positionY": 417.61456
          }
        }
      ],
      "intents": [],
      "bindings": [
        {
          "$kind": "ELMA.Assistant.Binding",
          "sourceEntityId": "TRR_v9_X1ggiwr",
          "targetEntityId": "ACG_LtqEyfcnx6",
          "id": "BND_nnGN_vx_zP",
          "$designer": null
        },
        {
          "$kind": "ELMA.Assistant.Binding",
          "sourceEntityId": "ACG_LtqEyfcnx6",
          "targetEntityId": "ACG_C3wEXZ3716",
          "id": "BND_hYOafBmZTF",
          "$designer": null
        },
        {
          "$kind": "ELMA.Assistant.Binding",
          "sourceEntityId": "MCS_3OQ1XUPKnL",
          "targetEntityId": "ACG_t81NEp04ZC",
          "id": "BND_NBQN_nLPQH",
          "$designer": null
        },
        {
          "$kind": "ELMA.Assistant.Binding",
          "sourceEntityId": "ECS_An5jJkndvM",
          "targetEntityId": "ACG_jrbDU_SFwX",
          "id": "BND_pYOn9CLQ2A",
          "$designer": null
        }
      ],
      "version": "1.1.0",
      "name": "Старт бота",
      "enabled": true,
      "interruption": "Disabled",
      "cancellation": "Disabled",
      "variables": [],
      "id": "SCN_RNqowoMpw5",
      "$designer": null
    }
  ],
  "variables": [
    {
      "$kind": "ELMA.Assistant.Variable",
      "name": "Название",
      "code": "nazvanie",
      "type": "String",
      "scope": "Bot",
      "owner": "User",
      "validators": [],
      "id": "VAR_qR60LicYkZ",
      "$designer": null
    },
    {
      "$kind": "ELMA.Assistant.Variable",
      "name": "Ошибка",
      "code": "oshibka",
      "type": "String",
      "scope": "Bot",
      "owner": "User",
      "validators": [],
      "id": "VAR_64Nkiebj05",
      "$designer": null
    },
    {
      "$kind": "ELMA.Assistant.Variable",
      "name": "Успешно",
      "code": "uspeshno",
      "type": "Boolean",
      "scope": "Bot",
      "owner": "User",
      "validators": [],
      "id": "VAR_CL_WmlvWMt",
      "$designer": null
    },
    {
      "$kind": "ELMA.Assistant.Variable",
      "name": "Имя элемента приложения",
      "code": "imya_elementa_prilozheniya",
      "type": "String",
      "scope": "Bot",
      "owner": "User",
      "validators": [],
      "id": "VAR_3pQylkek1N",
      "$designer": null
    },
    {
      "$kind": "ELMA.Assistant.Variable",
      "name": "ИД элемента приложения",
      "code": "id_elementa_prilozheniya",
      "type": "String",
      "scope": "Bot",
      "owner": "User",
      "validators": [],
      "id": "VAR_gISt9LLSku",
      "$designer": null
    }
  ],
  "settings": {
    "$kind": "ELMA.Assistant.BotSettings",
    "script": {
      "content": "// Примеры работы с событиями бота\n// 1. Событие распознанного интента\n// onIntentRecognized(\"pokupka_prodazha__chasy_raboty_magazinov\", async (botEvent) => {\n//   код интента\n//   console.log(botEvent.intentKey);\n//   результаты распознавания\n//   console.log(botEvent.recognizerResult);\n//   ввод пользователя\n//   console.log(botEvent.userInputText);\n//});\n\n// 2. Событие начала работы элемента ввода данных\n// onInputDialogBegin(\"store_name\", async (botEvent) => {\n//   тип распознавателя\n//   console.log(botEvent.recognizerKind);\n//   сообщение бота\n//   context.output.result.promptText = \"Введите название магазина\";\n//   сообщение при нераспознанном вводе\n//   context.output.result.unrecognizedPromptText = \"Не удалось распознать название магазина\";\n//   подсказки бота\n//   context.output.result.suggestedActions = [\"Мебель\", \"Одежда\", \"Обувь\"];\n// });\n\n// 3. Событие прерывания ввода\n// onInputDialogBeforeInterruption(\"store_name\", async (botEvent) => {\n//   ввод пользователя\n//   console.log(botEvent.userInputText);\n//   распознанное значение\n//   console.log(botEvent.recognizedValue);\n//   тип распознавателя\n//   console.log(botEvent.recognizerKind);\n//   нужно ли разрешать прерывать работу элемента\n//   context.output.result.allowInterruptions = false;\n// });\n\n// 4. Событие распознавания ввода пользователя\n// onInputDialogValueRecognized(\"store_name\", async (botEvent) => {\n//   ввод пользователя\n//   console.log(botEvent.userInputText);\n//   распознанное значение\n//   console.log(botEvent.recognizedValue);\n//   тип распознавателя\n//   console.log(botEvent.recognizerKind);\n//   объект диалоговой активности пользователя\n//   console.log(botEvent.activity);\n//   распознано ли значение\n//   context.output.result.recognized = true;\n//   распознанное значение\n//   context.output.result.outputValue = \"Магазин Мебель\";\n// });\n",
      "executionTimeout": 15,
      "retryCount": 0,
      "retryDelay": 1
    },
    "integrations": [
      {
        "$kind": "ELMA.Assistant.ELMA365IntegrationSettings",
        "apiUrl": "",
        "integrationId": "",
        "organizationId": "",
        "xToken": "",
        "name": "ELMA365",
        "code": "elma365",
        "id": "EIS_w5TdDGm0Ro",
        "$designer": null
      }
    ],
    "localization": {
      "locale": "ru-ru"
    },
    "smtp": {
      "host": "",
      "name": "",
      "username": "",
      "password": "",
      "port": 465,
      "useSsl": true
    },
    "recognition": {
      "intentThreshold": 0.6,
      "nlp": {
        "useCustomTrainingModel": false,
        "customTrainingModel": null
      },
      "kb": {
        "enabled": null,
        "threshold": 0.8,
        "searchParentsOnlyIfNoContext": null
      },
      "resultSelectionPriority": "Score"
    },
    "conversationClosing": {
      "closingEnabled": false,
      "closingTimeoutSeconds": 1800,
      "closingMessage": ""
    },
    "id": "SET_o33gdSUSRL",
    "$designer": null
  },
  "id": "BOT_kyMEOSb4ix",
  "$designer": null
}