Nieuwe STREAM API voor het ophalen van grote datasets

door Daniel Taylor

Nieuwe STREAM API

Nieuwe STREAM API voor het ophalen van grote datasets

Copernica introduceert een alternatief API-endpoint: https://rest.copernica.com/v2. Het ophalen van grote datasets wordt hiermee efficiënter gemaakt.

Wat verandert er?

Het nieuwe endpoint kan worden gebruikt om grotere datasets (met meer dan 1000 records) op te vragen. Om dit efficiënt te kunnen doen maakt het nieuwe endpoint gebruik van 'content-transfer-encoding: chunked'-headers. Deze vervangen de voormalige 'content-length'-headers.

Ook kunnen connecties naar het nieuwe endpoint veel langer opengehouden worden in vergelijking met connecties naar het oude endpoint. De beperking van 30 seconden is niet langer van toepassing.

Tot dusver werd de output standaard beperkt tot 1000 objecten om te voorkomen dat REST API-calls te lang duren. Voor het oude endpoint geldt deze beperking nog steeds, maar voor het nieuwe endpoint niet meer.

Geldt dit voor alle methodes?

Let op: we zijn dit systeem nog aan het uitrollen. Sommige methodes ondersteunen al wel grotere datasets, terwijl andere methodes nog beperkt zijn tot 1000 records. We adviseren om hier rekening mee te houden in je API-koppelingen omdat een methode in de toekomst kan worden aangepast. De methode retourneert dan meerdere records en andere headers.

Op dit moment geldt het advies:

  • Gebruik het oude endpoint (api.copernica.com) als je niet meer dan 1000 records nodig hebt.
  • Gebruik het nieuwe endpoint (rest.copernica.com) voor grotere resultsets.
  • Indien het nieuwe endpoint toch nog beperkt is tot 1000 records, wees er dan op voorbereid dat dit in de toekomst anders kan zijn.
  • Koppelingen met het nieuwe endpoint moeten overweg kunnen met 'content-length'-headers én 'content-transfer-encoding'-headers!

Hoe kun je het nieuwe endpoint gebruiken?

Het nieuwe endpoint is toegankelijk via de alternatieve domeinnaam rest.copernica.com. Het oude endpoint is (en blijft) beschikbaar via api.copernica.com. Beide endpoints ondersteunen dezelfde methodes. Ze verschillen van elkaar met betrekking tot het type HTTP-header dat geretourneerd wordt en het aantal records dat kan worden opgevraagd.

Meer informatie

Meer weten? Lees dan onze documentatie over de REST API en het ophalen van grote datasets.

Gerelateerde artikelen