CustomEvent
This help page is for Desktop Studio. This information is also available for CXone Studio.
|
Maakt een aangepaste gebeurtenis waarmee u unieke data kunt leveren. Met aangepaste gebeurtenissen kunnen gebruikers een string doorgeven aan een specifieke agent. Deze kunnen worden gegenereerd als respons op een agentgerelateerde actie, zoals OnAnswer. Deze kunnen ook worden gegenereerd voordat een agent wordt toegewezen, zolang TargetAgent is ingevuld in de eigenschappen van deze actie. De gegenereerde aangepaste gebeurtenis gaat de stroom van agentgebeurtenissen binnen. Als u een aangepaste gebeurtenis wilt ontvangen, neemt u deel aan de agentsessie om te luisteren naar gebeurtenissen, bijvoorbeeld gebruik van het paradigma get-next-event. Aangepaste gebeurtenissen zijn handig als de bestaande gebeurtenissen niet helemaal geschikt zijn voor uw case. |
Ondersteunde scripttypen
|
|
|
|
|
|
|
Generiek |
Chat | Telefoon | Voicemail | Werkitem | SMS |
Invoereigenschappen
Deze eigenschappen definiëren gegevens die de actie gebruikt bij het uitvoeren.
Vertakking |
Beschrijving |
---|---|
Caption |
Voer een korte woordgroep in die deze actie in het script uniek identificeert. Het bijschrift verschijnt op het scriptcanvas onder het actiepictogram. |
TargetAgent |
De ID van de agent waarop de aangepaste gebeurtenis is gericht. Het Studio-script vult de variabele AgentId in na de OnAnswer-gebeurtenis voor een inbound oproep. De aangepaste gebeurtenissen wordt alleen uitgevoerd wanneer de AgentId wordt ingevuld. Als u een aangepaste gebeurtenis wilt verzenden vóór toewijzing van een agent, moet u een agent-ID opgeven in het veld TargetAgent. |
EventName |
Voer de naam in voor de aangepaste gebeurtenis. Meerdere gebeurtenissen met dezelfde naam zullen elkaar overschrijven. Alleen de meest recente gebeurtenisnaam blijkt bewaard. Dit veld is hoofdlettergevoelig. |
PersistInMemory |
Als een gebeurtenis plaatsvindt terwijl een agent is uitgelogd en u wilt dat de agent de gebeurtenis ontvangt nadat hij of zij weer inlogt, stelt u deze waarde in op true. Anders stelt u dit in op false. |
Data |
De data-payload voor deze gebeurtenis. |
Resultaatvertakkingsvoorwaarden
Met Resultaatvertakkingsvoorwaarden kunt u vertakkingen maken in uw script om verschillende resultaten te behandelen wanneer de actie wordt uitgevoerd.
Voorwaarde |
Beschrijving |
---|---|
Default | Het pad dat altijd wordt gevolgd, behalve als het script voldoet aan een voorwaarde die vereist dat het een van de andere vertakkingen volgt. Dit pad wordt ook gevolgd als de andere vertakkingen van de actie niet zijn gedefinieerd. |
OnAgentNotConnected | Het pad dat wordt gevolgd als de doelagent niet is verbonden. |
Voorbeeld van een script
In dit scriptvoorbeeld staan de vertakkingen voor de drie scenario's waarbij u een aangepaste gebeurtenis zou spawnen:
-
Vertakking 1: Een aangepaste gebeurtenis initiëren en ontvangen vóór een agentinteractie. De aangepaste gebeurtenis wordt ontvangen door de get-custom-event-loop wanneer een contact op 1 drukt.
Voorbeeldpayload weergeven{ "sessionId": "aUF6WkZJeW1nNno4NUp1eEhwZkxGdVgzaUJIRjIyMWlkaUQ2NkN0ejN0VkFyODQ4UFBZV3BiOVhRUT09", "events": [ { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "type": "CustomEvent", "eventName": "This can be anything", "data": "Menu Press 1" } ] }
-
Vertakking 2: Een aangepaste gebeurtenis initiëren en ontvangen vóór een agentinteractie. De aangepaste gebeurtenis wordt ontvangen door de get-custom-event-loop wanneer een contact op 2 drukt. Er wordt ook een andere aangepaste gebeurtenis gespawnd nadat de Reqagent wordt geactiveerd en voordat de agent de oproep beantwoordt.
Voorbeeldpayload weergevenPayload vóór agentinteractie:
{ "sessionId": "NGVFOEd4UmJIdnlGWCtLblFEanRRSldtU2hDcXgxc1JhSUVHZ0NKNXdBSVRxa0F3MjhiOCtQM2E=", "events": [ { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "type": "CustomEvent", "eventName": "This can be anything", "data": "Menu Press 2" { ] }
Payload nadat Reqagent wordt geactiveerd en voordat de agent de oproep beantwoordt:
{ "sessionId": "NGVFOEd4UmJIdnlGWCtLblFEanRRSldtU2hDcXgxc1JhSUVHZ0NKNXdBSW4xeThiR0M2R1FBYlBhZz09", "events": [ { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "type": "CustomEvent", "eventName": "This can be anything", "data": "Menu Press 2 and post reqAgent" { ] }
-
Vertakking 2 en 3: een aangepaste gebeurtenis initiëren en ontvangen nadat een agent de oproep beantwoordt.
Voorbeeldpayload weergeven{ "sessionId": "aktmZEY1aFpDWlVwM0FzenhzTHZ2TnhJanpsZjR5SXhsekYwaUN2TjFYbUcwOW82cjRsZVdIc1FKdz09", "events": [ { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "Type": "CallContactEvent", "ContactID": "510965166955", "MasterID": "510965166955", "Status": "Active", "OriginalState": "False", "CallType": "Regular", "DNIS": "", "ANI": "", "Skill": "23097992", "IsInbound": "True", "StartTimeUTC": "2024-07-12T15:46:38.000Z", "StartTime": "2024-07-12T15:46:38.000Z", "LastStateChangeTimeUTC": "2024-07-12T15:47:11.000Z", "LastStateChangeTime": "2024-07-12T15:47:11.000Z", "ScreenPopUrl": "", "DisconnectCode": "NA", "IsLogging": "False", "Timeout": "", "AllowDispositions": "True", "Label": "", "IsLinked": "False", "TimeZones": "", "FinalState": "False", "OtherInformation": "", "OtherInformationNewFormat": "", "BlendingToSkillName": "", "DeliveryType": "None", "CustomData": "", "ComplianceRecord": "False", "ConfirmationRequired": "False", "ParentContactId": "0", "OmniGroupId": "0", "ExternalId": "", "AnsMachineOverride": "False", "AnsMachineOverrideEndTime": "", "CustomerCardUrl": "", "InteractionId": "6a006eee-03d3-49fd-8aa9-614482684721", "IsRequireManualAccept": "False", "PhoneCallRefusalTimeOut": "45", "FaxMachineOveride": "False" }, { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "type": "CustomEvent", "eventName": "This can be anything", "data": "This is a sample message after onAnswer" }, { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "Type": "Mute", "AgentMuted": "True" } ] }
Aangepaste gebeurtenissen maken via API
U kunt ook een aangepaste gebeurtenis maken met de custom-event API . Dit kan nodig zijn als de actie CustomEvent niet voldoet aan de vereisten van uw case. Aangezien services meestal de stroom van agentgebeurtenissen verbruiken, kan dit een handige methode zijn om gegevens te delen zonder dat u uw eigen aangepaste eindpunt moet implementeren. Dit is met name relevant voor kleine apps of microservices.
U vraagt aan contacten hun favoriete kleur in de IVR Interactive Voice Response: een telefoonmenu waarmee bellers via telefoontoetsen en/of gesproken opdrachten keuzes kunnen maken en/of informatie kunnen invoeren.. U verpakt en verzendt deze selectie als een aangepaste gebeurtenis met de naam FavoriteColor. U hebt ook een bijbehorende service die wordt uitgevoerd met uw agentapplicatie, die luistert naar de FavoriteColor-gebeurtenis. Hiermee kunt u de kleurselectie van het contact doorgeven aan de bijbehorende service. De service toont vervolgens de kleur binnen de agentapplicatie.
Gebruik van de API is vergelijkbaar met de Studio-actie, behalve dat u parameters gebruikt in plaats van eigenschappen. Bij gebruik van CXone API's moet u ook API-authenticatie implementeren. Bij gebruik van de API moet u het volgende doen:
-
De gebeurtenis een naam geven.
- Een doelagent toewijzen in de agentId-parameter of eigenschap Doelagent van de Studio-actie. U kunt de ID gebruiken van de variabele AgentId. Dit wordt automatisch ingevuld na de gebeurtenis OnAnswer. Als u een aangepaste gebeurtenis wilt verzenden voordat een agent is toegewezen, moet u toch een agent-ID opgeven.
- Het veld persistInMemory instellen. Als de agent is uitgelogd, is dit bepalend voor het feit of de agent de gebeurtenis ontvangt nadat hij weer inlogt.
- Het veld Data invullen. Dit is de payload als een string.
- De aangepaste gebeurtenis verbruiken met de get-next-event API of de Studio-actie Volgende gebeurtenis ophalen.
Hieronder staat een voorbeeld van het maken van een aangepaste gebeurtenis via API:
Voorbeeldspiraal:
curl -X PUT "https://api-$AREA.$DOMAIN/incontactapi/services/v30.0/agents/$AGENT_ID/custom-event?eventName=From_Postman&persistInMemory=false&data=Sent_from_Postman"
Verzoektype: PUT
Velden:
Parameter | Type | Details |
---|---|---|
agentId | String | De waarde van de agent-ID waarmee de doelagent wordt geïdentificeerd. |
eventName | String | De naam van de gebeurtenis. Deze moet worden gebruikt door alle gebruikers van de gebeurtenis. |
persistInMemory | Boolean | Als de agent die wordt geïdentificeerd met agentId momenteel niet is ingelogd, wordt de gebeurtenis genegeerd of blijft deze aanwezig voor de agent nadat deze weer inlogt. |
data | String | Elke willekeurige gegevensstring. |