CallPro Documentation

CallPro Documentatie, Handleidingen, Release Notes, Tips and Tricks

View the Project on GitHub calway/CallPro-Docs

Belscripts maken voor beginners

CallPro wordt geleverd met een autoscript. Met het autoscript wordt een eenvoudige callflow op basis van de velden in de scriptdefinitie gemaakt. Hiermee kan een basis campagne zeer snel worden opgestart. Dit hoofdstuk hoort bij de cursus “Belscript maken voor beginners”.

Het autoscript

Het autoscript bestaat uit een aantal vaste onderdelen zoals in onderstaand afbeelding weergegeven.

Toolbar

In de toolbar wordt campagne en belopdracht informatie afgebeeld. Helemaal links staat het logo dat is ingesteld op de scriptdefinitie. Op deze manier kan per opdracht(gever) een eigen identiteit aan de campagne gegeven worden. Zorg ervoor dat een afbeelding met formaat 310x150 wordt gebruikt, of een verhouding die hieraan gelijk is.

De tweede tile geeft informatie over de laatste belpoging weer. Daarna komt een optionele tile om de agendamodule te openen. Deze tile wordt alleen afgebeeld als er een afspraak status wordt gebruik in de lijst met belopdrachtstatussen.

Daar weer naast staan 4 tiles voor het bellen, ophangen, doorschakelen en optioneel een bel-me-niet tile. Helemaal rechts staat de Pauze tile.

Als gebruikt wordt gemaakt van een CTI-koppeling kan met de “Bel nummer” knop (groen) het gesprek worden gestart, met “Ophangen” (rood) kan het telefoongesprek worden beëindigd. De doorverbinden tile toont een popup met doorverbinden met of zonder ruggespraak.

De “Bel-me-niet” tile (hier niet afgebeeld) kan indien beschikbaar het gesprek worden doorgezet naar de bel-me-niet IVR.

Aanvullend kan ook Campagne informatie worden afgebeeld die in het informatiebord bij de campagne staat ingesteld (weergeven in belscript). Als extra kan ook een variabele SCRIPT.INFO worden gebruikt om informatie hier te plaatsen.

Voor de weergave wordt gebruik gemaakt van een accordion.

Belopdrachtstatussen

De voor de scriptdefinitie geactiveerde belopdrachtstatussen worden links in de groepen waarin ze binnen CallPro zijn gedefinieerd afgebeeld.

Voor de groepering wordt gebruik gemaakt van de status groep waar de betreffende statussen in zijn aangemaakt. Subgroepen met zelfde naam worden samengevoegd. De volgorde van de statussen kan worden bepaald met de Resource Explorer. Ga op de groep “Belopdracht statussen” staan en right-click. Kies “Volgorde groepen…” om de weergave volgorde van de groepen te bepalen, en “Volgorde…”om de volgorde van de statussen te bepalen binnen deze groepen.

   

Scriptvelden

Alle velden uit de scriptdefinitie worden in een standaard opmaak afgebeeld. Vanaf V4.30 wordt het onderscheid tussen een blok met NAW en BODY afgeschaft. Alle velden komen in 1 blok te staan in de volgorde zoals ze in de scriptdefinitie staan. Hoewel de SCRIPT.NAW en SCRIPT.BODY variabelen in de huidige versie nodig wel werken worden die in de toekomst verwijderd en adviseren wij om nu al het gebruik af te bouwen.

De scriptvelden worden standaard in de volgorde uit de scriptdefinitie met 1 veld per regel weergegeven. Met de optie “Laatste veld op de regel” wordt bepaald op het volgende veld op een nieuwe regel komt, door dit bij een veld uit te zetten komt het volgende veld ook op dezelfde horizontale regel.

Of weergave op 1 regel met de velden achter elkaar:

   

Belopdrachtnotitie

