Naar de inhoud

Paginering en filters

Door lijsten bladeren met limit en cursor, en filteren met since.

Drie lijsten zijn gepagineerd: leads, conversations en content-gaps. Je bladert met een cursor: elke pagina vertelt of er meer is en waar de volgende begint. Met since haal je alleen op wat sinds een bepaald moment veranderd is.

Parameters

Queryparameters

NaamTypeStandaardBeschrijving
limitgetal50Aantal rijen per pagina, hoogstens 200. Een grotere waarde wordt 200.
cursortekstDe nextCursor van de vorige pagina. Dat is het id van de laatste rij op die pagina.
sincedatumAlleen rijen vanaf dit moment, als ISO-datum, bijvoorbeeld 2026-11-01 of 2026-11-01T08:00:00Z.

Bij leads en conversations wordt een limit met decimalen naar beneden afgerond, en een waarde van 0 of lager, of die geen getal is, wordt 50.

Antwoordvorm

JSON
{
	"data": [ ... ],
	"hasMore": true,
	"nextCursor": "<id van de laatste rij op deze pagina>"
}
  • hasMore is true als er na deze pagina nog rijen zijn.
  • nextCursor is het id van de laatste rij op deze pagina als hasMore true is, en anders null.
  • De volgende pagina begint direct na die rij.

Let op

Een cursor die niet bestaat in je werkruimte of geen geldig id is, geeft geen fout maar een lege pagina: {"data":[],"hasMore":false,"nextCursor":null}. Geef dus altijd de nextCursor door zoals je hem kreeg.

Voorbeeld

Een werkruimte met drie leads, opgehaald per twee. De eerste aanroep geeft twee rijen met hasMore: true:

curl
curl "https://leadforge.nl/api/v1/leads?limit=2" \
  -H "Authorization: Bearer LF_LIVE_SLEUTEL"

De tweede aanroep met de nextCursor van de eerste geeft de laatste rij met hasMore: false:

curl
curl "https://leadforge.nl/api/v1/leads?limit=2&cursor=NEXT_CURSOR" \
  -H "Authorization: Bearer LF_LIVE_SLEUTEL"

Alles ophalen

Blader door tot hasMore false is. Met limit=200 heb je de minste verzoeken nodig.

cursor=""
while :; do
  antwoord=$(curl -s "https://leadforge.nl/api/v1/leads?limit=200${cursor:+&cursor=$cursor}" \
    -H "Authorization: Bearer LF_LIVE_SLEUTEL")
  echo "$antwoord" | jq -c '.data[]'
  [ "$(echo "$antwoord" | jq -r '.hasMore')" = "true" ] || break
  cursor=$(echo "$antwoord" | jq -r '.nextCursor')
done

Het curl-voorbeeld gebruikt jq om het antwoord te lezen.

Filteren met since

Lijstsince filtert opOngeldige sinceSortering
/api/v1/leadsupdatedAt, vanaf dit momentGenegeerd, je krijgt de lijst zonder filterNieuwste lead eerst, op createdAt
/api/v1/conversationslastMessageAt, vanaf dit momentGenegeerd, je krijgt de lijst zonder filterLaatste bericht eerst, op lastMessageAt
/api/v1/content-gapsupdatedAt, vanaf dit moment400 met code bad_requestVaakst gesteld eerst, op frequency

Elke lijst heeft daarnaast eigen filters, zoals status bij leads en label bij conversations. Die staan op de pagina van de lijst.

Lijsten zonder paginering

agents, campaigns en modules geven alles in één keer terug, zonder hasMore en nextCursor. Bij campaigns zijn dat hoogstens 100 campagnes.

Verder lezen