Передать данные в Case.one

Используйте блок Case.one, чтобы обмениваться данными с Case.one:
  • выбрать объект и записать его в переменную для дальнейшего использования в диалоге;

  • создать объект в Case.one во время диалога с респондентом;

  • редактировать поля объекта в Case.one во время диалога с респондентом.

Добавление блока Case.one

Для выполнения любого из этих действий:
  1. Добавьте блок Case.one в диалог. Если блока Case.one нет в списке блоков, убедитесь, что интеграция с Case.one подключена. Как подключить интеграцию с Case.one для всех позователей Bot.one, читайте здесь.

  2. Справа появится панель настройки блока. Выберите инстанс Case.one для подключения. Вы можете выбрать один из списка или настроить подключение самостоятельно – для этого выберите Ввод вручную.

  3. Если вы выбрали подключение вручную, укажите настройки подключения:

    • URL-адрес инстанса – URL инстанса Case.one, к которому нужно подключиться. Например, https://example.case.one/ В поле доступен ввод переменной. Отображается, если выбран Ввод вручную.

    • Логин – логин для авторизации на инстансе Case.one. В поле доступен ввод переменной. Отображается, если выбран Ввод вручную.

    • Пароль – пароль для авторизации на инстансе Case.one. В поле доступен ввод переменной. Отображается, если выбран Ввод вручную.

  4. Выберите действие:

    • Выбор объекта – выбрать объект и записать его в переменную для дальнейшего использования в диалоге;

    • Создать объект – создать объект в Case.one;

    • Редактировать объект – редактировать поля объекта в Case.one.

Добавление блока Case.one

От выбранного действия зависят настройки, которые нужно указать для блока.

Выбор объекта

Действие Выбор объекта позволяет выбрать объект и записать его в переменную для дальнейшего использования в диалоге.

Блок Case.one: Выбор объекта
После выбора этого действия в блоке, заполните поля:
  • Сообщение – текст сообщения, которое будет опубликовано ботом перед публикацией объектов Case.one.

  • Задать переменную – для использования ответа респондента введите в поле значение переменной (name, address, orgtype и т.п.). В процессе диалога бот присвоит соответствующее значение переменной ответу, который выберет респондент.

Чтобы бот не загружал в диалог все объекты Case.one, укажите фильтры:
  1. Нажмите кнопку Добавить фильтр.

  2. На боковой панели появятся параметры фильтрации. Заполните параметры:

    • Параметры – выбор параметра для фильтрации по всем типам объектов Case.one. Параметры отображаются в иерархии Case.one. В поле доступен поиск.

    • Способ заполнения – выбор способа заполнения: вручную или через переменную.

    • Значение – поле выбора значений фильтра из Case.one. Отображается, если выбран Ввод вручную.

    • Переменная – поле для ввода переменной, из которой нужно взять значение для фильтрации. Отображается, если выбран Ввод из переменной.

Если значение фильтра можно указать при создании блока, и оно не изменится в зависимости от диалога – выберите способ вручную.

Если значение поля зависит от ответов респондента, каких-либо условий или импортируется из других систем, то выберите способ Ввод из переменной и укажите переменную в поле Переменная в виде @name.

Параметры фильтрации блока Case.one: Выбор объекта

Вы можете добавить несколько фильтров – тогда в диалоге будут выведены объекты, которые удовлетворяют всем фильтрам.

Для удаления фильтра:
  1. Наведите на заголовок фильтра.

  2. Нажмите кнопку Меню.

  3. Выберите Удалить. Фильтр будет удален.

Удаление фильтра в блоке Case.one

Блок Case.one в диалоге выведет список всех объектов выбранного модуля Case.one, которые удовлетворяют условиям фильтрации. Если объектов много, то они выводятся по 20 на странице, перемещаться между страницами можно кнопками Назад и Вперед.

Блок Case.one: Выбор объекта в диалоге

Тот объект, который выберет респондент, будет записан в переменную и доступен в данных диалога в разделе Диалог.

Чтобы использовать данные, полученные из Case.one, вам нужно обратиться к переменной или данным, которые содержатся внутри нее. Чтобы обратиться к данным внутри переменной, пропишите их теги из JSON ответа через точку после переменной.