Hier kan een notitie worden vastgelegd door de telemarketeer. Tevens wordt eronder een lijst afgebeeld met voorgaande belpogingen, alleen de laatste is zichtbaar, de overige kunnen worden getoond door de blauwe knoppen te gebruiken. In het grijze vlak staat de huidige notitie. In het lege veld kan een nieuwe notitie worden gezet. Via knippen en plakken kan ook informatie uit de vorige notitie worden overgenomen.

In de pagina footer wordt het versienummer van het autoscript afgebeeld en staat tussen haakjes [ ] de naam van de scriptdefinitie afgebeeld. Helemaal rechts is een knop om snel naar boven te springen.

Met het hyperlink symbool gevolgd door een cijfer wordt aangegeven of deprecated opties of ander problemen zijn herkend met de gebruikte autoscript opties. Klik op dit item om een venster te openen met de details.

Scriptdefinitie instellingen

Veld weergave

Het autoscript maakt gebruik van de informatie uit het tabblad “Autoscript: invoertype” voor het afbeelden van de scriptvelden. De volgende invoertypes worden ondersteund.

Textbox

Dit maakt een invoerveld met 1 regel waar vrije tekst van een beperkte lengte in kan worden ingevoerd. Zie als voorbeeld de bedrijfsnaam, voornaam, achternaam en plaats velden.

Textarea

Dit invoertype wordt gebruikt voor velden waar meer, en meerdere regels aan vrije tekst worden ingevuld. Voor de opslag kan het beste een veld met datatype “memo” gebruikt worden. CallPro maakt zelf voor de belopdracht notitie ook gebruik van die invoertype.

Radiobutton

Een radiobutton geeft meerdere keuzes (minimaal 2) waarbij slechts 1 keuze gemaakt kan worden. Het veld Q1 is een voorbeeld van een radiobutton. Meestal gaat het om Ja/Nee, of Groen/Geel/Rood keuzes waarbij altijd 1 antwoord/keuze de juiste is.

Checkbox

De checkbox geeft de mogelijkheid om 1 of meer keuzes waarbij het mogelijk is om, anders dan bij de radiobutton, ook meerdere keuze te selecteren. Meestal gaat het om vragen over kennisgebieden zoals “welke merken kent u”.

Combobox

Een combobox werkt op dezelfde manier als een radiobutton, er is slechts 1 keuze mogelijk. Qua weergave biedt de combobox een compacte weergave indien de lijst met opties erg lang is.

Label

Inde de inhoud van het scriptveld alleen hoeft te worden afgebeeld, maar het niet nodig is om de waarde te wijzigen kan gebruik worden gemaakt van een label. Het autoscript gebruikt in de Pagina header bijvoorbeeld labels voor het weergaven van de waarden.

HTML

Voor situaties waarbij een complexe of samengestelde weergave wenselijk is die niet met de voorgenoemde invoertypes mogelijk is kan Custom HTML worden gebruikt. Met dit type moet de scriptbouwer zelf de HTML opmaak invullen voor weergave van een scriptveld.

Hidden

Als het veld wel gebruikt wordt in javascript dan kan het type hidden worden gebruikt. Hiermee wordt het veld onzichtbaar op de pagina gezet.

Weergave opties

Het autoscript ondersteund speciale opties die de weergave beïnvloeden. Deze worden opgegeven in het Opties veld. In dit veld kan een json object worden geplaatst met custom instellingen. Voor backward compatibility wordt tot 4.3.3 het noemen van de @functies driect in het veld ondersteund.

De opmaak is als volgt:

{  
“Version”: “1.0”,  
“DisplayFormat”: “<format-strings>”  
}

Voor <format-strings> kunnen vervolgens de volgende functies worden gebruikt.

Datum velden

Als een scriptveld van het datatype “Datum” is wordt bij het betreden van het veld automatisch een kalender weergegeven. Voor bijvoorbeeld karakter velden kan deze weergave worden geforceerd door bij de opties de code @F(Date) in te vullen.

Naam velden

