Вы находитесь здесь:
Обработка ошибок для асинхронных компонентов
Асинхронные компоненты содержат дополнительную переменную ошибок, чтобы предоставить вам больше контроля над способом обработки определенных ошибок. Используйте класс Apex и действия «Правило» для настройки алгоритма диалога средства обработки ошибок на основе переменной ошибки. Например, если клиент пытается ответить на просроченный запрос проверки подлинности, вы можете предложить пользователю повторить попытку с новым запросом проверки подлинности.
Требуемые версии
| Просмотр поддерживаемых версий для ботов Einstein. |
| Просмотр поддерживаемых версий для службы сообщений. |
| Необходимые полномочия пользователя | |
|---|---|
| Для создания ботов Einstein и управления ими: | Настройка приложения ИЛИ Изменение метаданных ИЛИ Управление ботами |
В отличие от других компонентов службы сообщений в ботах Einstein, асинхронные компоненты не включают попытки исправления разговора. Вместо этого эти компоненты перенаправляют в диалоговое окно средства обработки системных ошибок. Без каких-либо настроек диалоговое окно средства обработки ошибок передает сообщение и перенаправляет клиента в диалоговое окно «Главное меню». Начать сначала имеет смысл, когда клиент сталкивается с определенными ошибками, например, внутренней ошибкой сервера. Но это не очень эффективно для клиента или бота, когда ошибка восстанавливается, например, время ожидания компонента или недопустимый адрес доставки.
При добавлении асинхронного компонента к боту, вы получаете предложение указать переменную списка объектов для сохранения кодов ошибок или типов, запущенных взаимодействием клиента с компонентом.
Вы можете использовать переменную с классом Apex для настройки поведения диалога средства обработки ошибок.
-
На странице классов Apex в настройках создайте класс Apex, который циклически просматривает список ошибок, сохраненных в переменной списка объектов, и возвращает коды или типы ошибок.
Например:
public with sharing class CheckBotError { @InvocableMethod(label='CheckBotError') public static List<String> CheckBotError(List<chatbots.Error> errors) { List<String> returnVal = new List<String>(); for (chatbots.Error err : errors) { if (err.errorType == 'TEST_TYPE') { returnVal.add('There was an issue with FOO. Please try SOMETHING ELSE.'); } } return returnVal; } } -
Добавьте класс Apex к диалогу средства обработки ошибок бота, чтобы предоставить боту доступ к кодам и типам ошибок.
- Перейдите в конструктор ботов. Нажмите «Диалоги», а потом выберите системный диалог средства обработки ошибок или любой другой диалог, используемый для обработки ошибок.
- Из библиотеки компонентов диалога перетащите шаг диалога Apex на холст.
- На панели свойств этапа выберите созданный класс Apex.
- Для ввода выберите переменную списка объектов, используемую для сохранения ошибок из асинхронного компонента.
- Для вывода создайте или выберите переменную для хранения кодов ошибок или введите возвращаемый класс Apex. Выберите тип переменной, наиболее подходящий для класса Apex и бизнес-обоснования.
- Добавьте этапы правила для настройки алгоритма диалога средства обработки ошибок. Для каждого кода ошибки или типа, который вы хотите обработать, создайте условие, запускающее этап правила, если переменная, указанная в классе Apex, содержит код ошибки или тип.
- Сохраните изменения.
| Доступные коды и типы ошибок | |
|---|---|
| Компонент | Коды и типы ошибок |
| Проверка подлинности |
|
| Форма |
|
| Оплата |
|

