Поделиться через


setContextProvider

Многоканальное взаимодействие для Customer Service предлагает набор возможностей, которые расширяют возможности Dynamics 365 Customer Service Enterprise, позволяя организациям мгновенно подключаться и взаимодействовать со своими клиентами по каналам обмена цифровыми сообщениями. Для доступа к многоканальному взаимодействию для Customer Service требуется дополнительная лицензия. Для получения дополнительной информации см. страницы Обзор цен на Dynamics 365 Customer Service и План цен на Dynamics 365 Customer Service.

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

Это важно

  • Метод setContextProvider поддерживается только для чата без проверки подлинности. Для аутентифицированного чата необходимо использовать веб-токен JSON (JWT). Дополнительные сведения: Отправка маркеров проверки подлинности
  • Вы можете передать только 100 пользовательских контекстных переменных во время каждой сессии чата.
  • Методы SDK чата в реальном времени должны вызываться после возникновения события lcw:ready . Вы можете прослушивать это событие, добавив собственный прослушиватель событий в объект window.
  • Вам не нужно использовать этот метод, setContextProviderstartChat если вы используете API SDK для передачи контекста и инициализации сеанса чата.

Синтаксис

Microsoft.Omnichannel.LiveChatWidget.SDK.setContextProvider(contextProvider);

Параметры

Параметр Тип Description
contextProvider Функция Функция, которая при вызове возвращает пользовательский контекст

Возвращаемое значение

None

Example

window.addEventListener("lcw:ready", function handleLivechatReadyEvent(){
        // Set the custom context provider
        // Throws error if contextProvider is not a function
        Microsoft.Omnichannel.LiveChatWidget.SDK.setContextProvider(function contextProvider(){
                   //Here it is assumed that the corresponding work stream would have context variables with logical name of 'contextKey1', 'contextKey2', 'contextKey3'. If no context variable exists with a matching logical name, items are created assuming Type:string               
	               return {
                             'contextKey1': {'value': 'contextValue1', 'isDisplayable': true},
                             'contextKey2': {'value': 12.34, 'isDisplayable': false},
                             'contextKey3': {'value': true}
                   };
        });
});

В приведенном выше примере кода value атрибут содержит значение переменных контекста.

Атрибут isDisplayable , если для него задано значение true, будет отображать переданные элементы на третьей вкладке элемента управления сводкой беседы для беседы.

Замечание

Если контекстные переменные не были созданы в рабочем потоке с совпадающим логическим именем, то переменные создаются во время выполнения с типом String. Дополнительные сведения: Контекстные переменные

Отображение контекстных ключей.

Передайте самообслуживание клиента в контекст

Вы можете передать самообслуживание клиента в качестве контекста в начале разговора с этим клиентом. Метод setContextProvider передает последние действия клиента как часть контекста с типом самообслуживания для нового разговора между клиентом и агентом. Запись о путешествии посетителя создается для каждого действия самообслуживания.

Ниже приведен пример кода, показывающий, как использовать этот setContextProvider метод.

window.addEventListener("lcw:ready", function handleLivechatReadyEvent(){

Microsoft.Omnichannel.LiveChatWidget.SDK.setContextProvider(function contextProvider(){
    return {
            'SelfService': { 'value' : 
                '[ {"msdyn_displaytitle":"Page visited", "msdyn_starttime":"yyyy-mm-ddThh:mm:ssZ","msdyn_type":192350000}, \
                   {"msdyn_displaytitle":"Phrase searched", "msdyn_starttime":"yyyy-mm-ddThh:mm:ssZ","msdyn_type":192350001}, \
                   {"msdyn_displaytitle":"Knowledge article viewed", "msdyn_starttime":"yyyy-mm-ddThh:mm:ssZ","msdyn_type":192350002}, \
                   {"msdyn_displaytitle":"Custom action performed", "msdyn_starttime":"yyyy-mm-ddThh:mm:ssZ","msdyn_type":192350003} \
                 ]'
             }, // Additional context can be added as shown below
                //Here it is assumed that the corresponding work stream would have context variables with logical name of 'contextKey1', 'contextKey2', 'contextKey3'. If no context variable exists with a matching logical name, items are created assuming Type:string
                'contextKey1': {'value': 'contextValue1', 'isDisplayable': true},
                'contextKey2': {'value': 12.34, 'isDisplayable': false},
                'contextKey3': {'value': true}
         };
    });
});

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

Коды ошибок

Для этого метода может возникнуть следующая ошибка.

Код ошибки Сообщение об ошибке
1 Не удалось выполнить метод поставщика контекста

Справочник по JavaScript API для SDK онлайн чата
Отображение пользовательского контекста