Funkcje Chatbot
Odkryj zakres dostępnych funkcji chatbota i dowiedz się, jak można je wykorzystać do poprawy obsługi klienta.
Funkcje Chatbot
Odkryj zakres dostępnych funkcji chatbota i dowiedz się, jak można je wykorzystać do poprawy obsługi klienta.
Wprowadzenie do funkcji ITSM
Funkcje Chatbot umożliwiają im tworzenie i edytowanie danych ESM, a także pozwalają na realizację bardziej złożonej logiki z wykorzystaniem niestandardowej konfiguracji.
Funkcje są wykorzystywane przez chatboty Efecte Chat do tworzenia zgłoszeń i kart danych sesji czatu w ESM, a także do ich aktualizacji. Funkcje mogą mieć zawsze takie same wartości w zależności od konfiguracji ESM, na przykład można określić, dla którego szablonu tworzone są karty danych. Istnieje również możliwość ustawiania wartości kart danych ESM „w locie”, podczas wywoływania funkcji. Pozwala to na wykorzystanie tej samej funkcji na różne sposoby, na przykład do tworzenia incydentów z jedną kategorią w jednym scenariuszu i z inną kategorią w innym scenariuszu.
Funkcje w istniejących środowiskach nie są automatycznie aktualizowane po wprowadzeniu zmian lub nowych funkcji. Wprowadzanie jakichkolwiek zmian do funkcji w już istniejących środowiskach wymaga zaangażowania profesjonalnych usług.
Efecte Chat do zarządzania usługami zawiera obecnie następujące funkcje:
1. Utwórz bilet
Opis
Głównym celem tej funkcji jest utworzenie zgłoszenia po stronie ESM. Możesz użyć tej funkcji w dowolnym momencie scenariusza, od Ciebie zależy, czy chcesz utworzyć zgłoszenie na początku rozmowy użytkownika z chatbotem [1], czy dopiero na końcu. Aby dodać tę funkcję do scenariusza, dodaj nowy blok w edytorze scenariuszy, wybierz Blok Funkcji, a następnie wybierz odpowiedni z listy. Po prawej stronie wyświetli się dodatkowe menu [2], w którym należy wpisać temat zgłoszenia, które jest wysyłane do ESM oraz identyfikator następnego bloku, do którego funkcja ma przejść po zakończeniu zadania. Więcej informacji na temat tworzenia scenariuszy można znaleźć w uid .
Ustawienia funkcji
Aby funkcja działała poprawnie, należy przejść do zakładki Funkcje, a następnie wybrać odpowiednią funkcję z listy i kliknąć przycisk Edytuj. Najważniejsze ustawienia znajdują się w polu Obiekt konfiguracyjny [1], gdzie należy zmodyfikować zmienne zgodnie z ustawieniami ESM.

