Dit artikel is voor gebruikers met de API extensie aangezet. De uitleg vereist enige technische kennis. Neem bij vragen gerust contact op met ons.

API Manager

Je beheert de API koppeling via Codex zelf in de module API manager (Systeem > API Manager)

Hier kan je:

  • API Clients aanmaken
  • API calls en verbruik zien
  • Modules die API-geactiveerd zijn beheren.
  • en in de toekomst nog veel meer

API Clients

Je moet een API Client aanmaken om de API te kunnen gebruiken. Vul hiervoor een bekend en werkend emailadres in. Een wachtwoord wordt voor je gegenereerd. Onthoud dit wachtwoord.

Gebruik van API 

TIP: gebruik Postman om de API eerst uit te proberen

Vervang in alle onderstaande urls en code DOMEINNAAM  met je eigen domeinnaam (zoals hij staat in https://DOMEINNAAM.codex.link)

Authenticatie

Authenticatie gebeurt met het JWT protocol.

POST https://DOMEINNAAM.codex.link/api/authenticate

Stuur het volgende mee in de body (let op: kies het post data type x-form-urlencoded in je request. 

{
email:"<API Client emailadres>"
password:"<API Client wachtwoord>"
}

Als je dit correct verstuurt ontvang je een JSON response met een token 

ALLE requests die nu volgen hebben dit token nodig als een HTTP header in exact de volgende syntax, 

Authorization: Bearer <TOKEN>

Bijvoorbeeld:

Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIiwiaXNzIjoiaHR0cHM6XC8cL2FwaS1oaXN0b3MuY29kZXgubGlua1wvYXV0aGVudGljYXRlIiwiaWF0IjoxNDUzMjQ1OTEzLCJleHarOjE0NTMyNDk1MTMsIm5iZiI6MTQ1MzI0NTkxMywianRpIjoiYWNhMzI2YTg0YjIxYTkwYmZlYWJlZWQ3NzBhZDg3NzAifQ.rVf4RAtRqRxbKErVcl4x8MFtFpUlkLh3VJ4UADjF19A

Vervolgens kan je alle requests doen die authenticatie verwachten.

Verloopt je token? Dan moet je dit proces herhalen.
Het is handig om dit proces uiteindelijk te automatiseren. De respons bij verlopen tokens is te herkennen.
Voorbeeld volgt.

API Endpoints voor gegevens

Alle modules die in de API aanstaan, kunnen op de manier hieronder benaderd worden. Waarschijnlijk wil je als eerste de Leden module, welke intern de mambo heet module implementeren, dus deze wordt heir al voorbeeld gebruikt. Wil je dit gebruiken voor een andere module, zoals alumni? Verander dan gewoon mambo met alumni in alle endpoint URLS.

Alle items opvragen

GET https://DOMEINNAAM.codex.link/api/members 

GET https://DOMEINNAAM.codex.link/api/members/all 

Krijg een array van lid objecten met daarin alle beschikbare gegevens

Output: Lijst van lid objecten OF [] 

Enkel item opvragen

GET https://sandbox.codex.link/api/mambo/<ID>

Vraag één enkel lid object op met ID <ID> 

Documentatie wordt vollediger gemaakt