Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

1.Описание

...

Компонент Блок компонентаПараметры компонентаОписание
Start


Компонент начала схемы
Компонент "Ringback"

Настройка гудков, или звуковых файлов до начала разговора. Выбранный тон -  %(1000,6000,425);loops=-1
Компонент "HTTP Request"

Для выполнение HTTP REST запроса на авторизацию.

Для этого:

{
                "UserName": "Supervisor",
                "UserPassword": "Supervisor"
            }


Компонент "String"

Приведения номера в вид по которому будет происходить поиск в Creatio, а именно перевернуть номер. 
Для этого:

  • в поле "Set result to variable" записываем название переменной в которую будет записываться результат. К примеру: reverted_caller_id_number;
  • в поле "Expression" указать переменную в которой указан id номер абонента - ${caller_id_number};
  • в поле "Method" выбрать метод reverse.


Компонент "Custom code"

Обрезаем Creatio BPMCSRF token из полученных cookie в переменную "BPMCSRF" для авторизации следующих запросов

Компонент "HTTP Request"

Поиск по номеру абонента  ответственного оператора в Creatio (Рис.12) и получения внутреннего номера этого оператора(Рис.23).

Для этого необходимо:

  • в поле "Url" указывается url-адрес на который делать запрос - https://example-service-enterprise.terrasoft.ua/ServiceModel/AuthService.svc/Login . Необходимо заменить ссылку на ваш сайт;
  • ;
  • в поле "Methods" выбрать метод POST;
  • в поле "Cookie to variable" указываем название переменной - my_cookie, в которую сохраняем Cookie из ответа сервиса;
  • в элементе Headers", согласно с требованиями сервера добавить:

Cookie - ${my_cookie}

Accept - application/json;odata=verbose

BPMCSRF - ${BPMCSRF}

  • в поле "Request data" указать код для поиска:

{
              "QueryType": 0,
              "Columns": {
                "Items": {
                  "Name": {
                    "OrderDirection": 0,
                    "OrderPosition": 0,
                    "Caption": null,
                    "Expression": {
                      "ExpressionType": 0,
                      "ColumnPath": "Name"
                    }
                  },
                  "AccountName": {
                    "OrderDirection": 0,
                    "OrderPosition": 0,
                    "Caption": null,
                    "Expression": {
                      "ExpressionType": 0,
                      "ColumnPath": "[Account:Id:Account].Name"
                    }
                  },
                  "OwnerLogin": {
                    "OrderDirection": 0,
                    "OrderPosition": 0,
                    "Caption": null,
                    "Expression": {
                      "ExpressionType": 0,
                      "ColumnPath": "[WebitelUserData:WtelContact:Owner].Extension"
                    }
                  },
                  "OwnerId": {
                    "OrderDirection": 0,
                    "OrderPosition": 0,
                    "Caption": null,
                    "Expression": {
                      "ExpressionType": 0,
                      "ColumnPath": "Owner.Id"
                    }
                  }
                }
              },
              "AllColumns": false,
              "IsDistinct": false,
              "RowCount": 1,
              "Filters": {
                "FilterType": 6,
                "ComparisonType": 0,
                "LogicalOperation": 0,
                "IsNull": true,
                "IsEnabled": true,
                "IsNot": false,
                "Items": {
                  "FilterByPhone": {
                    "FilterType": 1,
                    "ComparisonType": 9,
                    "LogicalOperation": 0,
                    "IsNull": true,
                    "IsEnabled": true,
                    "IsNot": false,
                    "LeftExpression": {
                      "ExpressionType": 0,
                      "ColumnPath": "[ContactCommunication:Contact].SearchNumber"
                    },
                    "RightExpression": {
                      "ExpressionType": 2,
                      "ColumnPath": null,
                      "Parameter": {
                        "DataValueType": 1,
                        "Value": "${reverted_caller_id_number}"
                      }
                    }
                  }
                }
              },
              "RootSchemaName": "Contact",
              "OperationType": 0
}

  • в элементе "Export variables" добавить:

Name - rows.0.Name

owner_caller_id_number - rows.0.OwnerLogin

Компонент "Set variables"

Для назначения переменных, которые позже будут использованы. 

Добавить:

  • continue_on_fail - true
  • hangup_after_bridge - true 
  • ignore_early_media - true 

Перечень возможных параметров можно посмотреть здесь

Компонент "If"

Проверка наличия значения переменной owner_caller_id_number. Так можно узнать  есть ли ответственный в Creatio по номеру звонящего абонента

Для этого в поле "Expression" указать переменную  ${owner_caller_id_number}

Компонент "Bridge"

(ветка 1)

Соединяет с ответственным в Creatio.

Для этого:

  • поле "
  • в элементе "Endpoints" нажать кнопку "Add user" и в поле "Extension" указать переменную  ${owner_caller_id_number}

Компонент "Bridge"

(ветка 2)

Для соединения с номером по умолчанию.

Для этого:

  • поле "
  • в элементе "Endpoints" нажать кнопку "Add user" и в поле "Extension" указать номер по умолчанию, к примеру,  205
Компонент "Hangup"

Завершение звонка

Рис. 12. Карточка оператора

Рис. 23. Внутренний номер оператора на который система будет совершать звонок

...

Пример схемы можно увидеть на рисунке 24.Image Removed

Image Added

Рис. 4. Схема входящего звонка с маршрутизацией на ответственного Creatio с возможностью переадресации в очередь

Info