„ API _URL” – dostosuj adres URL, podając następujące szczegóły
- adres URL środowiska, np. „https://newenvironment.efectecloud.com” — NIE zastępuj pełnego adresu URL wyłącznie adresem URL środowiska!
- poprawny kod folderu ESM, np. „incident_management”
- pełne ustawienie API _URL powinno zawsze wyglądać tak:
- „ API _URL”: „https://newenvironment.efectecloud.com/api/itsm/dataCardImport.ws?folderCode=incident_management&createEmptyReferences=true&includeIDs=true”,
"resHistoryPath" - to ścieżka do historii konwersacji, nie należy wprowadzać żadnych zmian w tym polu!
„ticketURL” – tutaj należy również ustawić poprawny adres swojego środowiska z ESM, jak powyżej w API _URL, bez zmiany reszty adresu URL
„auth” – kod autoryzacyjny utworzony na podstawie danych logowania. Zostanie on dostarczony przez nasze wsparcie techniczne. W przypadku jakichkolwiek zmian danych logowania prosimy o kontakt z pomocą techniczną w celu aktualizacji kodu.
Notatka
Pamiętaj, aby upewnić się, że poprawnie wpisałeś adres URL
Sprawdź, czy Twój kod folderu w ustawieniach ESM to incident_management. Jeśli jest inny, możesz zmienić nazwę folderu w API _URL na poprawną. Domyślny folder powinien wyglądać tak, jak pokazano w przykładzie.
Upewnij się, że poprawnie wpisałeś adres w ticketURL
Upewnij się, że kod autoryzacyjny ma strukturę taką jak w przykładzie powyżej „Podstawowy ……….”
2. Aktualizacja biletu
Opis:
Głównym zadaniem tej funkcji jest wprowadzenie zmian do istniejącego zgłoszenia. Możemy użyć tej funkcji na końcu scenariusza, aby zmodyfikować status danego zgłoszenia, np. jeśli użytkownik po przejściu przez scenariusz rozwiąże swój problem, możemy automatycznie zmienić status takiego zgłoszenia z „nowego” na „rozwiązane” lub inny, w zależności od wymagań biznesowych.
Możemy również zmienić status utworzonego zgłoszenia po nieudanej próbie połączenia z agentem.
Należy pamiętać, że funkcja UpdateTicket działa tylko w połączeniu z funkcją CreateTicket.
Za pomocą tej funkcji możesz zmienić status istniejącego biletu lub anulować wcześniej utworzony bilet.
Scenariusz wykorzystania funkcji UpdateTicket może wyglądać następująco:

- Funkcja CreateTicket – tutaj, na samym początku scenariusza, automatycznie tworzymy zgłoszenie w ESM wraz z tytułem (jak wskazano w opisie CreateTicket)
- Pro rozwiązywania problemu – możemy dodać kilka gałęzi w zależności od sposobu rozwiązania problemu i jego złożoności. Na koniec scenariusza chcemy poznać wynik, dlatego konieczne jest przygotowanie pytania podsumowującego. Wynik posłuży do określenia kolejnego kroku.
- Scenariusz po wybraniu opcji „Nie, nadal mam problem” - jeśli problem nadal występuje, możemy wyświetlić dalsze kroki, np. anulować zgłoszenie lub połączyć się z agentem.
- Anuluj ten bilet — aby anulować bilet, należy osadzić tutaj funkcję „UpdateTicket” i dodać ustawienia atrybutów: typ i adres następnego bloku, do którego funkcja przejdzie po zakończeniu zadania.
- Zaktualizuj zgłoszenie – możemy również dodać dodatkowe informacje do istniejącego zgłoszenia, np. jeśli w danej chwili nie ma dostępnych agentów, a chcemy opisać nasz problem, możemy także użyć funkcji UpdateTicket, aby wysłać informacje z opisem naszego problemu.
{
"type": "Cancel",
"nextChild": "statement-c4678291"
}
6. Jeśli problem został rozwiązany i użytkownik wybierze opcję „tak”, za pomocą tej samej funkcji „UpdateTicket” możemy automatycznie zmienić status zgłoszenia na „rozwiązany”. W takim przypadku w ustawieniach wystarczy wpisać adres kolejnego bloku, do którego chcemy się udać.
Aby funkcja działała prawidłowo, w ustawieniach funkcji należy wprowadzić następujące parametry:
Ustawienia funkcji:
Podobnie jak w przypadku ustawień funkcji „CreateTicket” opisanych powyżej w punkcie pierwszym, tutaj również należy podać adres API _URL środowiska ESM i autoryzacji. Dane te powinny być takie same jak w funkcji „CreateTicket”. Jedyną zmianą jest atrybut „mainScriptId”, w którym należy wpisać identyfikator naszego bloku Menu Głównego (znajdziesz go w adresie URL, edytując historię ♻️ Menu Główne).
{
"API_URL": "https://example.env.from.esm.com/api/itsm/dataCardImport.ws?folderCode=incident_management&updateDataCards=true&createDataCards=false",
"auth": "Basic XXXXXXXXaaaa1122233bbbcccdddeeefffXXXXXXXX",
"mainScriptId": 45177
}Supported parameters:
{
"type": "Cancel",
"type": "Description"
}3. UtwórzBiletZFormularza
Opis:
Funkcja CreateTicketFromForm służy do tworzenia zgłoszenia w ESM na podstawie formularza wypełnionego przez użytkownika. Aby ułatwić proces wysyłania zgłoszeń, stworzyliśmy formularz w naszym Chatbot zawierający dwa pola „Temat” i „Opis”. Na podstawie tych danych i podanych przez Ciebie informacji możemy utworzyć zgłoszenie w ESM. Zgłoszeń utworzonych w ten sposób nie można edytować z poziomu Chatbot , ale jeśli użytkownik połączy się z agentem na czacie na żywo, wszystkie jego aktualne zgłoszenia utworzone za pomocą Chatbot będą widoczne w oknie agent.widget.