Voor de weergave van namen zijn de volgende speciale format-strings beschikbaar. Hiermee wordt de veldinhoud opgemaakt conform weergave opties voor namen.

Functie Werking
@F(Initials) Weergave van initialen in hoofdletters met puntjes tussen de letters.
@F(First) Weergave van de voornaam waarbij elke 1e letter van de naam in hoofdletters wordt gezet.
@F(Middle) Weergave van tussenvoegsel in kleine letters.
@F(Last) Weergave van de Achternaam waarbij elke 1e letter van de naam in hoofdletters wordt gezet.
@F(Lower) Weergave van tekst in kleine letters
@F(Upper) Weergave van tekst in hoofdletters
@F(Proper) Weergave van tekst met 1e letter van elk woord in hoofdletters, en de rest in kleine letters.
@F(TelNr) Forceer dat er een dialer knopje achter het veld wordt gezet
@F(TelNr,M) Als voorgaande, maar nu met een mobiel icoon

Overige functies

Voor enkele andere velden zijn ook speciale format-strings beschikbaar.

Functie Werking
@F(Url) Weergave van een wereldbol icoon knop achter het veld. Deze knop opent de website uit het veld in een popup venster.
@F(Email) Opmaak en controle van email adres invoer.
@F(IBAN) Doe een IBAN check op een ingevoerd rekeningnummer. Dit is nog geen garantie dat het nummer correct is, of van de persoon die het nummer opgeeft!
@F(ADDRESSPRO)

Voeg een knop achter het veld toe dat de systeem adres velden gebruikt voor een controle via de addresspro validatie service (hiervoor is een aparte licentie nodig).

Voor de validatie wordt het addr_zip en addr_number veld gebruikt om de addr_street en addr_city op te zoeken.

Opmaak

De scriptvelden maken gebruik van een simpele opmaak. Elke scriptveld wordt in een kolom gezet met een Vraag gevolgd door een control. De Vraag komt uit het betreffende veld van het tabblad “Autoscript: algemeen”. De control maakt gebruik van het op het tabblad “Autoscript: invoertype” ingestelde invoertype.

De tekst uit het Vraag veld kan worden opgemaakt met standaard html opmaak. De gebruikte MetroUI stijl die wordt gebruikt biedt een aantal speciale opmaakcodes. Voor nu wordt enkel verwezen naar de webpagina van het Metro UI project: https://metroui.org.ua/v3/typography.html

Fulfilment variabelen voor server-side opmaak

Ook in het autoscript zijn enkele fulfilment variabelen beschikbaar die op de server worden uitgevoerd en in de pagina worden gezet. Deze velden kunnen op de meeste plaatsen waar html of tekst kan worden geplaatst worden gebruikt.

