Ophalen Teamleader endpoints met 'parameter' vanuit Invantive Cloud

Wij maken via Azure Data Factory connectie met een Invantive Cloud OData-feed om de data op te halen en vervolgens weg te schrijven naar een Azure SQL-Database. We zijn bekend met het bestaan van de ‘Flat’ tabellen, maar merken dat deze erg traag werken. Daarnaast lijkt de lijst van endpoints in de OData-feed in Azure Data Factory incompleet. Alle endpoints die een parameter terug verwachten ontbreken.

Zijn er andere best practices die wij over het hoofd zien om met ADF alle mogelijke Teamleader-endpoints op te halen? Uiteindelijk willen wij vooral de ‘standaard’ endpoints aan kunnen vullen met custom fields, en ook de migrate endpoints voor het updaten van een V1 ID naar een V2 ID zijn erg behulpzaam.

Een bericht is gesplitst naar een nieuw topic: Eigen queries via OData

Via OData (JSON met metadata) zijn alleen tabellen en tabelfuncties uit de Teamleader V1 en V2 API’s beschikbaar die geen verplichte parameters hebben.

Dit betreft overwegend tabelfuncties met verplicht maar aftelbare parameters zoals deal ID. Hiervoor is zowel in de V1 Teamleader V1 als de V2 Teamleader API een alternatief beschikbaar in de vorm van een view met *Flat in de naam. De prestaties hiervan zijn laag doordat ze recursief per rij een puntquery moeten uitvoeren; dit is een bekend en onvermijdbaar onderdeel van de Teamleader API’s.

Soms kan er in plaats van een V1 *Flat view gebruik gemaakt worden van de V2 tabel. Deze zijn veel rijker qua kolommen waardoor het gebruik van de onderliggende tabelfuncties niet nodig is. Vergelijk bijvoorbeeld V1 Projects met 5 kolommen met de V2 Projects met 32 kolommen.

Voor custom fields zijn er ook views in V1 API en V2 API, maar de prestaties zijn beperkt. Met handgemaakte queries op Teamleader kan dit soms omzeild worden doordat niet alles opgehaald/geactualiseerd wordt.

De Migrate tabellen zijn de eerste keer langzaam, maar aangezien het een blijvende afbeelding betreft worden die langdurig gecachet zodat de prestaties de tweede en volgende keer significant beter zijn.

Meer informatie over dit onderwerp is ook te lezen in:

Deze vraag is automatisch gesloten na tenminste 2 weken inactiviteit nadat een mogelijk passend antwoord is gegeven. Het laatste gegeven antwoord is gemarkeerd als oplossing.

Gelieve een nieuwe vraag te stellen via een apart topic als het probleem opnieuw optreedt. Gelieve in de nieuwe vraag een link naar dit topic op te nemen door de URL er van in de tekst te plakken.