Model voor technische ontwerpdocumentatie

Technische ontwerpdocumenten (TDD) beschrijven de details van een systeem. Ze vormen een belangrijk onderdeel van de planning van uw aangepaste virtuele-agentintegratie. Deze pagina helpt u bij het maken van een TDD voor uw aangepaste integratie van een virtuele agent.

Elke sectie in dit TDD-sjabloon bevat voorbeelden of aanvullende informatie over de beoogde inhoud van die sectie. Waar mogelijk hebben de voorbeelden betrekking op de voorbeeldintegratie van een tekstgebaseerde virtuele agent.

Gebruik deze TDD-gids en de voorbeeldintegratie als uitgangspunt bij het plannen van uw eigen aangepaste integratie. Let op: omdat ze slechts als voorbeeld dienen, zijn noch de TDD, noch de voorbeeld-proxytunnel ontworpen voor een specifieke omgeving. Houd voor de TDD en proxytunnel die u maakt, rekening met de unieke netwerkarchitectuur en vereisten van uw organisatie. Ook kan het nodig zijn om secties toe te voegen of te verwijderen om te voldoen aan de behoeften van uw omgeving.

Overzicht

Dit technisch ontwerpdocument beschrijft de aangepaste integratie van [uw virtuele agent] met NICE CXone. De integratie omvat de volgende onderdelen die in dit document moeten worden beschreven:

  • Architectuur, met inbegrip van de proxytunnel/gateway-middleware.
  • De configuratievereisten, inclusief vaardigheden, contactpunten en kanalen, voor CXone.
  • Virtuele Agent Hub en het eindpunt voor aangepaste virtuele-agentintegraties (Custom Exchange Endpoint).
  • Studio-scripts, inclusief Snippet-code.
  • Authenticatievereisten.
  • De configuratie van de virtuele agent, eindpunten en details over de herkomst van berichten.
  • JSON-schema's voor rijke media-inhoud in Digital Experience.
  • Toewijzing van verzoek- en responsschema's.
  • [andere componenten die uniek zijn voor uw architectuur en integratie].

Overzicht architectuur

Taak: Maak een schematisch overzicht van uw integratie. Neem alle componenten in uw omgeving op die nodig zijn bij het afhandelen van een interactie. Dit omvat de proxytunnel, de virtuele agent, een autorisatieserver enzovoorts. Neem een overzichtsbeschrijving op. Maak extra schema's als u bepaalde onderdelen gedetailleerder wilt weergeven.

Voorbeeld

Dit is een voorbeeld van een integratie met een tekstgebaseerde virtuele agent op een ACD-chatkanaal. Omdat dit een voorbeeldintegratie is, zijn sommige dingen anders dan bij een echte integratie:

Dit is een eenvoudige integratie waarvoor geen autorisatie nodig is.

CXone-configuratie

Taak: Maak een overzicht van de kanalenGesloten Een manier waarop contacten kunnen communiceren met agents of bots, zoals spraak (telefoon), e-mail, chat, social media enzovoort., vaardighedenGesloten Skills worden gebruikt om de aanlevering van interacties te automatiseren op basis van de vaardigheden, capaciteiten en kennis van de agent, contactpuntenGesloten Het toegangspunt dat een inbound contact gebruikt om een interactie te starten, zoals een telefoonnummer of e-mailadres. campagnes en alle andere relevante configuratie-instellingen voor CXone. Als uw integratie gebruikmaakt van een Digital Experience-kanaal (Digitaal), neem dan het Digital Experience-kanaal en de vereiste digitale skills of routeringswachtrijenGesloten Routeringswachtrijen bepalen naar welke agent een case moet worden gestuurd. De systeembeheerder maakt routeringswachtrijen om cases te kunnen doorsturen naar agents met expertise op dit gebied. op. Zie voor meer informatie CXone Configuratievereisten op de pagina Hulpmiddelen.

Voorbeeld

  • KanaalACD-chat.
  • Skill: chat-skill genaamd IBChat_CEESample.
  • Contactpunt: chatcontactpunt genaamd IBChat_CEESample.
  • CampagneCEESample.

Kanaalvereisten

Omdat dit een voorbeeldintegratie is, is een chatprofiel niet vereist. In een echte integratie zou u in dit gedeelte echter de vereisten voor het chatprofiel specificeren. Het chatprofiel bepaalt hoe het chatvenster eruitziet. In dit gedeelte vermeldt u ook de pagina's op de website waar de chatbubbel zich bevindt, evenals eventuele andere gerelateerde vereisten.

