This site is no longer updated.Go to new Conversational Cloud docs

DATA


Вы можете задать значениям из справочника сущностей дополнительные справочные данные. Для этого заполните поле DATA для выбранной сущности.

В JAICP каждая сущность описывается через набор значений, которые она может принимать. Значения задаются через паттерны или синонимы.

Каждому значению можно задать дополнительные справочные данные, указав их в поле DATA в формате JSON или string.


Синтаксис

Для сущности Город добавим в справочник синонимы города Санкт-Петербург: Питер, СПб, Санкт-Петербург, Петербург. В поле DATA укажем дополнительные данные: официальное название города, страну и часовой пояс.

В формате JSON:

{
    "name":"Санкт-Петербург",
    "country":"Russia",
    "timezone":"Europe/Moscow"
}

В формате string:

Санкт-Петербург;Russia;Europe/Moscow

Пример использования

Рассмотрим пример онлайн магазина, который занимается продажей овощей.

В меню проекта перейдите на вкладку CAILA > Сущности > Мои сущности и создайте сущность vegetable с паттернами:

(картошк*|картох*|картофель)
(томат*|помидор*)

Затем, в поле DATA для каждого паттерна добавьте дополнительные данные в формате JSON: уникальный идентификатор продукта и его основное название.

  • для паттерна (картошк*|картох*|картофель):
{
    "product_id": 1,
    "unique_name": "Картофель"
}
  • для паттерна (томат*|помидор*):
{
    "product_id": 2,
    "unique_name": "Томат"
}

Теперь напишем сценарий. Клиент посылает сообщение, в котором намеревается заказать определенный продукт. Бот выведет сообщение о заказе желаемого продукта с помощью $parseTree._Product.unique_name. Затем будет сделан запрос к сайту http://example-service/order с уникальным id продукта.

theme: /
state: Start
        q!: $regex</start>
        a: Здравствуйте! В нашем магазине представлен широкий ассортимент продуктов. Что вы хотите?
    
    state: Vegetable
        q!: хочу заказать @vegetable
        a: Ок, заказываю вам {{$parseTree._Product.unique_name}}
        script:
            $http.post("http://example-service/order", {"productId": $parseTree._Product.product_id});