Naar de inhoud
Trelynhelp
Developers

Aan de slag

2 min lezen

API-voorbeelden

Lees records, maak een bedrijf en contactpersoon aan en werk een CRM-taak bij.

Bekijk als Markdown

De voorbeelden gebruiken de basis-URL van het beheerscherm en een servervariabele voor het geheim:

export TRELYN_BASE_URL="https://app.trelyn.nl/api/v1"
# Stel TRELYN_API_KEY veilig in, bijvoorbeeld via je deployment-secrets.

#Bedrijf aanmaken en bijwerken

Vereist: companies:read en companies:write.

curl -X POST "$TRELYN_BASE_URL/companies" \
  -H "Authorization: Bearer $TRELYN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Bakkerij De Vries","email":"[email protected]","website":"https://devries.example"}'

Het antwoord heeft status 201 en bevat data.id. Gebruik die UUID in volgende verzoeken:

curl -X PATCH "$TRELYN_BASE_URL/companies/$COMPANY_ID" \
  -H "Authorization: Bearer $TRELYN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"industry":"Retail"}'

#Contactpersoon koppelen

Vereist: contacts:read en contacts:write. Gebruik een bestaand bedrijf uit dezelfde workspace.

curl -X POST "$TRELYN_BASE_URL/contacts" \
  -H "Authorization: Bearer $TRELYN_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"firstName\":\"Eva\",\"lastName\":\"De Vries\",\"email\":\"[email protected]\",\"companyId\":\"$COMPANY_ID\"}"

#Alle pagina's lezen met JavaScript

const base = process.env.TRELYN_BASE_URL;
const key = process.env.TRELYN_API_KEY;
let cursor = null;
const seen = new Set();

do {
  const url = new URL(`${base}/companies`);
  url.searchParams.set("limit", "100");
  if (cursor) url.searchParams.set("cursor", cursor);
  const response = await fetch(url, {
    headers: { Authorization: `Bearer ${key}` },
  });
  const body = await response.json();
  if (!response.ok) {
    throw new Error(`${body.error.code}: ${body.error.message} (${body.error.requestId})`);
  }
  for (const company of body.data) {
    if (seen.has(company.id)) continue;
    seen.add(company.id);
    console.log(company.id, company.name);
  }
  cursor = body.nextCursor;
} while (cursor);

Deze code stopt bij fouten. Voeg in productie foutafhandeling en begrensde retries toe volgens fouten en limieten. Bij gelijktijdige wijzigingen kan een gepagineerde lijst verschuiven; gebruik webhooks voor doorlopende synchronisatie en voer zo nodig een volledige herlezing uit.

#CRM-taak aanmaken en afronden

Vereist: tasks:read en tasks:write. Een CRM-taak is een activiteit van het type task, geen projecttaak.

curl -X POST "$TRELYN_BASE_URL/tasks" \
  -H "Authorization: Bearer $TRELYN_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"body\":\"Offerte nabellen\",\"companyId\":\"$COMPANY_ID\",\"dueAt\":\"2026-11-01T09:00:00Z\"}"

curl -X POST "$TRELYN_BASE_URL/tasks/$TASK_ID/complete" \
  -H "Authorization: Bearer $TRELYN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

#Deals en stages

Haal eerst de pipeline en stages op met GET /pipelines en het vinkje pipelines:read. Gebruik een open stage uit de gewenste pipeline:

curl -X POST "$TRELYN_BASE_URL/deals" \
  -H "Authorization: Bearer $TRELYN_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"name\":\"Nieuwe website\",\"pipelineId\":\"$PIPELINE_ID\",\"stageId\":\"$STAGE_ID\",\"source\":\"Eigen integratie\"}"

Dit vereist deals:read en deals:write. Voeg je oneTimeRevenue, mrr of estimatedBudget toe, dan is ook deals:values nodig. Gebruik de API-referentie voor alle ondersteunde velden en waarden.

Kom je er niet uit?

Ons supportteam helpt je verder, meestal binnen één werkdag.

Neem contact op

Laatst bijgewerkt op 16 oktober 2026

Begin hier