Teamleader Blog Article

Nieuwe API voor ontwikkelaars: stevige basis voor nieuwe integraties

Nieuwe API voor ontwikkelaars: stevige basis voor nieuwe integraties

Een nieuwe API is groot nieuws. Letterlijk tussen de lijnen code door, zie je de krijtlijnen van de toekomst van onze applicatie. Je zal ook merken dat we bij het bouwen ervan enkele opmerkelijke keuzes hebben gemaakt. Een woordje uitleg kan dan allicht geen kwaad…  

Dat de API aan een update toe was, is alvast geen nieuws. De huidige versie dateert van bij onze start, intussen meer dan vijf jaar geleden. Uiteraard hebben we er in de loop van de jaren veel aan toegevoegd en vervangen. Maar echt iets fundamenteels veranderd? Neen. Nochtans is de software-wereld wel stevig geëvolueerd. Dat geldt ook voor Teamleader zelf. Bij het bouwen van onze vorige API hadden we een honderdtal klanten - intussen zitten we aan 7000, verspreid over heel Europa.

“We willen de betrokkenen graag nog eens bedanken voor hun bijdrage. De feedback die we van jullie binnenkregen, speelde een grote rol bij het ontwerpen van de API. We vinden het belangrijk om dat proces samen te doorlopen, en een eindproduct te bouwen met onze partners, voor onze partners.”

Van product naar platform

Een nieuwe versie drong zich dus op - zoveel was duidelijk. Maar je weet hoe dat gaat: in de eerste plaats gaat je focus naar je klanten en je product. De API wordt gebruikt door developers, dit lijkt dus in eerste instantie niet rechtstreeks verbonden met de gebruikservaring. Daarom heeft het werken aan die nieuwe API enige tijd niet op de agenda gestaan. Na de komst van onze Marketplace was het echter logisch om onze volgende stap van product naar platform te zetten. Een nieuwe API zorgt ervoor dat niet enkel wij, maar ook andere partijen het Teamleader-ecosysteem kunnen doen groeien. Ook dat is klantgericht denken.

In mei startten enkele ontwikkelaars met het design van de nieuwe API. Lees: de structuur, functionaliteiten, conventies/standaarden en principes werden onderzocht. Aan dat aspect hebben we de nodige tijd besteed, zodat we de lessen die we uit het verleden trokken, zorgvuldig konden toepassen. De nieuwe API moest niet enkel ruimte bieden aan bestaande functies - maar ook aan alle denkbare, toekomstige functies van de applicatie. Daarvoor was ook feedback erg belangrijk - en gingen de developers samenzitten met collega’s uit andere teams, die een fris perspectief op het geheel konden bieden.

Teamleader Marketplace

Documentation first

Het coderen zelf startte in oktober, en zo’n 70% van ons development-team werkte eraan mee. Onze developers hanteerden de ‘Documentation first’-methode. Daarbij worden alle specificaties en eigenschappen van de API netjes omschreven, zodat anderen er later eenvoudig mee aan de slag kunnen.

Deze aanpak heeft een aantal belangrijke voordelen. Zo is het bijvoorbeeld veel eenvoudiger om een structurele aanpassing in één onderdeel, ook in alle andere onderdelen door te voeren. Externe ontwikkelaars kunnen op basis van die documentatie van start gaan met ontwikkelen en feedback geven. Ook het team dat de mobiele versie van onze applicatie ontwikkelt, doet dat op basis van deze techniek.

Bovendien zorgt deze methode ervoor dat we een aantal vervelende inconsistenties konden wegwerken in de nieuwe API. Meetings, calls en taken hadden voorheen bijvoorbeeld verschillende eigenschappen. In de nieuwe API hebben we dit verbeterd - en worden ze enkel visueel anders weergegeven.

Vernieuwen betekent keuzes maken

Na de documentatieronde verzamelden we gerichte feedback en suggesties - zowel intern als bij partners. Vernieuwing brengt uiteraard ook keuzes mee - zo besloten we om RPC te hanteren in plaats van de zogenaamde REST-methode. Daarover lees je meer in dit blogartikel.

Ook op vlak van beveiliging werd het roer omgegooid, meer bepaald wat betreft het authenticatiesysteem. Integraties kunnen voortaan toegang krijgen via OAuth2 - de eindgebruiker hoeft niet meer te puzzelen met API-keys, maar kan dus gewoon in twee klikken integraties koppelen. Daarnaast voorzien we in de nieuwe API verschillende toegangsrechten. Een integratie als MailChimp heeft bijvoorbeeld wel toegang tot het CRM-gedeelte, maar niet tot facturatie. Zo weet je als gebruiker beter welke gegevens door welke integratie (mogen) worden gebruikt.

Een toegankelijke manier van werken

Wat het bouwen van integraties betreft, hebben we de rollen omgedraaid. Tot voor kort waren het vooral onze ontwikkelaars zelf die daar de knowhow voor hadden. Dat vonden we niet voldoende klantgericht, zeker wegens het hoge aantal aanvragen voor integraties die blijven binnenkomen. Bovendien houdt het externe partijen tegen om zelf een integratie op te zetten. Met de nieuwe API wordt het voor externe ontwikkelaars veel eenvoudiger om aan de slag te gaan.

Dat geldt ook voor ons: als onze ontwikkelaars een integratie of app willen bouwen, gebruiken ze daarvoor voortaan dezelfde API als iedereen. Op die manier hopen we bovendien ook de Teamleader-community verder uit te bouwen. Want laat dit duidelijk zijn: onze nieuwe API is geen eindpunt, maar een fundament om op verder te bouwen.

Teamleader API-documentatie

Jouw feedback is cruciaal

De eerste stappen richting nieuwe API zijn gezet, al zal hier de komende tijd ook nog hard aan gewerkt worden. We rekenen daarbij zeker ook op jou. Heb je feedback op de eerste endpoints van onze vernieuwde API, ideeën die je kwijt wil, of manieren waarop we de API volgens jou nog gebruiksvriendelijker kunnen maken? We horen graag je feedback op de huidige versie, die je onder deze link terugvindt.

Dus: vind je dat er nog iets moet veranderen? Hebben we volgens jou iets over het hoofd gezien? Ontstaat er mogelijks een conflict met jouw integratie? Stuur je ideeën en bedenkingen naar api@teamleader.eu, wij zorgen voor de opvolging!