blueprint/API Documentatie
Dashboard
REST API

API Documentatie

De Blueprint REST API geeft u programmatische toegang tot alle modules van uw platform. Gebruik de API voor eigen integraties, webhooks of automatiseringen. (The Blueprint REST API gives programmatic access to all platform modules — for custom integrations, webhooks and automations.)

Authenticatie / Authentication

Sessie-cookie (aanbevolen voor browsers)

Gebruik POST /api/auth/login om een sessie te starten. Het antwoord bevat een httpOnly cookie bp_session dat automatisch bij elk volgend verzoek wordt meegestuurd door de browser.

POST /api/auth/login
Content-Type: application/json

{ "email": "jan@bedrijf.nl", "password": "..." }

# Alle volgende requests kunnen het cookie automatisch gebruiken
GET /api/dashboard/data?table=crm_contacts

API-sleutel (voor server-to-server)

Voeg een Authorization header toe aan elke request. API-sleutels zijn beschikbaar via Dashboard → Instellingen → Koppelingen.

GET /api/dashboard/data?table=crm_contacts
Authorization: Bearer bp_live_xxxxxxxxxxxxxxxxxxxx

Basis-URL / Base URL

https://blueprint-solutions.nl

Limieten / Rate Limits

PlanLimiet
Starter60 verzoeken per minuut
Professional200 verzoeken per minuut
Enterprise600 verzoeken per minuut

Bij overschrijding ontvangt u HTTP 429 Too Many Requests. De header Retry-After geeft aan wanneer u opnieuw kunt proberen.

Foutcodes / Error Codes

200 OKVerzoek geslaagd.
201 CreatedResource aangemaakt.
400 Bad RequestOngeldige invoer of ontbrekende velden.
401 UnauthorizedSessie verlopen of ongeldige API-sleutel.
403 ForbiddenGeen rechten voor deze actie.
404 Not FoundResource niet gevonden.
429 Too Many RequestsSnelheidslimiet overschreden.
500 Internal Server ErrorServerfout. Probeer opnieuw.

Authenticatie / Authentication

Sessie-gebaseerde authenticatie via cookie en API-sleutels voor server-to-server integraties.

POST/api/auth/loginInloggen / Login

Request body (JSON)

ParameterTypeVerplicht
emailstringja
passwordstringja

Voorbeeld verzoek / Example request

POST /api/auth/login
Content-Type: application/json

{
  "email": "jan@devries-bouw.nl",
  "password": "geheim123"
}

Antwoord / Response

{
  "success": true,
  "user": { "id": "...", "name": "Jan de Vries", "role": "owner" }
}
// Sets httpOnly cookie: bp_session
POST/api/auth/logoutUitloggen / Logout

Antwoord / Response

{ "success": true }
// Clears bp_session cookie

CRM / CRM

Contacten, deals en activiteiten beheren.

GET/api/dashboard/data?table=crm_contactsContacten ophalen / Get contacts

Query parameters

ParameterTypeVerplicht
tablestringja
searchstringnee

Antwoord / Response

{
  "data": [
    {
      "id": "uuid",
      "name": "Jan de Vries",
      "email": "jan@voorbeeld.nl",
      "phone": "+31612345678",
      "company": "De Vries Bouw",
      "status": "actief",
      "tags": ["bouw","klant"],
      "created_at": "2026-01-15T09:00:00Z"
    }
  ]
}
POST/api/dashboard/dataContact aanmaken / Create contact

Request body (JSON)

ParameterTypeVerplicht
tablestringja
data.namestringja
data.emailstringnee
data.phonestringnee
data.companystringnee
data.tagsstring[]nee

Voorbeeld verzoek / Example request

POST /api/dashboard/data
Content-Type: application/json

{
  "table": "crm_contacts",
  "data": {
    "name": "Pieter Bakker",
    "email": "pieter@bakker.nl",
    "phone": "+31612345679",
    "company": "Bakker Installaties",
    "tags": ["lood","installatie"]
  }
}

Antwoord / Response

{ "data": { "id": "uuid", ... }, "success": true }
PATCH/api/dashboard/dataContact bijwerken / Update contact

Request body (JSON)

ParameterTypeVerplicht
tablestringja
idstring (UUID)ja
dataobjectja

Antwoord / Response

{ "success": true }
DELETE/api/dashboard/dataContact verwijderen / Delete contact

Request body (JSON)

ParameterTypeVerplicht
tablestringja
idstring (UUID)ja

Antwoord / Response

{ "success": true }

Facturatie / Invoicing

Facturen en offertes aanmaken, verzenden en beheren.

GET/api/dashboard/data?table=invoicesFacturen ophalen / Get invoices

Query parameters

ParameterTypeVerplicht
tablestringja

Antwoord / Response

{
  "data": [
    {
      "id": "uuid",
      "invoice_number": "F-2026-0042",
      "contact_name": "Jan de Vries",
      "amount_cents": 149500,
      "currency": "EUR",
      "status": "verstuurd",
      "due_date": "2026-02-15",
      "created_at": "2026-01-15T09:00:00Z"
    }
  ]
}
POST/api/dashboard/dataFactuur aanmaken / Create invoice

