In een sjabloon kunnen tags worden gezet die worden vervangen met data als een document wordt gegenereerd. De data wordt pas 'gevonden als de tags zijn ingericht.
Tags worden gegenereerd door op een gestructureerde manier APIs uit te vragen. In Ons Tags kun je, door Tag Trees te ontwerpen, zelf betekenis aan de tags geven. Tag Trees bevatten Nodes, die beginnen met een API-aanroep en daarna de data daarvan verwerken in Data Nodes en Leaf Nodes. Elke node verfijnt/specificeert de data.
Op basis van de verkregen data kan ook weer een nieuwe API aangeroepen worden, en er kan ook over lijsten (arrays) geïtereerd worden.
Tag tree
De zijbalk aan de linkerkant van het tabblad Tags toont een lijst met alle Tag trees. Een Tag tree is een verzameling van samenhangende nodes die op een gestructureerde manier de ONS API uitvragen. Bovenaan staan de benodigde, niet-voorgedefinieerde parameters vermeld die ingevoerd moeten worden bij het uitvoeren van deze Tag Tree.
API nodes
API nodes zijn nodes waarin een API-call gedaan wordt. De APIs staan gedocumenteerd op ons-api.nl. Bij het maken van een nieuwe tag kan een API worden gekozen die wordt aangeroepen. Door het aanroepen van de API worden één of meerdere stukken data opgehaald uit het Ons-systeem. Bij het aanroepen van een API worden een of meerdere parameters meegegeven. Deze parameters zijn via de instellingen van de node in te stellen. Je kunt ze ook leeg laten. In dat geval moeten de parameters meegegeven worden op het moment dat de Tag tree wordt uitgevoerd.
Uit een API node kan een dataobject of een lijst worden teruggegeven.
Voor een API node kan ook een tag gespecificeerd worden. Deze is enkel nuttig als de API node een lijst teruggeeft. Deze tag kan dan gebruikt worden om aan te geven dat er over de lijst geïtereerd moet worden (zie ook Herhalende Tags hieronder).
Data node
Een Data node is een data-object dat uit een API call/API node komt.
Leaf node
Een Leaf node bevat een waarde (value) en is doorgaans datgene wat uiteindelijk als tag in een sjabloon gebruikt wordt. Een Leaf node heet zo, omdat deze als uiteinde/blaadje van een boom kan worden gezien.
De gegeven naam van de Leaf node kan als tag gebruikt worden in een sjabloon. De naam mag uit letters, cijfers, -, _ en / bestaan. Als bijvoorbeeld client/voornaam als naam wordt gekozen, dan kan in een sjabloon ${client/voornaam} als tag worden gebruikt om de voornaam van de cliënt in een document te verwerken.
De waarde van een Leaf node (bijv. een clientId) kan ook gebruikt worden als invoer voor een nieuwe API call.
Parameters
Methoden die via een API worden aangeroepen, hebben meestal parameters nodig om aangeroepen te worden. Deze parameters kunnen worden meegegeven wanneer er een document wordt gegenereerd van een sjabloon met de betreffende tags.
Er kan ook een vaste waarde voor een parameter worden ingericht, zodat de waarde vastligt en niet ingevuld hoeft te worden bij het genereren van het document. Bijzondere vaste waarden:
Afhankelijk van welke tags in een sjabloon zijn opgenomen, worden bepaalde API-aanroepen gedaan. Welke parameters benodigd zijn, wordt bepaald in de API-aanroep. Welke parameters nodig zijn voor een bepaald sjabloon, kan via het testscherm worden opgevraagd.
Behalve het specificeren van een parameter tijdens het aanroepen, kan een parameter ook worden gespecificeerd aan de hand van de waarde van een andere eindnode. Als de Cliënt API bijvoorbeeld wordt aangeroepen om een Cliënt op te zoeken aan de hand van zijn bsn, dan kan er een eindnode worden gemaakt die de ID van de Cliënt bevat. De waarde is van tevoren niet bekend, maar als deze bekend is, dan kan de ID worden gebruikt om andere APIs aan te roepen die een ID van een Cliënt als parameter nodig hebben.
Testen
Als een tag is ingericht, dan kan er worden proefgedraaid. Door middel van testen kan worden gecontroleerd of de nodes de goede naam hebben en of de data goed wordt opgehaald/verwerkt, zonder dat er daadwerkelijk een sjabloon ingericht hoeft te worden. Dit doe je door met je muis over het blokje van de Tag tree te gaan en op het symbool Uitvoeren te klikken. Er wordt een scherm weergegeven waarin de benodigde parameters ingevoerd kunnen worden.