Например, чтобы создавать объекты в Case.one, вам нужно будет указать ответственного. Вы можете выбрать его вручную или указать через переменную. Для этого вам нужно перед созданием объекта добавить блок выбора объекта и назначить ему переменную. Например, person. В ответ вы получите JSON файл. Структуру этого JSON вы можете просмотреть в данных диалога на вкладке Диалог.

Пример JSON ответа

Из ответа видно, что имя ответственного содержится в тегах AssigneeName. Поэтому в поле Ответственный при создании объекта вам нужно прописать: @person.Assignee.Name.

Обращение к переменной из ответа JSON

Если переменная не была задана в параметрах блока, система пропускает этот шаг и идет дальше.

Создание объекта

Действие Создать объект позволяет создать объект в Case.one во время диалога с респондентом.

После выбора этого действия в блоке, заполните поля:
  • Тип объекта – выбор из списка типов объектов Case.one.

  • Задать переменную – переменная, в которую система поместит созданный объект и информацию об ошибках. В названии переменной вы можете использовать строчные латинские буквы, цифры и символы клавиатуры, кроме пробела и @ (name, address, orgtype и т.п.).

Блок Case.one: Создать объект
После выбора типа объекта на боковой панели появится список полей, которые нужно заполнить обязательно:
  • Название – название создаваемого объекта.

  • Ответственный – выберите пользователя Case.one.

  • поля, которые в этом типе объектов указаны как обязательные.

Warning
Если Название, Ответственный и другие обязательные поля не заполнены, объект не будет создан.
Заполнение полей для создания объекта

Вы также можете указать значения для других полей нового объекта.

Для этого добавьте поля с помощью команды Добавить поле и укажите значения:
  • Название – наименование поля объекта. Параметр заполнен автоматически для обязательных полей. Для остальных – выберите из списка полей объекта.

  • Способ заполнения – выбор способа заполнения: вручную или через переменную. Если значение поля можно указать при создании блока и оно не изменится в зависимости от диалога – выберите способ вручную. Если значение поля зависит от ответов респондента, каких-либо условий или импортируется из других систем, то выберите способ Ввод из переменной и укажите переменную в поле Переменная в виде @name.

  • Значение – поле выбора значений вручную. Отображается, если выбран Ввод вручную.

  • Переменная – поле для ввода переменной, из которой нужно взять значение для заполнения поля. Отображается, если выбран Ввод из переменной.

  • Прерывать блок, если переменная пуста либо невалидна – по умолчанию флаг установлен: система не будет передавать данные всего объекта в Case.one, если в процессе диалога поле не было заполнено корректно. Если данные в поле не обязательны для создания объекта Case.one, то снимите флаг. Тогда, система передаст данные объекта в Case.one с этим полем (если данные указаны корректно) или без него (если данные указаны некорректно). Флаг доступен только если в параметре Способ заполнения выбрано Ввод из переменной.

Добавление поля для создания объекта
Для удаления поля:
  1. Наведите на заголовок поля.

  2. Нажмите кнопку Меню.

  3. Выберите Удалить. Поле будет удалено.

В диалоге, когда бот дойдет до блока Case.one, он соберет все данные для создания объекта и передаст их на выбранный инстанс Case.one.

Создание объекта в диалоге
Всю информацию об объекте бот записывает в переменную, указанную в разделе Основное (если переменная не указана, бот пропустит этот этап):
  • если объект получается создать, бот помещает в переменную объект;

  • если при создании объекта возникли ошибки, бот помещает в переменную информацию об ошибках.

Содержимое переменной доступно в формате JSON в разделе Собранная информация данных диалога.

Информация о создании объекта в диалоге
Tip
Если не получилось создать объект в Case.one, перейдите в раздел Диалоги, найдите и выберите диалог, перейдите по ссылке с названием переменной в разделе Собранная информация данных диалога. В скаченном файле вы увидите, какие ошибки возникли при создании объекта.

Редактирование объекта

Действие Редактировать объект позволяет отредактировать поля объекта в Case.one во время диалога с респондентом.