Veld Waarde
%AGENT.RESID% Unieke ID van de Agent
%AGENT.RESNAME% Naam van de Agent
%AGENT.RESDESCR% Omschrijving die bij de Agent is ingevuld
%AGENT.PARENTID% Unieke ID van de agentgroep waar deze Agent in staat
%AGENT.ACCOUNT% Account naam
%AGENT.EMAIL% Email adres
%AGENT.GENDER% Geslacht M/V
%AGENT.MOBILETELNR% Mobiele telefoonnummer
%AGENT.HOMETELNR% Vast telefoonnummer
%AGENT._____% Aanvullend worden alle variabelen die bij de agent zijn vastgelegd ook opgenomen. LET OP! Indien een variabele naam overeenkomt met een van de bovenstaande velden wordt deze waarde overschreven!
Veld Waarde
%CAMPAIGN.RESID% Unieke ID van de Campagne
%CAMPAIGN.RESNAME% Naam van de Campagne
%CAMPAIGN.RESDESCR% Omschrijving die bij de Campagne is ingevuld
%CAMPAIGN.PARENTID% Unieke ID van de campagnegroep waar deze Campagne in staat
Veld Waarde
%CALLLIST.RESID% Unieke ID van de Bellijst
%CALLLIST.RESNAME% Naam van de Bellijst
%CALLLIST.RESDESCR% Omschrijving die bij de Bellijst is ingevuld
%CALLLIST.PARENTID% Unieke ID van de bellijstgroep waar deze Bellijst in staat
%CALLLIST.SCRIPTID% Unieke ID van de scriptdefinitie waar deze bellijst op is gebaseerd
Veld Waarde
%ENTRY.CLENTRYID% Unieke ID van de belopdracht
%ENTRY.STATID% Unieke ID van de belopdrachtstatus
%ENTRY.STATPRIORITY% Statusprioriteitwaarde voor belopdracht
%ENTRY.TELNR% 1e Telefoonummer van de belopdracht
%ENTRY.TELNRID% ID die aangeeft welk telefoonnummer veld actief is
%ENTRY.NOTES% Agent notitie van deze belopdracht
Veld Waarde
%STATUS.STATID% Unieke ID van de Status
%STATUS.STATCODE% Verkorte statuscode
%STATUS.RESNAME% Status naam
%STATUS.STATPRIORITY% Status prioriteit
Veld Waarde
%SCRIPT._____% Voor elk veld uit de scriptdefinitie is er een variabele
Veld Waarde
%VARIABLE._____% Voor elke variabele dis is gedefinieerd op de scriptdefinitie is er een waarde. Daarna worden de variabelen op de campagne opgenomen. ** LET OP! Als op de campagne variabelen met dezelfde naam als op de scriptdefinitie zijn gedefinieerd dan worden deze waarden overschreven en blijft de waarde die is gedefinieerd bij de campagne over. **

Geavanceerde opmaak met het autoscript

Antwoordservice pagina

Pauze pagina

Belscripts voor gevorderen

Belscript systeemvelden (deprecated)

In het belscript worden de velden voorafgegaan door een speciale prefix script_. De waarden van deze velden worden in de CallPro-database opgeslagen. De prefix wordt in het belscript toegevoegd aan de veldnaam om duidelijk het onderscheid aan te geven tussen bellijstvelden en overige velden in het script.

Belscript-systeemvelden worden aan het belscript meegegeven. De waarden van deze velden zijn dus beschikbaar in het belscript. Ze zijn te herkennen aan de prefix script_sys_ en worden gezet door CallPro.

Wij raden af om deze methode te gebruiken en adviseren in de plaats daarvan de object hierarchische velden in te zetten.