Virtuele Agent Hub-configuratie

Taak: Vermeld de webhook-URL voor uw virtuele agent en eventuele parameters die voor uw virtuele agent met verzoeken mee moeten worden verzonden. Als u bijvoorbeeld vaststelt dat er een andere time-out nodig is, voeg die dan toe in dit gedeelte. Het volledige configuratieproces voor het Custom Exchange Endpoint in Virtuele Agent Hub wordt beschreven op de pagina Implementatie.

Voorbeeld

  • Webhook-URLhttps://https://4db3-5-46-62-207.nrgok.io/proxy/performbotexchange
  • Eindpuntparameters: geen vereist
  • Aangepaste headers (alleen integratieversie 2.0.0 en 3.0.0): niet vereist
  • Time-out: geen wijziging nodig
  • Autorisatieheader: niet vereist
  • OAuth-configuratie: niet vereist
    • OAuth-URL: n.v.t.
    • OAuth Request-parameters: n.v.t.
    • OAuth-headers: n.v.t.

Let op: in integratieversie 1.0.0 moet dynamische authenticatie worden geconfigureerd in het script en niet in Virtuele Agent Hub.

Studio-scripts

Taak: Voeg screenshots en uitleg toe van de scripts die u ontwerpt voor uw aangepaste virtuele-agentintegratie. Voeg zo nodig beschrijvingen van de variabelen, snippetcode en andere details toe. Zie voor meer informatie de richtlijnen en vereisten voor scripts.

Voorbeeld chatscript

Dit is hetzelfde script dat wordt gebruikt in de voorbeeldintegratie. U kunt het gebruiken als basis voor uw eigen script. Er zijn ook voorbeeldscripts voor virtuele spraakagents en digitale agents.

Download dit script.

Dit script begint met een Snippet-actie die verschillende dynamische gegevensobjecten creëert die nodig zijn voor de integratie van een virtuele agent:

  • intentInfo
  • nextPromptSequence
  • nextPromptBehaviors
  • customPayload
  • botSessionState

De eerste Textbot Exchange-actie stelt de intentieGesloten De betekenis of de bedoeling van wat een klant zegt of typt; datgene wat de klant wil communiceren of bereiken. in waarop de virtuele agent moet reageren in als de welkomstintentie. Wanneer de virtuele agent antwoordt, vult hij de objecten botSessionState en customPayload en converteert hij deze naar JSON met de .asjson()-functie.

De eerste Textbot Exchange-actie heeft drie vertakkingen:

  • Error: de foutvertakking verwerkt de fout en stuurt een passend bericht naar het contact.
  • Return Control to Script: deze vertakking wordt gevolgd wanneer de agent aangeeft dat de conversatie voltooid is of dat het contact doorgeschakeld moet worden naar een live agent.
  • Prompt and Collect Next Response: deze vertakking zet de conversatie voort, zoals hieronder beschreven.

Het script geeft de van de virtuele agent ontvangen gegevens door in de objecten botsessionState, customPayloadFromBot, intentInfo en nextPrompt. De actie Askcaller stuurt de respons van de virtuele agent (nextPrompt) naar het contact. Deze actie heeft vier vertakkingen:

  • Error
  • Return Control to Script
  • Caller Responded
  • Default

Alle vertakkingen gaan naar de tweede Textbot Exchange-actie, die de juiste informatie naar de virtuele agent stuurt, inclusief het volgende verzoek van het contact in de variabele RES. Deze Textbot Exchange heeft dezelfde vertakkingen als de eerste instantie van de actie in het script.

Eindpuntautorisatie van de service

Taak: Stel de autorisatievereisten van de service voor virtuele agents vast. Vul dit gedeelte van de TDD in als autorisatie vereist is. Geef de autorisatievereisten voor uw omgeving schematisch weer. Vermeld in detail wat welke eisen er aan autorisatieaanvragen worden gesteld. Denk hierbij aan:

  • Het type autorisatie (headers of tokens).
  • De sleutel/waardeparen voor alle vereiste headers. Als u Custom Exchange versie 1.0.0 gebruikt, hebt u alleen de waarde voor de header.
  • Eventuele configuratievereisten voor de service voor virtuele agents (als u headers gebruikt) of voor de autorisatieserver (als u tokens gebruikt).
  • De URL van de autorisatieserver (als u tokens gebruikt).
  • Sleutel/waardeparen die nodig zijn voor de OAuth Request-body en -headers.
  • Als u andere OAuth-instellingen moet of wilt aanpassen, geef die wijzigingen dan ook aan. U kunt de headernaam, het voorvoegsel van de headerwaarde en de vervaltijd van het token wijzigen.