Warning
Редактирование мультиблоков Case.one через блок Редактирование объектов недоступно.
После выбора этого действия в блоке, заполните поля:
  • Тип объекта – выбор из списка типов объектов Case.one.

  • Объект – укажите в поле ID объекта, который нужно отредактировать.

  • Задать переменную – переменная, в которую система поместит отредактированный объект и информацию об ошибках. В названии переменной вы можете использовать строчные латинские буквы, цифры и символы клавиаткуры, кроме пробела и @ (name, address, orgtype и т.п.).

Как указать ID объекта для редактирования?

Способ 1: Скопировать ID объекта с карточки объекта в Case.one.

ID объекта в карточке объекта Case.one

Способ 2: Указать через переменную.

Для этого объявите переменную в диалоге. Вы можете:
  • передать переменную через URL;

  • добавить блок Case.one: Выбор объекта и записать в переменную выбранный респондентом ответ;

  • добавить любой другой блок, который позволяет записать в переменную ID объекта из Case.one (Выбор ответа, Сбор данных и пр.).

Укажите переменную в блоке Case.one: Редактирование объекта с тегом id.

Переменная для выбора объекта для редактирования

После выбора типа объекта и указания ID объекта добавьте поля, которые нужно изменить.

Для этого:
  1. Нажмите кнопку Добавить поле на боковой панели.

  2. Появятся параметры поля. Укажите, какое поле и как следует изменить:

    • Название – выберите поле, которое следует изменить. В списке содержатся только поля выбранного типа объектов.

    • Способ заполнения – выбор способа заполнения: вручную или через переменную. Если значение поля можно указать при создании блока и оно не изменится в зависимости от диалога – выберите способ вручную. Если значение поля зависит от ответов респондента, каких-либо условий или импортируется из других систем, то выберите способ Ввод из переменной и укажите переменную в поле Переменная в виде @name.

    • Значение – для ввода значения вручную. Отображается, если выбран Ввод вручную.

    • Переменная – для ввода переменной, из которой нужно взять значение для заполнения поля. Отображается, если выбран Ввод из переменной.

    • Прерывать блок, если переменная пуста либо невалидна – по умолчанию флаг установлен: система не будет передавать данные всего объекта в Case.one, если в процессе диалога поле не было заполнено корректно. Если данные в поле не обязательны для редактирования объекта Case.one, то снимите флаг. Тогда, система передаст данные объекта в Case.one с этим полем (если данные указаны корректно) или без него (если данные указаны некорректно). Флаг доступен только если в параметре Способ заполнения выбрано Ввод из переменной.

Добавление поля для редактирования объекта
Для удаления поля:
  1. Наведите на заголовок поля.

  2. Нажмите кнопку Меню.

  3. Выберите Удалить. Поле будет удалено.

В диалоге, когда бот дойдет до блока Case.one, он пытается изменить указанный объект.

Редактирование объекта в диалоге
Всю информацию об объекте бот записывает в переменную, указанную в разделе Основное (если переменная не указана, бот пропустит этот этап):
  • если объект получается отредактировать, бот помещает в переменную объект;

  • если при редактировании объекта возникли ошибки, бот помещает в переменную информацию об ошибках.

Содержимое переменной доступно в формате JSON в разделе Собранная информация данных диалога.

Информация о редактировании объекта в диалоге
Tip
Если не получилось изменить объект в Case.one, перейдите в раздел Диалоги, найдите и выберите диалог, перейдите по ссылке с названием переменной в разделе Собранная информация данных диалога. В скаченном файле вы увидите, какие ошибки возникли при создании объекта

Добавление файла в объект Case.one

Вы можете добавить файл в объект Case.one при его создании или редактировании. Для этого в типе объектов Case.one должно быть поле с типом Object-Document.

Для прикрепления файла к объекту:
  1. Добавьте в бот блок, который позволит отправить в диалог файл (например, блок Сбор данных с типом Файл) и объявите переменную для этого файла.

  2. В блоке Case.one добавьте поле.

  3. В параметре Название добавленного поля выберите Document.

  4. После выбора Document, будет доступен только ввод значения через переменную. Укажите в поле Переменная объявленную ранее переменную, в которую будет помещен файл, через @.