Systeemveld Hierarchisch veld Betekenis
script_sys_agentid script_sys_oagent_id Dit is de unieke code van de agent die op dit moment contact legt met het telefoonnummer.
script_sys_agentname script_sys_oagent_name Dit is de naam zoals die voor de agent is vastgelegd.
script_sys_clentryid script_sys_oentry_id De unieke identificatie van de huidige item dat wordt weergegeven door het belscript.
script_sys_callagentid script_sys_oentry_ocallbackagent_id De unieke code van de agent die de vorige belpoging heeft gedaan.
script_sys_callagentname script_sys_oentry_ocallbackagent_name De naam van de agent die de vorige belpoging heeft gedaan.
script_sys_callbegindatetime script_sys_ De datum + tijd van de start van het gesprek. Dit is het tijdstip waarop het bellijstitem is aangeboden bij de agent. Dit komt niet exact overeen met het tijdstip waarop de agent contact legt.
script_sys_callbegindate script_sys_ Het datum-deel van het veld CallBegin.
script_sys_callbegintime script_sys_ Het tijd-deel van het veld CallBegin.
script_sys_scriptname script_sys_ De naam van het belscript dat wordt weergegeven in de Script Explorer.
script_sys_calllistid script_sys_ocalllist_id De unieke code van de bellijst waaruit het huidige weergegeven item komt.
script_sys_calllistname script_sys_ocalllist_name De naam van de bellijst.
script_sys_importid script_sys_oentry_importid De unieke code van de Import die het huidige item heeft toegevoegd aan de bellijst.
script_sys_callstatusid script_sys_oentry_ocallstatus_id De belopdrachtstatus die het item had op het moment dat het aan de Agent is aangeboden. De standaard bij CallPro geleverde belopdrachtstatussen hebben de volgende id’s: nieuwe belopdracht (0), verwerkt (1), sit tone (2), geen gehoor (3), voicemail (4), fax/modem (5), in gesprek (6), terugbellen (7), afspraak (8) (bij de agendamodule).
script_sys_callstatusname script_sys_oentry_ocallstatus_name De omschrijving van de belopdrachtstatus.
script_sys_callstatusdatetime script_sys_oentry_callstatdatetime De datum + tijd waarop de belopdrachtstatus is gezet. In het belscript kan dit veld worden gebruikt om te refereren naar het vorige contact.
script_sys_callpriority script_sys_oentry_statpriority De prioriteit van het item in de bellijst. Des te hoger de waarde, des te lager de prioriteit. Voor meer uitleg over Statusprioriteiten.
script_sys_noreachflag script_sys_oentry_noreachflag Met deze vlag wordt aangegeven of het item een Niet bereikt-status had op het moment dat het aan de Agent is aangeboden. Dit veld kan worden gebruikt in het belscript om een gewijzigde tekst weer te geven.
script_sys_callstatuscatid script_sys_ De unieke code van de prioriteit van de belopdrachtstatus. Er zijn vier categorieën: Niet bereikt (waarde=1), terugbellen (waarde=2), verwerkt (waarde=3) en nieuwe belopdracht (waarde=4). De prioriteit bepaalt de verwerkingsvolgorde van de belopdrachten.
script_sys_nrofattempts script_sys_oentry_nrofattempts Dit veld geeft het totaal aantal belpogingen aan op dit telefoonnummer.
script_sys_nrofnoreach script_sys_oentry_nrofnoreach Dit veld geeft het aantal belpogingen waarbij voor de optie Niet bereikt is gekozen sinds het laatste contact. Telkens als contact is geweest en het gesprek wordt beëindigd met Verwerk of Terugbellen wordt deze telling op 0 gezet.
script_sys_entrynote script_sys_oentry_notes Opmerkingen die aan een belopdracht kunnen worden toegevoegd.
script_sys_campaignid script_sys_ocampaign_id De unieke code van de campagne waarin de huidig geactiveerde bellijst staat.
script_sys_campaignname script_sys_ocampaign_name De naam van de campagne.
script_sys_cli script_sys_odialer_ Voor het inbound CLI-nummer.
script_sys_ddi script_sys_odialer_ Voor het inbound DDI-nummer.
script_sys_dialmode script_sys_odialer_ De dial-mode van de agent; 1=outbound, 5=inbound.
script_sys_lastcontactdatetime script_sys_oentry_olastcontactattempt_ callbegindatetime Dit veld geeft de tijd aan waarop het laatst contact is geweest met de klant/prospect.

Object hiërarchische velden

Naast de belscript systeemvelden is er nog een methode om systeemvelden op te vragen. Deze methode maakt gebruik van een naam die het volledige pad uit het CallPro scripting objecten gebruikt. De volgende scripting objecten worden ondersteund:

Object Betekenis
oAgent De agent die is ingelogd
oSeat De werkplek waarop is ingelogd
oEntry De huidige belopdracht die op het scherm staat en wordt bewerkt
oCampaign De campagne waar de huidige belopdracht uit afkomstig is
oCallList De bellijst waar de huidige belopdracht zich bevindt
oCallListShortcut De bellijst koppeling in de campagne waaruit de belopdracht is aangeboden
oDialer Het dialer object dat wordt gebruikt