- Aby móc korzystać z tej funkcji, musimy zdefiniować nasz formularz w pierwszym kroku. Domyślnie ustawione są dwa atrybuty: „Temat” i „Opis”, które będą wysyłane do ESM (istnieje możliwość rozszerzenia tej funkcji o nowe zmienne, w tym celu prosimy o kontakt z zespołem PS InteliWISE).
- Skrypt anulowania formularza. Odpowiada za wyświetlanie komunikatu o anulowaniu formularza i ewentualnych dalszych kroków, w tym przypadku przycisku „Powrót do menu”.
- Funkcja „CreateTicketFromForm” – na podstawie danych z formularza i danych użytkownika, automatycznie zostanie utworzone zgłoszenie. Po pomyślnym utworzeniu zgłoszenia użytkownik automatycznie otrzyma wiadomość z numerem zgłoszenia. Funkcja ta nie wymaga definiowania żadnych dodatkowych parametrów.
Ustawienia funkcji:
Podobnie jak w przypadku ustawień poprzednich funkcji, tutaj również należy podać odpowiedni adres API _URL, ticket_URL, auth oraz wpisać identyfikator skryptu „MainMenu”
{
"API_URL": "https://example.env.from.esm.com/api/itsm/dataCardImport.ws?folderCode=incident_management&createEmptyReferences=true&includeIDs=true",
"resHistoryPath": "https://rail-webfront.app.inteliwi.se/channels/history?channelUid=",
"ticketURL": "https://example.url.from.esm.com/itsm/EfecteFrameset.do#/workspace/datacard/view/",
"auth": "Basic XXXXXXXXaaaa1122233bbbcccdddeeefffXXXXXXXX",
"mainScriptId": 45177
}4. Utwórz sesję czatu
Opis:
Głównym zadaniem tej funkcji jest utworzenie karty danych (data_card) odpowiedzialnej za zbieranie informacji o historii rozmów użytkownika z Chatbot i agentami. Na podstawie informacji przesłanych przez tę funkcję, agent może sprawdzić historię rozmów z danym użytkownikiem. Zebrane dane możemy również wykorzystać do różnego rodzaju analiz i przygotowywania raportów z wykorzystania danej funkcjonalności. Blok z tą funkcją należy umieścić w scenariuszu Live Chat, jak pokazano na poniższej grafice.

