Tips & Tricks: Stel een API in
In PRINTmatters delen we graag kennis. Kennis waarmee je klanten nog beter kunt adviseren, de bedrijfsefficiency kunt verbeteren of om te inspireren. Dit keer: GrafiStore over het instellen van een eenvoudige API voor je relaties.
Er is steeds meer vraag naar API’s om opdrachten aan te kunnen leveren. Maar niet iedereen is programmeur en kan hier goed mee uit de voeten. De volgende uitleg is een handvat voor iedere beginner.
Wat is een API?
Een API (Application Programming Interface) is een interface tussen applicaties die communicatie mogelijk maakt. Zie het als WhatsApp: je stuurt een bericht, je krijgt response dat deze ontvangen is, en vervolgens kan de ander reageren. We gaan een eenvoudige API opzetten.
Wat is de winst?
De aanleverende partij kan via één API-call – vergelijkbaar met één appje – een opdracht, bestand, XML of JSON aanleveren. De zender ontvangt een antwoord dat de overdracht gelukt is. Eén voordeel hiervan is dat het een oplossing is om je personeel te ontlasten. Vergelijk het met handmatig openen van e-mails en downloaden van honderden bestanden via linkjes.
Welke software is er nodig?
Sinds een paar jaar zit bij Enfocus PitStop Server ‘Switch Core Engine’ inbegrepen. Dat is de basisversie van Switch. Je kunt een gratis demo downloaden om het zelf te proberen.
STAP 1: MAAK JE API
Open Switch en maak een nieuwe flow. Noem deze ‘API Printmatters’.
Sleep het object ‘Webhook’ in je canvas en verbind deze met een mapje. Alles wat binnenkomt, komt in dit mapje.
Vul de volgende parameters in:
• Name: ‘printmatters versie 1’
• Path: ‘printmatters_v1’
De rest laten we even voor wat het is.
STAP 2: TEST VAN DE API
Zet de flow aan en installeer de gratis applicatie ‘Postman’ op je systeem. Deze is te downloaden van: www.postman.com/downloads. Dit is gereedschap om API’s te testen en wordt veelvuldig gebruikt door ontwikkelaars. (beeld 2)
1. Maak een nieuwe POST (deze verstuurt informatie).
2. Vul deze URL in: http://127.0.0.1:51088/ scripting/printmatters_v1
3. Kies voor ‘raw’ (ruwe data) en selecteer dat je ‘tekst’ wilt sturen.
4. Een tekstje als ‘Hallo! Komt dit binnen?’ voldoet nu.
Als je klikt op ‘Send’ zou Postman { “status”: true } moeten teruggeven en moet er een bestandje in de map ‘ontvangen’ staan. Gefeliciteerd! Je hebt zojuist je eerste API- call gemaakt.
Uitleg:
• Het IP-adres 127.0.0.1 is altijd je eigen computer, ook wel ‘localhost’ genoemd. Wanneer Postman vanaf een andere computer praat met Switch vul je hier het IP-adres in van de Switch-computer.
• Een POST is het tegenovergestelde van een GET. Een GET is vergelijkbaar als een website bekijken: je haalt deze naar je computer. Een POST doet net het tegenovergestelde, deze stuurt iets op.
STAP 3: ZET JE API OPEN VOOR RELATIES
Nu is het belangrijk dat je relaties erbij kunnen. Hiervoor dient het externe IP-adres uit te komen bij Switch. Surf bijvoorbeeld naar www.whatismyip.com. Stel dat dit 149.143.60.165 is, dan moet de API-URL voor je relaties zijn: http://149.143.60.165:51088/ scripting/printmatters_v1.
In de firewall of router dient poort 51088 (of een andere) door te verwijzen naar de computer waar Switch op draait, het interne IP-adres.
STAP 4: UITBOUWEN WORKFLOW
Vanaf dit punt gaan kunnen we de workflow aanpassen naar wens. Bijvoorbeeld de bestanden opslaan met een tijdstempel en uniek nummer.
- Voeg het element ‘Rename’ toe, en een mapje.
- Vink bij de eerste actie ‘Replace’ aan en kies bij ‘Act on: Complete filename’.
- Kies bij ‘Replace by’ voor ‘Single-line text with variables defined’. Vul de volgende waarden in: [Switch. Date:TimeZone=”System”]_UID[Switch. Counter:Id=”3”].txt.
Als je al bestandjes in de flow heb zitten, kun je zien of je het goed doet:
Het resultaat zou het volgende moeten zijn:
Voor iedere relatie is het mogelijk andere API-endpoints te maken en nieuwe versies uit te proberen. Probeer maar eens een XML of een JSON in te schieten.