Blogs, Integraties/EDI, Nieuwe features
Het gebruik van API’s in Microsoft Dynamics Business Central
Datum
10 juni, 2021
Leestijd
4 min. leestijd
Automatisering van communicatiestromen tussen u en uw partners, leveranciers en klanten wordt steeds belangrijker. Niet zo lang geleden was EDI dé optie om dit te realiseren. Echter, zoals u in een eerdere blog heeft kunnen lezen, is dat niet meer het geval. Het gebruik van API’s (Application Programming Interfaces) wordt steeds populairder. Na een inkijkje te hebben gehad in de wereld van API’s, gaan we in deze blog een stapje verder. We gaan in op de (nieuwe) REST API die sinds de komst van Business Central 365 beschikbaar is. Wat is deze API precies? En welke voordelen kent het gebruik hiervan voor u?
REST API in Dynamics Business Central
Sinds de komst van Microsoft Dynamics Business Central 365 is de zogenaamde REST API geïntroduceerd. De REST API is in basis een uitgebreide web service om twee applicaties met elkaar te laten communiceren. Waar nu vooral nog de SOAP webservice wordt gebruikt om data tussen systemen uit te wisselen, zullen we in de toekomst hiervoor steeds vaker de REST API gaan inzetten.
Wat is de REST API?
REST is een afkorting voor Representational State Transfer. Dit betekent in het kort, dat als er een aanvraag naar een REST API wordt gestuurd, het antwoord op een gestandaardiseerde manier terug wordt gestuurd. Het voordeel van deze REST API’s is dat ze bestaande uniforme web-technologieën gebruiken waardoor ze relatief eenvoudig te bouwen zijn. Hierdoor is REST inmiddels ook een industriestandaard geworden.
Wat zijn de verschillen tussen SOAP en REST
Zoals eerder genoemd wordt op dit moment vooral SOAP gebruikt in Microsoft Dynamics. SOAP (Simple Object Access Protocol) is statisch. Oftewel, alle regels voor de koppeling zijn strikt gedefinieerd. U stuurt een EDI bericht naar het SOAP adres en de code handelt af wat er is geprogrammeerd. REST is daarentegen juist dynamisch. De regels zijn minder strikt. Hierdoor is een REST koppeling lichter en sneller, en kunt u bepaalde opdrachten en parameters in de aanroep meesturen. De dynamiek voor u als gebruiker is vooral te vinden in het gebruik van HTTP aanvraagmethoden en de ODATA uitbreiding.
De REST API in de praktijk
REST maakt gebruik van HTTP aanvraag methoden. Hierdoor kunt u bepaalde opdrachten in de aanroep van de API meesturen. Dat betekent dat u data kunt opvragen, aanmaken, updaten of verwijderen met één en de zelfde aanroep. Een aantal voorbeelden zijn hieronder gegeven.
GET = read resource(s)
POST = insert a resource or invoke a function
PATCH = update existing resource
DELETE = delete existing resource
ODATA Uitbreiding
Vervolgens ligt bovenop de REST API een ODATA uitbreiding. ODATA is een open protocol die een RESTful API uitbreidt met gestandaardiseerde acties op basis van een eenvoudige standaard. Het gebruik hiervan vergroot uw mogelijkheden in deze communicatie nog meer. Hierdoor kunt u namelijk extra parameters in de aanroep van de API meegeven, zoals het filteren op een lijst, bepaalde velden oproepen en zelfs acties uit voeren zoals een som.
Waar SOAP gebaseerd is op XML, kan REST kan meerdere talen aan maar in Dynamics wordt alleen JSON ondersteunt. JSON is minder complex van structuur en hierdoor een stuk lichter wat ook ten gunste komt aan de verwerkingstijd van de REST API. Een bijkomend voordeel is dat een JSON bericht ook menselijk een stuk beter leesbaar is dan XML.
Standaard API’s van Microsoft
Microsoft heeft inmiddels ongeveer 50 standaard API’s ontwikkeld voor Business Central. Al deze API’s zijn voor de standaard van 365BC. Op dit moment is Boltrics druk bezig om deze door Microsoft ontwikkelde API’s ook toe te passen op de ontwikkelde 3PL vertical. Zo zult u binnenkort ook de mogelijkheden van de REST API kunnen gebruiken om uw logistieke processen te ondersteunen. Waar u de standaard van Microsoft binnen Dynamics gebruikt kunt u deze nu al inzetten. Denk hierbij bijvoorbeeld aan de financiële functionaliteiten.
Wilt u meer weten over het gebruik van API’s in uw oplossing? Of wilt u een integratie opzetten met uw partners, klanten of leveranciers? Dien dan een request in via ons klantportal.