Добавление файла в объект Case.one]

В процессе диалога бот попробует прикрепить ранее загруженный в переменную файл к объекту.

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

Если система не смогла заполнить поле (в переменной не файл, либо переменная пуста), то бот запишет ошибку в JSON файл переменной объекта.

Как получить данные для создания или редактирования объекта в Case.one через бот

Существует несколько способов добавления данных в объект Case.one:
  1. Указать данные напрямую в параметрах блока.

  2. Спросить респондента.

  3. Получить данные через бот иными способами.

Указать данные напрямую в параметрах блока

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

Ввод данных вручную
Figure 1. Ввод данных вручную
Спросить респондента

Перед блоком Case.one нужно добавить блок Сбор данных или Форма, чтобы ответы респондента автоматически помещались в объект Case.one.

Для этого:
  1. Добавить блок Сбор данных или Форма на схему бота перед блоком Case.one.

  2. Указать для каждого блока переменную.

Добавление блока Сбор данных перед блоком Case.one
Figure 2. Добавление блока Сбор данных перед блоком Case.one
  1. В блоке Case.one в поле Способ заполнения выбрать Ввод из переменной.

  2. В поле Переменная указать через символ @ ту же переменную, которую задавали для ответа респондента на шаге 2.

Указание переменной для поля объекта Case.one
Figure 3. Указание переменной для поля объекта Case.one

В результате данные в объект Case.one будут добавляться ответы респондента в диалоге.

Получить данные через бот иными способами

Некоторые данные могут поступать в диалоге, но не через ответы респондента. Например, город респондента или время обращения доступны в метаданных диалога, информация может быть получена из других сервисов через API в блоке Webhook, посчитана в блоке Скрипт и т.д.

Алгоритм добавления этой информации в блок Case.one такой же, как в предыдущем способе:
  1. Добавить блок, которые получает информацию перед блоком Case.one.

  2. Указать переменную для записи результата выполнения этого блока.

  3. Добавить блок Case.one.

  4. Выбрать в поле Способ заполнения выбрать Ввод из переменной.

  5. В поле Переменная указать через символ @ ту же переменную, которую задавали на шаге 2. Чтобы обратиться к данным внутри переменной, пропишите их теги из JSON ответа через точку после переменной (см. подробнее: Выбор объекта).

Возможные ошибки

  • Блок Case.one отображается в списке доступных блоков, если подключен хотя бы один инстанс Case.one.

  • Инстанс Case.one, к которому подключается бот, должен быть 62 версии и выше.

  • Если настройки в выбранном подключении к модулю Case.one указные не верно, при выборе типа объекта или фильтра появится сообщение об ошибке. Обратитесь к администратору.

  • Если в настройках не указан инстанс Case.one, то система пропускает блок и переходит к следующему блоку.

  • Если выключена интеграция с Case.one, которая указана в блоке, то система пропускает блок и переходит к следующему блоку.

  • Если система не может авторизоваться в указанном модуле (неверный/пустой инстанс, инстанс недоступен, неверные логин или пароль), то система пропускает блок и переходит к следующему блоку.

  • Если фильтрация вернула пустой список объектов, то система помещает пустой ответ в переменную и переходит к следующему блоку диалога.

  • Если запрос на создание или редактирование объекта вернул ошибку, она записывается в переменную, а бот переходит к следующему блоку.

  • Если поле или фильтр в блоке настроен с нарушениями (не заполнено хотя бы одно поле), то система фиксирует ошибку и переходит к следующему фильтру/блоку.

  • Если поле или фильтр в блоке ссылается на переменную несоответствующего типа, либо эта переменная пустая, а для поля установлен флаг Прерывать блок, если переменная пуста либо невалидна, то система фиксирует ошибку и переходит к следующему фильтру/блоку.

  • Если модуль подключения Case.one отключен или удален, то все блоки Case.one, в которых был выбран данный модуль, остаются без изменений. Но система не позволяет перевыбрать выключенный/удаленный инстанс и редактировать/добавлять поля.

Статья помогла вам?