Request body (JSON)

ParameterTypeVerplicht
tablestringja
data.contact_namestringja
data.amount_centsnumberja
data.currencystringnee
data.due_datestring (ISO 8601)nee
data.itemsInvoiceItem[]nee

Antwoord / Response

{ "data": { "id": "uuid", "invoice_number": "F-2026-0043", ... } }
POST/api/dashboard/invoices/sendFactuur verzenden / Send invoice

Request body (JSON)

ParameterTypeVerplicht
idstring (UUID)ja
channel"email" | "whatsapp"ja

Antwoord / Response

{ "success": true, "message_id": "..." }

Agenda / Calendar

Afspraken inplannen, ophalen en bijwerken.

GET/api/dashboard/data?table=agenda_eventsAfspraken ophalen / Get appointments

Query parameters

ParameterTypeVerplicht
tablestringja
fromstring (ISO 8601)nee
tostring (ISO 8601)nee

Antwoord / Response

{
  "data": [
    {
      "id": "uuid",
      "title": "Inspectie dak",
      "start_at": "2026-02-01T10:00:00Z",
      "end_at": "2026-02-01T11:00:00Z",
      "location": "Dorpsstraat 12, Amsterdam",
      "assigned_user_id": "uuid"
    }
  ]
}
POST/api/dashboard/dataAfspraak aanmaken / Create appointment

Request body (JSON)

ParameterTypeVerplicht
tablestringja
data.titlestringja
data.start_atstring (ISO 8601)ja
data.end_atstring (ISO 8601)ja
data.locationstringnee
data.assigned_user_idstring (UUID)nee

Antwoord / Response

{ "data": { "id": "uuid", ... } }

WhatsApp / WhatsApp

Berichten sturen en gesprekken ophalen via de WhatsApp Business API.

POST/api/webhook/whatsappWhatsApp webhook (inkomend) / Inbound webhook

Query parameters

ParameterTypeVerplicht
hub.modestringnee
hub.challengestringnee
hub.verify_tokenstringnee

Voorbeeld verzoek / Example request

// Inbound message from Meta
POST /api/webhook/whatsapp
X-Hub-Signature-256: sha256=...

{
  "entry": [{
    "changes": [{
      "value": {
        "messages": [{
          "from": "31612345678",
          "text": { "body": "Hoi, kan ik een offerte krijgen?" }
        }]
      }
    }]
  }]
}

Antwoord / Response

HTTP 200 OK
POST/api/dashboard/whatsapp/sendBericht sturen / Send message

Request body (JSON)

ParameterTypeVerplicht
tostringja
messagestringja
templatestringnee
template_paramsstring[]nee

Antwoord / Response

{ "success": true, "wa_message_id": "wamid...." }
GET/api/dashboard/data?table=conversationsGesprekken ophalen / Get conversations

Query parameters

ParameterTypeVerplicht
tablestringja
status"active" | "closed" | "pending"nee

Antwoord / Response

{
  "data": [
    {
      "id": "uuid",
      "customer": { "name": "Jan de Vries", "phone": "+31612345678" },
      "status": "active",
      "last_message_at": "2026-03-01T14:22:00Z",
      "channel": "whatsapp"
    }
  ]
}

Rittenplanner / Route Planner

Ritten inplannen, routes optimaliseren en bestuurders volgen.

GET/api/dashboard/data?table=rp_ordersOpdrachten ophalen / Get orders

Query parameters

ParameterTypeVerplicht
tablestringja
datestring (YYYY-MM-DD)nee
driver_idstring (UUID)nee

Antwoord / Response

{
  "data": [
    {
      "id": "uuid",
      "reference": "RIT-2026-0101",
      "pickup_address": "Hoofdstraat 1, Amsterdam",
      "delivery_address": "Keizersgracht 100, Amsterdam",
      "status": "onderweg",
      "driver_id": "uuid",
      "scheduled_at": "2026-03-01T08:00:00Z"
    }
  ]
}
POST/api/dashboard/dataRit aanmaken / Create trip

Request body (JSON)

ParameterTypeVerplicht
tablestringja
data.pickup_addressstringja
data.delivery_addressstringja
data.scheduled_atstring (ISO 8601)ja
data.driver_idstring (UUID)nee

Antwoord / Response

{ "data": { "id": "uuid", "reference": "RIT-2026-0102", ... } }
PATCH/api/dashboard/dataRitstatus bijwerken / Update trip status

Request body (JSON)

ParameterTypeVerplicht
tablestringja
idstring (UUID)ja
data.status"gepland" | "onderweg" | "afgeleverd" | "geannuleerd"ja

Antwoord / Response

{ "success": true }

Modules — Snelnavigatie

Hulp nodig? / Need help?

Neem contact op via e-mail of WhatsApp voor technische ondersteuning bij API-integraties.

© 2026 Blueprint. Alle rechten voorbehouden.