API
Wat is een API
API staat voor Application Programming Interface. Dit is een verzameling definities op basis waarvan een computerprogramma kan communiceren met een ander programma. Een API definieert de toegang tot de functionaliteit die er achter schuil gaat. De buitenwereld kent geen details van de functionaliteit of implementatie, maar kan dankzij de API die functionaliteit wel gebruiken.
De FastForward-API
Wanneer wij over onze API praten, dan hebben we het eigenlijk over een vrij brede term. Onze API bevat namelijk diverse endpoints (definitie-verzamelingen). De opbouw en structuur ziet er als volgt uit:
Wat bovenstaande afbeelding weergeeft is dat onze API bestaat uit 4 verschillende endpoints, welke verderop in dit artikel beschreven staan. Om deze endpoints, en daarmee de data, te beschermen, hebben we een beveiligingslaag opgenomen. Deze beveiliging werkt via JWT en is nodig om de API te kunnen gebruiken.
Het is goed om te vermelden dat wanneer je gebruik maakt van de API, je niet verplicht bent alle endpoints in gebruik te nemen. Het is goed mogelijk om bijvoorbeeld enkel het vacature-endpoint te gebruiken.
Om toegang te krijgen tot onze API, kun je contact opnemen met je accountmanager. Zodra de offerte getekend is, krijg je toegang tot de playground (een testomgeving) en toegang tot de technische documentatie inclusief code-samples. Wij raden ten zeerste aan deze documentatie te volgen en beschikbaar te stellen aan je (eventuele) webbouwer.
De API's voor de acceptatie- en productieomgeving zijn te bereiken via de volgende URL's. Vervang hierin 'schemanaam' door de naam van je bedrijf zoals deze bij Bullhorn bekend is:
- Acceptatie: https://schemanaam.api-a.connexys.nl
- Productie: https://schemanaam.api.connexys.nl
JWT
Wat is JWT
Een JSON Web Token (JWT) is een wereldwijde standaard om tokens te maken die vooraf gedefinieerde toegang geven. Een server kan bijvoorbeeld een token genereren, met als definitie dat je alle rechten hebt, en deze aan een client geven. De client kan vervolgens dit token gebruiken om aan te tonen dat hij alle rechten heeft. De tokens bevatten kenmerken van de specifieke server, zodat zowel de server als de client kunnen verifiëren dat het token geldig is.
De tokens zijn ontworpen om compact en veilig te zijn. Daarnaast kunnen tokens geauthenticeerd en geëncrypt worden.
FastForward-JWT
Omdat we via de API-gegevens beschikbaar stellen, en ook de mogelijkheid bieden om gegevens in te voeren in FastForward, hebben we deze beveiligd. De beveiliging waarvoor wij hebben gekozen zal bekend zijn bij veel webbouwers, dat is JWT.
JWT werkt op basis van tokens met een geldigheidsduur. Met behulp van kenmerken binnen in het token wordt er bepaald of FastForward de andere partij herkent en vertrouwt, alvorens requests te verwerken.
Het is belangrijk om te weten dat de REST-API welke wij voorheen hadden, met een andere beveiligingsmethode werkte, namelijk Base64 encoded credentials. Deze beveiligingsmethode wordt door Bullhorn uitgefaseerd. Het is daarom aan te raden over te stappen op JWT. Bij deze overstap komen geen functionaliteiten te vervallen.
Vacature
Met het vacature-endpoint kun je alle in FastForward bestaande vacatures bevragen. Om sneller resultaten te kunnen leveren, hebben we alle vacatures op een nieuwe manier geïndexeerd. Dit zorgt ervoor dat je vele malen sneller vacatures kunt opvragen, zonder dat dit performance-problemen oplevert.
Het vacature-endpoint is een vervanger voor het huidige XML-bestand. Het is niet verplicht deze te vervangen, maar we adviseren het wel vanwege bovengenoemde voordelen. Met andere woorden: Het is dus mogelijk om de inschrijvingen aan te maken via de API, terwijl je de XML gebruikt als bron voor vacature-data.
Kandidaten en inschrijvingen
Met het kandidaten- en inschrijvingen-endpoint kun je kandidaten met hun inschrijvingen (of open sollicitaties) inschieten in FastForward. Hiermee kun je alle velden, inclusief de vrije velden van het kandidaats- en/of inschrijvingsdossier vullen. Jouw webbouwer kan hiervoor een eigen sollicitatieformulier maken, of gebruik maken van het JavaScript-formulier (hierover meer verderop in dit artikel).
Apply with LinkedIn (niet meer ondersteund)
Via Apply with LinkedIn kun je de publieke gegevens van LinkedIn scrapen om vervolgens met deze data een inschrijving aan te maken. De volgende gegevens van de kandidaat kunnen op deze manier opgehaald worden:
- Voor- en achternaam
- E-mailadres
Dit is een separate module; vraag je accountmanager voor meer informatie.
JavaScript Form - inrichting door Bullhorn
Wij bieden binnen FastForward de mogelijkheid om met JavaScript-formulierente werken. Via dit endpoint kun je deze formulieren raadplegen.
Hieronder een voorbeeld van een JavaScript-formulier gemaakt in FastForward.
Een Bullhorn medewerker genereerd een UUID gegenereerd. Deze heeft de webbouwer nodig om het formulier te integreren op de website.
Er bestaat een optie om formulieren te Exporteren of te Importeren. Dit maakt het gemakkelijker om exact hetzelfde formulier als dat je op Acceptatie hebt getest, op Productie in te voeren.
Aan de linkerkant van het scherm staan de volgende elementen, welke de Bullhorn medewerker kan slepen naar het formulier wat je aan de rechterkant bouwt.
Wanneer een veld naar het formulier gesleept wordt, krijg je een pop-up waarin je kunt aangeven hoe het veld moet heten op het formulier en aan welk veld het gekoppeld moet worden in FastForward.
Aan de rechterkant zie je het formulier:
Mailingsets (inrichting door Bullhorn)
Om ervoor te zorgen dat ook de juiste e-mails op het juiste moment worden gestuurd, kun je in FastForward ook mailingsets aanmaken. In een mailingset plaats je alle e-mails die mogelijk verstuurd kunnen worden bij bijvoorbeeld een sollicitatie. Hier kun je alle talen in één mailingset stoppen.
Vervolgens kan via de API uitgevraagd worden welke e-mails er klaar staan, en kan er op die manier bepaald worden welke e-mail verstuurd moet worden op welk moment.
Voorbeelden zijn:
- Bevestigingsmail aan de kandidaat
- Nieuwe registratie e-mail aan de recruiter
- Nieuwe registratie e-mail aan de hiringmanager
Ingebruikname
Resources
Welke kennis heeft de webbouwer nodig:
- JWT
- JSON
Proces
Een Bullhorn-consultant komt dit implementeren volgens dit stappenplan:
- Doorspreken wensen en eisen
- Je krijgt account-gegevens (en daarmee toegang tot documentatie)
- Je krijgt JWT-tokens (voor Acceptatie en voor Productie)
- Inrichten JavaScript-formulier (indien van toepassing)
- Inrichten mailingsets
- Na succesvolle test op Acceptatie, gaan we het kopiëren naar Productie (door consultant)
Opmerkingen