Sommige objecten zijn afhankelijk van de context waarin ze worden gebruikt. Bijvoorbeeld script_sys_oagent_name Geeft de naam van de agent dis is ingelogd. Terwijl script_sys_oentry_ocallbackagent_name de naam geeft van de agent die op de huidige belopdracht staat ingesteld als terugbelagent.

TODO verder uitwerken van de properties en sub-objecten (de hiërarchie)

Basis eigenschappen

Object Betekenis
Name De naam (identificatie) van de CallPro resource
ID Unieke identificatie van de CallPro resource
Descr De omschrijving die is ingevuld voor deze resource
Enabled Is deze resource actief of niet
Path Volledige pad waar deze resource zich in CallPro bevind.

oEntry

Naast de basis eigenschappen heeft het oEntry object de volgende aanvullende objecten en properties die kunnen worden uitgelezen.

Object/Property Betekenis
oCallList De bellijst waar deze belopdracht toe behoort.
oCallbackAgent De ingestelde terugbelagent
oCallstatus De status die deze belopdracht op dit moment heeft
oLastContactAttempt Een verwijzing naar de belpoging die correspondeert met het voorgaande live contact (op basis van de toegekende status)
oFirstCurrentAppointment  
oLastPassedAppointment  
CallStatDateTime De datum/tijd die is ingesteld tijdens het afcoderen. Dit kan de datum van afcoderen zijn, maar voor Terugbellen/Niet bereikt staat hier de datum waarop de belopdracht weer wordt aangeboden.
CallbackDateTime Dit is de datum/tijd die is ingesteld op het moment van de vorige afcodering met ene terugbellen status
StatPriority De voor deze belopdracht geldende status prioriteit. Deze waarde bepaalde de volgorde van aanbieden. Hoe lager de waarde hoe eerder deze belopdracht wordt aangeboden.
NrOfAttempts Het huidige aantal voorgaande belpogingen
NrOfNoReach Het huidige aantal voorgaande Niet bereikt afcoderingen. Telkens nadat een Terugbellen wordt afgecodeert wordt dit getal weer op 0 gezet.
CallbackDelay  
CallbackDelayDescr  
InitialCallbackDelay  
InitialCallbackDelayDescr  
NoReachFlag  
ImportID  
Notes De huidige belopdracht notitie
TelNr Het telefoonnummer (opgemaakt)
SelectedTelNr Het telefoonnummer dat CallPro op dit moment actief benaderd
SelectedRAWTelNr De RAW versie van het actieve telefoonnummer
RAWTelNr Het telefoonnummer zoals het in de database is opgeslagen

oAttempt

Object/Property Betekenis
oCallstatus  
CallStatsDateTime  
CallBeginDateTime  
CallSetupDateTime  
CallEndDateTime  

oCallList

Een CallPro bellijst resource

Object/Property Betekenis
   

oDialer

Het Dialer object geeft toegang tot diverse dialer instellingen

Object/Property Betekenis
CLI  
CallerNumber  
DDI  
DialMode  
IsAgentReady  
AgentState  
AgentStateDescr  
IsQueriedAgentReady  
QueriedAgentState  
QueriedAgentStateDescr  

oAgent

Het Agent resource wordt meestal genoemd icm de specifieke toepassing. Bijvoorbeeld oCreatedUser of oModifiedUser of zelfs oCallbackAgent. Wij benoemen het object hier bij zijn algemene naan oAgent.

Object/Property Betekenis
UserName  

oCallstatus

De CallPro belopdrachtstatus resource.

Object/Property Betekenis
   

oAppointment

Het Appointment resource wordt meestal genoemd icm de specifieke toepassing. Bijvoorbeeld oFirstCurrentAppointment of oLastPassedAppointment.

Object/Property Betekenis
   

CallPro objectmodel

Het CallPro objectmodel dat door de windows client wordt beschikbaar gesteld.

TODO ook dit uitwerken met javascipt voorbeelden

In de nieuwe script module is een reference te krijgen via “window.external”