- Skrypt funkcji „CreateChatSession”
- Otwieranie połączenia z Agent
Ustawienia funkcji:
Podobnie jak w przypadku pozostałych funkcji, w polu „Obiekt konfiguracyjny” należy wpisać odpowiednie wartości API _URL oraz auth.
{
"API_URL": "https://example.env.from.esm.com/api/itsm/dataCardImport.ws?folderCode=chat_sessions",
"resHistoryPath": "https://rail-webfront.app.inteliwi.se/channels/history?channelUid=",
"auth": "Basic XXXXXXXXaaa111222333dddfffggXXXXXXXX"
}Funkcje ITAM (kod QR):
1. ŻądanieEsmData
Bazując na funkcjach platformy Efecte, dostarczonych w R1_23, możemy przesyłać różne zmienne w adresie URL. Korzystając z tej funkcjonalności platformy, możemy łatwo dodać wybrany atrybut do adresu środowiska klienta (link do ESS). Następnie, wykorzystując wszystkie dane z custom_data, możemy przygotować żądanie do platformy ESM w celu przesłania szczegółowych informacji dotyczących użytkownika lub dowolnego atrybutu zapisanego na karcie danych w ESM.
2. UtwórzIncydent
Funkcja jest szczegółowo opisana w funkcjach ITSM.
Przykładowa zmienna httpBody z funkcji createIncident zawierająca wybrane atrybuty:
const httpBody = `<entityset>
<entity>
<template code="\${efecteChat.integration.deviceIncident.templateCode}"/>
<group code="\${efecteChat.integration.ticket.folderCode}"/>
<attribute code="\${efecteChat.integration.deviceIncident.subject.attributeCode}">
<value>${subject}</value>
</attribute>
<attribute code="\${efecteChat.integration.deviceIncident.description.attributeCode}">
<value>${description}</value>
</attribute>
<attribute code="\${efecteChat.integration.deviceIncident.customer.attributeCode}">
<value>${customData.clientData.externalId}</value>
</attribute>
<attribute code="\${efecteChat.integration.deviceIncident.contactType.attributeCode}">
<value code="\${efecteChat.integration.deviceIncident.contactType.chatbot.valueCode}">ignored</value>
</attribute>
<attribute code="\${efecteChat.integration.deviceIncident.affectedDevice.attributeCode}">
<value>${vars.efecteID}</value>
</attribute>
</entity>3. Utwórz żądanie
Za pomocą tej funkcji możemy tworzyć różnorodne żądania, od standardowych incydentów, przez żądania serwisowe, po własne, niestandardowe żądania. Funkcja createRequest jest tego przykładem. Modyfikując jedynie zmienną httpBody wewnątrz funkcji, możemy wysłać żądany typ żądania.
Przykładowa zmienna httpBody z funkcji crateRequest zawierająca wybrane atrybuty:
const httpBody = `<entityset>
<entity>
<template code="\${efecteChat.integration.ticket.templateCode}"/>
<group code="\${efecteChat.integration.ticket.folderCode}"/>
<attribute code="\${efecteChat.integration.ticket.customer.attributeCode}">
<value>${customData.clientData.externalId}</value>
</attribute>
<attribute code="\${efecteChat.integration.ticket.contactType.attributeCode}">
<value code="\${efecteChat.integration.ticket.contactType.chatbot.valueCode}">ignored</value>
</attribute>
<attribute code="\${efecteChat.integration.ticket.chatSessionId.attributeCode}">
<value>${request.body.sessionId}</value>
</attribute>
<attribute code="\${efecteChat.integration.ticket.subject.attributeCode}">
<value>${params.scriptNode.functionParams.subject}</value>
</attribute>
</entity>4. Wyślij wiadomość EsmDataMessage
Korzystając z danych zebranych przez funkcję requestEsmData, możemy dynamicznie generować wiadomość zawierającą dane z ESM (informacje o użytkowniku, danym urządzeniu lub inne dane pobrane z data_card). Możemy również generować przyciski w Chatbot , które mogą linkować do dowolnego miejsca (artykułów w bazie wiedzy ESM, danych pobranych z uid użytkownika lub linków zewnętrznych).
Pamiętaj, że wszystkie funkcje opisane tutaj muszą zostać skonfigurowane zgodnie z instrukcjami zamieszczonymi w sekcji Funkcje ITSM -> createTicket
Zastosowania powyższych funkcji są bardzo szerokie, dla ułatwienia użytkowania opisaliśmy jeden z projektów wykorzystujący opisywane funkcje.
Przykładem wykorzystania tej funkcji jest projekt przygotowany dla jednego z naszych klientów, polegający na rozpoznawaniu urządzeń za pomocą kodu QR umieszczonego na danym urządzeniu. Po zeskanowaniu kodu QR użytkownik loguje się do ESS. Zostaje on automatycznie przekierowany do Chatbot , gdzie znajdzie wszystkie niezbędne informacje o urządzeniu. W kolejnym kroku użytkownik może zgłosić incydent lub wysłać zgłoszenie serwisowe dotyczące rozpoznanego urządzenia. Wszystkie niezbędne dane, takie jak użytkownik i urządzenie, którego dotyczy problem, są automatycznie dodawane jako atrybuty zgłoszenia. Agent obsługujący zgłoszenie ma natychmiastowy dostęp do wszystkich niezbędnych informacji.
Czat Effie AI
GPT_RequestEsmData:
Opis:
Integracja czatu Effie AI z ChatGPT polega na przekazaniu dodatkowych danych z karty person_data_card ESM wraz z historią konwersacji. Dane, które chcemy przesłać, muszą zostać uwzględnione w funkcji jako atrybuty. Następnie model analizuje zadane pytanie i na podstawie kontekstu konwersacji oraz przesłanych danych jest w stanie udzielić trafnej odpowiedzi. Ta integracja rozszerza możliwości modelu. Funkcja pozwala również na wysłanie samego pytania użytkownika końcowego i wygenerowanie na jego podstawie odpowiedzi, bez dodatkowych danych. Takie podejście ogranicza możliwości modelu, ale w tym przypadku dane ESM nie są przesyłane.
Co obejmuje:
- Deklaracja funkcji tworzącej klasę z metodami przetwarzającymi XML do formatu JSON i przypisującymi ją do zmiennej XMLParser
- deklaracja funkcji analizującej dane otrzymane z ESM do obiektu użytkownika - parseUserData(data)
- deklaracja funkcji analizującej dane otrzymane z ESM do tablicy 5 ostatnich incydentów użytkownika
- deklaracja typów wyliczeniowych: MessageButtonType i PostbackType
- tworzenie zmiennych: preparedAnswer (wyodrębniona z request.body.params), parser (instancja klasy XMLParser z atrybutem {ignoreAttributes: false}), externalID
- Ekstrakcja obiektu, w którym klucz „type” ma wartość „CUSTOM_DATA”, poprzez wysłanie żądania na adres „https://rail-webfront.app.inteliwi.se/channels/history?channelUid=" + uid (params.channelUid). Po otrzymaniu powyższego obiektu, wartość klucza „externalId” (customData.clientData.externalId) jest z niego ekstrahowana i przypisywana do zmiennej externalID. Jeśli takiego klucza nie znajdzie, zwraca informację o jego nierozpoznaniu i wyświetla przycisk „Wstecz”.
- ekstrakcja danych użytkownika z ESM poprzez wysłanie żądania na adres ".../api/itsm/search.ws?query=SELECT DISTINCT $first_name$,$workstations:workstation_model$, $mobile_devices:mobile_device_model$ FROM entity WHERE entity.template.code = 'person' AND $email$ =" + externalID, a następnie analizujemy otrzymane dane xml za pomocą funkcji parseUserData
- ekstrakcja danych o incydentach użytkownika poprzez wysłanie żądania na adres ".../api/itsm/search.ws?query=SELECT $subject$, $status$, $description$, $created$, $updated$ FROM entity WHERE entity.template.code = 'incident' AND $customer_email$ ="," + externalID + 'ORDER BY $updated$ DESC', a następnie analizujemy otrzymane dane xml za pomocą funkcji parseUserIncidents
- w obiekcie success wysyłamy obiekt customData z wartością {user} i uruchamiamy następny blok w scenariuszu.