TRIMEDIXS DEVELOPER PORTAL

CRM / API v1

Een klant gevonden.
Een koppeling gelegd.

Gebruik de klantgegevens uit het fictieve Trimedixs-CRM in jouw HR-app. Zoek een klant, lees het antwoord en koppel het klantnummer aan een declaratie.

Oefenomgeving · alleen fictieve gegevens · alleen lezen · geen API-sleutel nodig

01 / Zoek een klant

Zoek op een deel van de bedrijfsnaam of het klantnummer. Gebruik 2 tot en met 100 tekens; hoofdletters maken geen verschil.

GET /api/v1/customers?search=zorg ↗

Maximaal 20 resultaten per antwoord. total geeft alle treffers aan; verfijn je zoekterm als er meer zijn. De API zoekt op naam en nummer, niet op plaats.

{
  "customers": [
    {
      "customerId": "K-1001",
      "companyName": "Zorgcentrum Lindevaert",
      "city": "Breda"
    }
  ],
  "total": 1,
  "limit": 20
}

Dit is een ingekort voorbeeld van de antwoordstructuur. zorg levert meerdere klanten op.

02 / Doe je eerste aanroep

Vervang hieronder API_BASIS_URL door de oorsprong van deze site, bijvoorbeeld lokaal http://127.0.0.1:8789. Gebruik voor een gepubliceerde app de HTTPS-URL van de API.

const url = new URL('/api/v1/customers', API_BASIS_URL);
url.searchParams.set('search', 'Hart & Hand');
const response = await fetch(url, { credentials: 'omit' });
if (!response.ok) {
  throw new Error(`API-fout: ${response.status}`);
}
const data = await response.json();
console.log(data.customers);

Maak in je app ook een laadstatus, een melding voor geen treffers en foutafhandeling. Een HTTP-fout laat fetch niet vanzelf mislukken: controleer response.ok.

03 / Test de uitzonderingen

AanroepVerwacht
?search=K-1001200 · één klant
?search=bestaatniet200 · lege klantenlijst
?search=x400 · ongeldige zoekterm
/api/v1/examples/error503 · bewuste oefenfout
/api/v1/status200 · API-status

Fouten hebben de vorm { "error": { "code": "…", "message": "…" } }. Schrijven is niet toegestaan (405); een onbekende API-route geeft 404.

04 / Van CRM naar declaratie

Bewaar na selectie het klantnummer en de bedrijfsnaam bij de declaratie in je eigen Supabase-database. Het CRM beheert de klanten; jouw app beheert de declaraties. Stuur geen HR-gegevens naar deze API.

De API staat aanroepen vanaf andere websites toe via CORS. De aparte CRM-API-client laat je een basis-URL invullen, zoeken, selecteren en de ruwe antwoorden bekijken.