Contacten

Profiel

Het profiel van het geauthenticeerde contact lezen en bijwerken.

Bekijk als Markdown

Beide profiel-endpoints zijn contact-geauthenticeerd: ze vereisen de tenant-API-key in Authorization en een geldig contactsessietoken in X-Customer-Token. Lezen vereist de contacts:read scope, bijwerken vereist contacts:write (customers:read / customers:write geaccepteerd).

GET /v1/api/contacts/me

Ook aangeboden op /v1/api/customers/me voor bestaande integraties; identiek request en response.

Haal het profiel van het geauthenticeerde contact op.

Headers

NaamTypeVerplichtBeschrijving
X-Customer-TokenstringJaContactsessietoken van register of login.

Geen query- of body-parameters.

Request
curl https://api.borkol.com/v1/api/contacts/me \
  -H "Authorization: Bearer {api_key}" \
  -H "X-Customer-Token: 13|Gh7rS2uX5vWy8zAbCdEfGhIjKlMnOpQrStUvWxYz"

Status: 200 OK.

Response
{
  "data": {
    "id": "9d4e2f1a-6b3c-4f8e-9a1d-2c5b7e8f0a3d",
    "name": "Jane Doe",
    "email": "jane@example.com",
    "phone": "+31612345678",
    "kind": "person",
    "company_name": null,
    "registration_number": null,
    "vat_id": null,
    "external_id": null,
    "display_name": "Jane Doe",
    "created_at": "2026-08-14T10:32:11+00:00"
  }
}

Een contact dat door de handelaar als bedrijf is aangemaakt (via het klantdashboard of CSV-import) ziet er zo uit:

Response (zakelijk contact)
{
  "data": {
    "id": "c2d3e4f5-6a7b-4c8d-9e0f-1a2b3c4d5e6f",
    "name": "Mark van Dijk",
    "email": null,
    "phone": "+31201234567",
    "kind": "company",
    "company_name": "Van Dijk Bouw B.V.",
    "registration_number": "34567890",
    "vat_id": "NL123456789B01",
    "external_id": "erp-4471",
    "display_name": "Van Dijk Bouw B.V.",
    "created_at": "2026-08-20T09:00:00+00:00"
  }
}

Fouten

  • 401 {"message":"Invalid customer token."} wanneer X-Customer-Token ontbreekt of ongeldig is.

PATCH /v1/api/contacts/me

Ook aangeboden op /v1/api/customers/me voor bestaande integraties; identiek request en response.

Werk het profiel van het geauthenticeerde contact bij. Dit is een partiële update: alle body-velden zijn optioneel en alleen de velden die je stuurt worden gewijzigd. Het wijzigen van het e-mailadres van een niet-gast account vereist het huidige wachtwoord van het account in current_password. kind, company_name, registration_number, vat_id en external_id worden op dit endpoint niet geaccepteerd — ze zijn alleen-lezen via de storefront API en worden door de handelaar ingesteld.

Headers

NaamTypeVerplichtBeschrijving
X-Customer-TokenstringJaContactsessietoken van register of login.

Body-parameters

NaamTypeVerplichtBeschrijving
namestringNeeVolledige naam. Maximaal 150 tekens.
emailstringNeeGeldig e-mailadres, maximaal 255 tekens. Server-side naar lowercase omgezet. Mag niet bij een ander contact horen. Wijzigen op een niet-gast account vereist current_password.
phonestring of nullNeeTelefoonnummer, maximaal 50 tekens. Stuur null om te wissen.
current_passwordstringNeeAlleen vereist bij het wijzigen van email op een niet-gast account. Wordt nooit opgeslagen; alleen gecontroleerd.
Request
curl -X PATCH https://api.borkol.com/v1/api/contacts/me \
  -H "Authorization: Bearer {api_key}" \
  -H "X-Customer-Token: 13|Gh7rS2uX5vWy8zAbCdEfGhIjKlMnOpQrStUvWxYz" \
  -H "Content-Type: application/json" \
  -d '{"name":"Jane A. Doe","phone":"+31612345678"}'

Status: 200 OK. Retourneert het bijgewerkte contact.

Response
{
  "data": {
    "id": "9d4e2f1a-6b3c-4f8e-9a1d-2c5b7e8f0a3d",
    "name": "Jane A. Doe",
    "email": "jane@example.com",
    "phone": "+31612345678",
    "kind": "person",
    "company_name": null,
    "registration_number": null,
    "vat_id": null,
    "external_id": null,
    "display_name": "Jane A. Doe",
    "created_at": "2026-08-14T10:32:11+00:00"
  }
}

Fouten

  • 422 met errors.current_password ["Current password is required to change email."] bij het wijzigen van het e-mailadres van een niet-gast account zonder current_password, of met een verkeerd wachtwoord.
  • 422 met errors.email ["Email already registered."] wanneer het nieuwe e-mailadres bij een ander contact hoort.
  • 422 bij veldvalidatiefouten.
  • 401 {"message":"Invalid customer token."} wanneer X-Customer-Token ontbreekt of ongeldig is.