Je hoort vast weleens over “flows” in de wereld van softwarekoppelingen, maar wat betekent dat eigenlijk? Simpel gezegd, het heeft te maken met het verplaatsen van informatie van het ene naar het andere systeem. Hoe maakt APIcenter gebruik van flows? En hoe werkt zo’n flow dan precies? Laten we eens kijken naar de ins en outs van flows en hoe ze hun ding doen in dit systeem.
Flows? Wat betekent dat eigenlijk in het kader van softwarekoppelingen?
Flows verwijzen naar de gegevens/informatiegroepen die van het ene systeem naar het andere worden verplaatst. Maar hoe werkt zo’n flow eigenlijk?
Hoe werkt een flow in het APIcenter?
Stel je voor dat een flow een reeks taken is die na elkaar worden afgelopen, als stappen in een recept. Dit proces wordt gebruikt om informatie van het ene systeem (laten we het systeem A noemen) naar een ander systeem (laten we het systeem B noemen) te verplaatsen.
Om dit te doen, hebben we een digitale sleutel nodig die het softwarepakket aanbiedt, een API-key genaamd, om toegang te krijgen tot de systemen. Deze sleutel bepaalt welke gegevens we mogen ontvangen, afhankelijk van de rechten die aan de API-key zijn toegekend.
Laten we nu een eenvoudig voorbeeld nemen hoe het werkt bij een Product flow:
Ophalen van gegevens:
- We beginnen met het krijgen van een lijst met producten van systeem A.
- Uit deze lijst kiezen we 10 items waarmee we willen werken, en dan begint het echte werk.
- Eerst halen we alle gedetailleerde informatie over elk product op.
- Daarna bekijken we verschillende plaatsen om alle benodigde informatie te verzamelen om de productdetails compleet te maken.
- Op dit punt hebben we alle ruwe gegevens die we nodig hebben voor een product van systeem A (het bronsysteem).
- We passen enkele filters toe om de gegevens op te schonen.
- Vervolgens sturen we de gegevens naar onze “Core.”
Core van APIcenter:
- In de core nemen we de ruwe gegevens en transformeren deze naar een formaat dat ons systeem begrijpt (we noemen dit ons datamodel).
- We passen de gegevens aan op basis van een set regels of mappings.
- Als er ontbrekende informatie is, voegen we deze toe.
- We maken alles klaar in ons datamodel voor systeem B.
Verzenden van gegevens:
- Zodra de gegevens gereed zijn in ons datamodel, sturen we ze naar systeem B (het doelsysteem).
- We passen de gegevens opnieuw aan, maar deze keer om overeen te komen met wat systeem B verwacht.
- We organiseren de taken op een manier die logisch is voor de specifieke behoeften van systeem B.
Dit proces wordt elke 5 minuten gedaan en haalt standaard 10 items op.
Het is ook mogelijk om voor bepaalde flows te kiezen voor webhooks of RabbitMQ. Deze methodes sturen ons direct updates wanneer er iets wordt aangepast in systeem A, waardoor wijzigingen sneller kunnen worden opgepakt.
Welke gegevens in een flow kunnen ge-update worden?
Op de APIcenter site staat globaal wat er per koppeling ge-update kan worden. Het hangt natuurlijk af van welk systeem en wat we meekrijgen in de API key. Wanneer de gegevens binnen de flow vallen zullen deze bijna altijd ondersteunt worden. Daarnaast staat er in de details ook meer informatie per flow. APIcenter hanteert standaard 4 flows; Orders, Producten, Voorraad en Klanten.
Mocht je een flow nodig hebben welke we op dit moment niet ondersteunen, dan is het ook mogelijk om deze bij te laten bouwen.
Hoe bepaal je welke flows je nodig hebt voor jouw specifieke werkproces?
Het is belangrijk om te weten dat een flow altijd maar één kant op gaat in een koppeling. De koppeling kan namelijk alleen de updates zien. Als je beide flows inschakelt, kan dit leiden tot een onnodige herhaling, een soort van ‘infinite loop’. Het is dus essentieel om hierop te letten om te voorkomen dat de koppeling continu dezelfde updates blijft verwerken.
Op de site staan ook pijltjes die aangeven welke kant het mogelijk is om de gegevens door te sturen. Wanneer er 2 pijltjes zichtbaar zijn kan je altijd één van de twee selecteren.
Stel, je wilt productinformatie bijwerken vanuit één systeem, dan heb je alleen de ‘productflow’ nodig.
Lees hier de blog voor meer informatie over het bepalen van de flows voor jouw werkproces in het APIcenter.
Settings, tables, data mapping and endpoints
Je kan jouw koppeling op microniveau instellen. In het APIcenter kan je dit per flow doen.
Per flow heb je settings waar je bijvoorbeeld kan aangeven of je afbeeldingen wilt updaten of niet.
Daarnaast heb je Tables, zo kan je bijvoorbeeld je attributen inrichten op veld niveau.
Ook heeft het APIcenter een data mapping, hier kan je specifieke velden mappen.
Binnen de Endpoints kun je zien welke endpoints we gebruiken voor het ophalen of verzenden van gegevens. Deze endpoints zijn aanpasbaar, maar we raden aan dit niet te doen, omdat dit mogelijk verstoort met de manier waarop onze integraties werken.
Conclusie
Dus, in het kort, zijn flows gewoon digitale boodschappers die informatie van het ene naar het andere computersysteem brengen. Binnen het APIcenter volgen ze een soort stappenplan om gegevens van systeem A naar systeem B te verplaatsen.
Het kiezen van de juiste flow voor jouw werkproces is als het selecteren van de juiste gerechten voor een perfecte maaltijd. En net zoals je in de keuken ingrediënten kunt aanpassen, kun je binnen het APIcenter de koppeling finetunen, zoals data mapping en endpoints, zodat alles precies past bij wat jij nodig hebt. Het begrijpen van flows is eigenlijk als de sleutel tot een soepele digitaal werkproces!