Для удобства пользования можно скачать готовый json-файл, который прикреплен ниже, и импортировать. Больше информации о импорте json-файла можно посмотреть здесь.

View file
nameВходящий звонок с маршрутизацией на ответственного Creatio (перенаправление на очередь)-schema.json
height150

1.

...

2.1. Описание схемы

Компонент Блок компонентаПараметры компонентаОписание
Start


Компонент начала схемы
Компонент "Ringback"

Настройка гудков, или звуковых файлов до начала разговора. Выбранный тон -  %(1000,6000,425);loops=-1
Компонент "HTTP Request"

Для выполнение HTTP REST запроса на авторизацию.

Для этого:

{
                "UserName": "Supervisor",
                "UserPassword": "Supervisor"
            }


Компонент "String"

Приведения номера в вид по которому будет происходить поиск в Creatio, а именно перевернуть номер. 
Для этого:

  • в поле "Set result to variable" записываем название переменной в которую будет записываться результат. К примеру: reverted_caller_id_number;
  • в поле "Expression" указать переменную в которой указан id номер абонента - ${caller_id_number};
  • в поле "Method" выбрать метод reverse.


Компонент "Custom code"

Обрезаем Creatio BPMCSRF token из полученных cookie в переменную "BPMCSRF" для авторизации следующих запросов

Компонент "HTTP Request"

Поиск по номеру абонента  ответственного оператора в Creatio (Рис.12) и получения внутреннего номера этого оператора(Рис.23).

Для этого необходимо:

  • в поле "Url" указывается url-адрес на который делать запрос - https://example-service-enterprise.terrasoft.ua/ServiceModel/AuthService.svc/Login . Необходимо заменить ссылку на ваш сайт;
  • ;
  • в поле "Methods" выбрать метод POST;
  • в поле "Cookie to variable" указываем название переменной - my_cookie, в которую сохраняем Cookie из ответа сервиса;
  • в элементе Headers", согласно с требованиями сервера добавить:

Cookie - ${my_cookie}

Accept - application/json;odata=verbose

BPMCSRF - ${BPMCSRF}

  • в поле "Request data" указать код для поиска:

{
              "QueryType": 0,
              "Columns": {
                "Items": {
                  "Name": {
                    "OrderDirection": 0,
                    "OrderPosition": 0,
                    "Caption": null,
                    "Expression": {
                      "ExpressionType": 0,
                      "ColumnPath": "Name"
                    }
                  },
                  "AccountName": {
                    "OrderDirection": 0,
                    "OrderPosition": 0,
                    "Caption": null,
                    "Expression": {
                      "ExpressionType": 0,
                      "ColumnPath": "[Account:Id:Account].Name"
                    }
                  },
                  "OwnerLogin": {
                    "OrderDirection": 0,
                    "OrderPosition": 0,
                    "Caption": null,
                    "Expression": {
                      "ExpressionType": 0,
                      "ColumnPath": "[WebitelUserData:WtelContact:Owner].Extension"
                    }
                  },
                  "OwnerId": {
                    "OrderDirection": 0,
                    "OrderPosition": 0,
                    "Caption": null,
                    "Expression": {
                      "ExpressionType": 0,
                      "ColumnPath": "Owner.Id"
                    }
                  }
                }
              },
              "AllColumns": false,
              "IsDistinct": false,
              "RowCount": 1,
              "Filters": {
                "FilterType": 6,
                "ComparisonType": 0,
                "LogicalOperation": 0,
                "IsNull": true,
                "IsEnabled": true,
                "IsNot": false,
                "Items": {
                  "FilterByPhone": {
                    "FilterType": 1,
                    "ComparisonType": 9,
                    "LogicalOperation": 0,
                    "IsNull": true,
                    "IsEnabled": true,
                    "IsNot": false,
                    "LeftExpression": {
                      "ExpressionType": 0,
                      "ColumnPath": "[ContactCommunication:Contact].SearchNumber"
                    },
                    "RightExpression": {
                      "ExpressionType": 2,
                      "ColumnPath": null,
                      "Parameter": {
                        "DataValueType": 1,
                        "Value": "${reverted_caller_id_number}"
                      }
                    }
                  }
                }
              },
              "RootSchemaName": "Contact",
              "OperationType": 0
}

  • в элементе "Export variables" добавить:

Name - rows.0.Name

owner_caller_id_number - rows.0.OwnerLogin

Компонент "Set variables"

Для назначения переменных, которые позже будут использованы. 

Добавить:

  • continue_on_fail - true
  • hangup_after_bridge - true 
  • ignore_early_media - true 

Перечень возможных параметров можно посмотреть здесь

Компонент "If"

Проверка наличия значения переменной owner_caller_id_number. Так можно узнать  есть ли ответственный в Creatio по номеру звонящего абонента

Для этого в поле "Expression" указать переменную  ${owner_caller_id_number}

Компонент "Bridge"

(ветка 1)

Соединяет с ответственным в Creatio.

Для этого:

  • поле "
  • в элементе "Endpoints" нажать кнопку "Add user" и в поле "Extension" указать переменную  ${owner_caller_id_number}

Компонент "BridgeJoin Queue"

(ветка 2)

Image RemovedImage Added

Image RemovedImage Added

Для соединения с номером по умолчанию.перенаправления абонента в очередь "Магазин"

в элементе "Endpoints" нажать кнопку "Add user" и в поле "Extension" указать номер по умолчанию, к примеру,  205

Для этого :поле "

Компонент "Hangup"

Завершение звонка

...