Zie voor meer informatie de sectie Autorisatie op de pagina Hulpmiddelen.

Voorbeeld van service-eindpunten zonder autorisatie (openbaar)

In de voorbeeldintegratie is autorisatie niet nodig. Het volgende diagram toont een voorbeeld van hoe een openbaar eindpunt eruit zou kunnen zien.

In dit voorbeeld is het verzoek afkomstig van Virtuele Agent Hub. Er is eerst interactie met de API-gateway en vervolgens met de service voor virtuele agents.

Voorbeeld van service-eindpunten met autorisatie

Wanneer een service voor virtuele agents autorisatie vereist om aanvragen te ontvangen, moet u autorisatieheaders meesturen met elke aanvraag. U kunt ook dynamische authenticatie gebruiken. Daarvoor is een autorisatieserver (tokenprovider) nodig. De architectuur voor een integratie die gebruik maakt van headers zou er ongeveer hetzelfde uitzien als in het voorbeeld van een openbaar eindpunt in het vorige gedeelte. De volgende afbeelding toont een voorbeeldimplementatie van dynamische authenticatie.

In dit voorbeeld wordt bij aanvang van het script een REST-verzoek gedaan aan de autorisatieserver, die een token verstrekt. Het token wordt meegestuurd naar het Custom Exchange Endpoint. Zolang het token geldig is, kunnen er verzoeken naar de service voor virtuele agents worden gestuurd.

Proxytunnel

Taak: Bepaal hoe de proxytunnel ingericht moet worden:

  • Hoe uw proxytunnel zal worden gehost.
  • In welke taal de proxytunnel zal worden ingericht en welke toepassingen, afhankelijkheden, SDK's, uitbreidingspakketten enz. nodig zijn.
  • Een failoverstrategie voor de proxytunnel.

Voorbeeld

Hosting proxytunnel

De proxytunnel in het voorbeeld wordt gehost op de lokale machine van de persoon die de voorbeeldintegratie van de tekstgebaseerde virtuele agent opzet.

Taal

De proxytunnel wordt ontwikkeld in C#. Daarvoor zijn de Visual Studio code-editor en een .NET SDK vereist.

Failoverstrategie

Omdat dit een voorbeeldintegratie is, is een failoverstrategie niet vereist.

Gebruiksscenario virtuele agent – Toewijzing proxy naar eindpunt virtuele agent

Taak: Maak een gedetailleerd responsreeksdiagram dat de verzoeken en responsen illustreert die op elk punt tijdens een interactie worden gebruikt. Documenteer welke verzoek- en responsschema's in CXone en uw service voor virtuele agents er nodig zijn voor uw aangepaste integratie. Het voorbeeld in dit gedeelte toont alleen schema's voor CXone. Zie voor meer informatie de paragrafen Proxytunnel en Responsreeksdiagram op de pagina Hulpmiddelen.

Voorbeeld

Het responsreeksdiagram en alles wat daarop volgt is een voorbeeld gebaseerd op de Swagger die beschikbaar was op het moment van publicatie. Gebruik altijd de schema's die gedocumenteerd zijn in de openbaar beschikbare Swagger Een vierkant met een pijl die vanuit het midden naar buiten wijst. voor aangepaste virtuele-agentintegraties. De Custom Exchange Endpoint-schema's kunnen periodiek worden bijgewerkt. Zie voor meer informatie over hoe dit uw aangepaste integratie beïnvloedt de pagina Hulpmiddelen.

Verzoek- en responsschema's

De verzoekschema's zijn opgenomen op deze pagina, als voorbeeld van het documenteren van schema's. Zie voor gedetailleerde uitleg over schema's voor de aangepaste integratie van virtuele agents de pagina Schema's.

Verzoek - ExternalIntegrationBotExchangeRequest

Parameter

Type

Beschrijving

virtualAgentId String

De naam van de configuratie-app voor Custom Exchange Endpoint in Virtuele Agent Hub. De naam van de virtuele agent die de app aanroept.

