Skip to main content

Overzicht

Met de Flixer API kun je leads rechtstreeks vanaf je website naar Flixer sturen. Elke lead bevat:
  • Adresgegevens - Waar de klus uitgevoerd moet worden
  • Klantgegevens - Contactinformatie van de klant
  • Opdrachtgegevens - Beschrijving van de gewenste werkzaamheden

Endpoint

POST https://api.flixerpro.io/v1/leads
Vereiste scope: leads:write

Request velden

Adres (verplicht)

VeldTypeVerplichtVoorbeeld
streetstringJa"Keizersgracht"
streetNumberstringNee"123"
streetNumberAdditionstringNee"A"
postalCodestringJa"1015 CJ"
citystringJa"Amsterdam"
countrystringNee"Nederland"

Klant (verplicht)

VeldTypeVerplichtVoorbeeld
customerNamestringJa"Jan de Vries"
firstNamestringNee"Jan"
lastNamestringNee"de Vries"
emailstringNee"jan@voorbeeld.nl"
phonestringNee"+31612345678"
companyNamestringNee"De Vries B.V."
Als companyName is ingevuld, wordt de klant als zakelijke klant geregistreerd.

Opdracht (verplicht)

VeldTypeVerplichtVoorbeeld
titlestringJa"Lekkage badkamer"
descriptionstringNee"Waterdruppels op het plafond"
categorystringNee"Loodgieter"
priorityenumNee"medium"
budgetQuotestringNee"€500 - €1000"
notesstringNee"Graag snel contact"
Priority waarden: low, medium, high, urgent

Volledig voorbeeld

curl -X POST "https://api.flixerpro.io/v1/leads" \
  -H "X-API-Key: jouw_api_sleutel" \
  -H "Content-Type: application/json" \
  -d '{
    "street": "Keizersgracht",
    "streetNumber": "123",
    "streetNumberAddition": "A",
    "postalCode": "1015 CJ",
    "city": "Amsterdam",
    "country": "Nederland",
    "customerName": "Jan de Vries",
    "firstName": "Jan",
    "lastName": "de Vries",
    "email": "jan@voorbeeld.nl",
    "phone": "+31612345678",
    "title": "Lekkage badkamer",
    "description": "Klant meldt waterschade aan het plafond in de badkamer. Vermoedelijk komt het van de bovenverdieping.",
    "category": "Loodgieter",
    "priority": "high",
    "budgetQuote": "€500 - €1000",
    "notes": "Graag zo snel mogelijk contact opnemen"
  }'

Response

Bij succes ontvang je de aangemaakte lead:
{
  "id": "WRKabc123def456ghi789",
  "brandId": "BRAabc123...",
  "customerId": "CUSabc123...",
  "addressId": "ADRabc123...",
  "title": "Lekkage badkamer",
  "description": "Klant meldt waterschade aan het plafond...",
  "status": "request",
  "priority": "high",
  "source": "web",
  "receivedAt": "2026-03-27T10:30:00.000Z",
  "createdAt": "2026-03-27T10:30:00.000Z"
}
Bewaar het id van de aangemaakte lead als je later de status wilt opvragen.

Foutafhandeling

async function createLeadWithErrorHandling(formData) {
  try {
    const response = await fetch("https://api.flixerpro.io/v1/leads", {
      method: "POST",
      headers: {
        "X-API-Key": process.env.FLIXER_API_KEY,
        "Content-Type": "application/json"
      },
      body: JSON.stringify(formData)
    });

    if (response.status === 401) {
      console.error("Ongeldige API-sleutel");
      return { success: false, error: "auth_error" };
    }

    if (response.status === 422) {
      const error = await response.json();
      console.error("Validatiefout:", error);
      return { success: false, error: "validation_error", details: error };
    }

    if (!response.ok) {
      console.error("Onverwachte fout:", response.status);
      return { success: false, error: "server_error" };
    }

    const lead = await response.json();
    return { success: true, lead };
  } catch (error) {
    console.error("Netwerkfout:", error);
    return { success: false, error: "network_error" };
  }
}
Zie Foutafhandeling voor alle foutcodes.