OAuth 2.0 Integratie met Bullhorn
by Maurits, Eigenaar Seerp
De Bullhorn REST API biedt partners een eenvoudige maar krachtige manier om interactie te hebben met het Bullhorn-systeem. Deze API maakt gebruik van HTTP-verzoeken en standaard datastructuren, waardoor het toegankelijk is vanuit veel programmeertalen en bijzonder geschikt is voor mobiele applicaties en toepassingen die gebruikmaken van de nieuwste webtechnologieën. In deze blog bespreken we hoe je kunt starten met de Bullhorn REST API, inclusief de OAuth 2.0 autorisatieprocedure en het gebruik van access tokens om veilige API-aanroepen te doen.
Toegang tot de Bullhorn REST API
Bullhorn gebruikt OAuth 2.0 als autorisatiemechanisme voor de REST API. Om toegang te krijgen tot de API, moeten Bullhorn-klanten OAuth-sleutels verkrijgen door een supportticket aan te maken via het Bullhorn Resource Center. Een geldige OAuth 2.0 API-sleutel bevat de volgende gegevens:
- redirect_uri: De URI van de locatie van je applicatie die aan Bullhorn is opgegeven bij registratie.
- client_id: Een door Bullhorn gegenereerde ID die jouw account identificeert.
- client_secret: Het wachtwoord voor je applicatie om in het systeem te authentiseren.
Bepaal het Correcte Datacenter voor je Gebruiker
Bij gebruik van de Bullhorn REST API is het belangrijk om het juiste datacenter te bepalen voor je gebruiker. Dit kan worden gedaan door een GET-verzoek te sturen naar rest-services/loginInfo
met de API-gebruikersnaam. Als je de correcte URL’s niet gebruikt, krijg je een 307-redirect naar het juiste datacenter. Zorg ervoor dat je code deze redirect kan verwerken. De API-gebruikersnaam is informatie die je van Bullhorn ontvangt nadat je bent aangesloten.
GET https://rest.bullhornstaffing.com/rest-services/loginInfo?username={API_Username}
Verkrijgen van een Autorisatiecode
Voordat je toegang kunt krijgen tot de API, moet je een autorisatiecode verkrijgen door de volgende URL te gebruiken, waarbij je de daadwerkelijke waarden voor de placeholders vervangt:
https://auth-{value_from_loginInfo}.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password={password}&redirect_uri={optional redirect_uri}&state={recommended state value}
Stappen voor het Verkrijgen van een Autorisatiecode:
- De gebruiker voert een geldige Bullhorn gebruikersnaam/wachtwoord combinatie in en klikt op de Login-knop.
- Een servicevoorwaardenpagina wordt weergegeven.
- De gebruiker klikt op de Akkoord-knop om de voorwaarden te accepteren.
- De pagina wordt omgeleid naar de
redirect_uri
met een code-parameter in de URL. Deze code is de autorisatiecode die nodig is om een toegangstoken te verkrijgen.
Verkrijgen van een Toegangstoken
Je applicatie gebruikt de autorisatiecode om een toegangstoken te verkrijgen door een POST-verzoek te doen naar de volgende URL:
POST https://auth-{value_from_loginInfo}.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
De respons bevat een toegangstoken dat je gebruikt in REST API /login-aanvragen om een Bullhorn-sessiesleutel en een basis REST URL te verkrijgen. Het toegangstoken is 10 minuten geldig.
Gebruik van een Refresh Token
Als Bullhorn je de mogelijkheid heeft gegeven om refresh tokens te genereren, bevat de respons ook een refresh token. Wanneer de Bullhorn-sessie verloopt, gebruik je een refresh token om een nieuw toegangstoken te verkrijgen zonder opnieuw te hoeven autoriseren. Het refresh token heeft geen vervaldatum, maar verloopt wanneer een nieuw toegangstoken en refresh token worden gegenereerd.
Inloggen bij de REST API
De eerste aanroep die je maakt met de Bullhorn REST API is een login-aanroep naar de rest-services server voor het datacenter. Deze aanroep retourneert een sessiesleutel die je kunt gebruiken voor volgende verzoeken.
POST https://rest-{value_from_loginInfo}.bullhornstaffing.com/rest-services/login?version=*&access_token={xxxxxxxx}
Een succesvolle login-respons ziet er als volgt uit:
{
"BhRestToken": "1234_5945926_32b73003-3b3a-4ebf-9a87-5894201b0ac3",
"restUrl": "https://rest{swimlane#}.bullhornstaffing.com/rest-services/{corpToken}/"
}
Deze login-respons bevat een sessiesleutel genaamd BhRestToken
en de basis URL voor volgende REST-aanroepen. Gebruik de sessiesleutel voor alle daaropvolgende verzoeken totdat de sessie verloopt.
REST Aanroepen Maken
Na het verkrijgen van een sessiesleutel kun je REST-aanroepen doen om gegevens op te halen of CRUD-operaties uit te voeren op de Bullhorn-server. Bijvoorbeeld, een verzoek om een specifieke kandidaat op te halen:
GET https://rest{swimlane#}.bullhornstaffing.com/rest-services/{corpToken}/entity/Candidate/{id}?BhRestToken={session_key}&fields=firstName,lastName,address
Aanmaken van een Entity
Een REST-aanroep om een nieuwe entiteit aan te maken lijkt op een GET-verzoek, maar is een HTTP POST en bevat veldwaarden voor de nieuwe entiteit in de body van het verzoek.
PUT https://rest{swimlane#}.bullhornstaffing.com/rest-services/{corpToken}/entity/Candidate?BhRestToken={session_key}
Conclusie
De Bullhorn REST API biedt een robuuste manier om met het Bullhorn-systeem te communiceren, en met behulp van OAuth 2.0 kan dit veilig en efficiënt gebeuren. Door de bovenstaande stappen te volgen, kun je succesvol integreren met Bullhorn en je recruitmentprocessen verbeteren.
Voor meer informatie over het werken met de Bullhorn REST API en OAuth 2.0, bezoek de Bullhorn GitHub. Ook deze pagina is erg hulpvol