botConfig Object De parameters die zijn gedefinieerd in botConfig worden gediscussieerd in andere secties van dit document.
userInput String De tekstinvoer van de gebruiker die is ontvangen van het contactpuntGesloten Het toegangspunt dat een inbound contact gebruikt om een interactie te starten, zoals een telefoonnummer of e-mailadres. waaraan het script is toegewezen.
userInputType Enum Het door het script geleverde type gebruikersinvoer.
executionInfo ActionExecutionInfo Telemetriegegevens voor de uitvoering van een actieGesloten Een actie voert een proces uit in een Studio-script, bijvoorbeeld om klantgegevens te verzamelen, berichten of muziek af te spelen of contacten naar een agent te routeren. binnen een script.
systemTelemetryData SystemTelemetryData Gegevens die kunnen worden gebruikt voor het debuggen. Bevat informatie over de CXone-infrastructuur.
base64wavFile String Bevat het Base 64-gecodeerde WAV-bestand met de header van het verzoek en de audio-opname van de uitingGesloten Iets wat een contact zegt of typt. van de gebruiker.
botSessionState Object Kan worden gebruikt voor round-trip sessie-informatievariabelen die worden ontvangen van de virtuele agent.
customPayload Object Kan worden gebruikt om extra variabelen en parameters te verzenden vanuit de context van het Studio-script.
mediaType String Geeft het mediatype aan van het script dat wordt uitgevoerd.

Verzoek - ActionExecutionInfo

Parameter

Type

Beschrijving

contactID Integer De unieke ID van de interactie.
busNo Integer De unieke ID van de tenantGesloten Een organisatorische eenheid die wordt gebruikt om technische ondersteuning, facturering en globale instellingen voor uw CXone-omgeving te beheren.
requestId Integer

Een iteratief nummer dat elk verzoek in een specifieke interactie identificeert.

 

actionType String Het actietype dat het verzoek naar het Custom Exchange Endpoint verstuurt.
actionId Integer De unieke ID van de actieGesloten Een actie voert een proces uit in een Studio-script, bijvoorbeeld om klantgegevens te verzamelen, berichten of muziek af te spelen of contacten naar een agent te routeren. in het script. Actie-ID's zijn gebaseerd op de volgorde waarin de acties aan het script zijn toegevoegd.
scriptName String De naam van het script.

Verzoek - SystemTelemetryData

Parameter

Type

Beschrijving

consumerProccessHost String De hostnaam van de toepassing die de API aanroept.
consumerProcessName String De proces- of applicatienaam van de API-aanroeper. Bijvoorbeeld EsnMediaServer.exe.
consumerProcessVersion String Versie-informatie over de toepassing die de API aanroept.
inContactClusterAlias String Geef hier de NICE CXone-clusteralias op, zoals C7 of M33 (indien van toepassing en beschikbaar).
inContactScriptEngineHost String Geef hier de hostnaam van de NICE CXone-scriptengine op, zoals lax-c4cor01 of aoa-c32cor01 (indien van toepassing en beschikbaar).
consumerMetaData Object Willekeurige en uitbreidbare gegevens over de API-gebruiker.

Rijke media-inhoud voor Digitale kanalen

Als u een aangepaste virtuele-agentintegratie configureert voor een Digital Experience-kanaal (Digitaal), kunt u ervoor kiezen om rijke media-inhoud in berichten te ondersteunen. Rijke media-inhoud omvat inhoud zoals lijstkiezers, afbeeldingen, tijdkiezers enzovoort.

Taak: Configureer uw digitale script om rijke media-inhoud te verzenden. Bepaal welke rijke media u wilt ondersteunen en voeg de schema's voor deze inhoud toe aan dit gedeelte van uw TDD.

Voorbeeld

De voorbeeldintegratie gebruikt geen Digital Experience-kanaal. Hieronder staat echter een voorbeeld van een JSON-schema voor snelle antwoorden in een digitaal-chatkanaal:

"messageContent": {
"type": "PLUGIN",
"payload": {
	"elements": [
	 {
		"id": "Ukm0hRAiA",
		"type": "QUICK_REPLIES",
		"elements": [
				{
					"id": "Akm0hRAiX",
					"type": "TEXT",
					"text": "This is some text"
				},
				{
					"id": "Nkm0hRAiE",
					"type": "BUTTON",
					"text": "Button 1",
					"postback": "click-on-button-1"
				},
				{
				
					"id": "TkGJ6CAiN",
					"type": "BUTTON",
					"text": "Button 2",
					"postback": "click-on-button-2"
				},
				{
					"id": "EyCyTRCi4",
					"type": "BUTTON",
					"text": "Button 3",
					"postback": "click-on-button-3"
				}
			 ]
			}
		]
 	}
}