Naar de hoofdinhoud

Website rechtstreeks koppelen (zonder Zapier)

Laat je website aanvragen direct naar Bas sturen: elke aanvraag wordt een dossier met een taak. Voor websitebouwers: endpoint, velden, toegestane waarden en een voorbeeld.

Je website kan aanvragen rechtstreeks naar Bas sturen. Elke aanvraag komt dan binnen als dossier, met de gegevens goed en een taak erbij om hem op te pakken. Je hoeft niets over te typen en er raakt nooit een aanvraag kwijt.

Dit artikel is geschreven voor degene die je website beheert. Stuur het gerust door. Werk je liever met Zapier, lees dan Website koppelen via Zapier. Rechtstreeks koppelen is gratis en heeft één schakel minder die stuk kan; webhooks zijn bij Zapier een betaalde functie.

Stap 1: koppeling aanzetten in Bas

Ga in Bas naar Instellingen → Koppelingen → Website integratie en klik op Koppeling activeren. Vul onder Instellingen in:

  • Naam: vrije naam, bijvoorbeeld de naam van je website.

  • Unieke code: een code die je zelf kiest, bijvoorbeeld mijnbedrijf-website-2026. Je website stuurt deze code mee bij elke aanvraag.

  • Pakket en Prijsafspraak: de kenmerken die elk nieuw dossier uit de website krijgt.

  • Plan automatisch een voorlopige afspraak in voor de gewenste verhuisdatum: kies Nee als je planning schoon wilt blijven (de datum staat dan als tekst bij het dossier). Kies Ja als elke aanvraag direct als onbevestigde afspraak in de planning mag staan.

Na opslaan zie je de API URL. Die heeft je websitebouwer nodig. Er is geen aparte sleutel of header; de beveiliging zit in de unieke URL plus de code die je meestuurt. Zet ze daarom niet zichtbaar in de code van je website, maar verstuur vanaf je server of formulier-handler.

Stap 2: je website stuurt de aanvraag naar Bas

Stuur bij elke inzending van je formulier een POST naar de API URL met Content-Type: application/json.

Verplicht

  • websiteCode: de unieke code uit stap 1.

  • customer.relationType: private of business. Bij private is lastName verplicht, bij business is companyName verplicht.

Optioneel

  • In customer: emailAddress, phoneNumber (internationaal zoals +316..., of stuur region: "NL" mee), firstName, middleName, salutation, gender.

  • preferredMovingDate: formaat YYYY-MM-DD. Wordt alleen een afspraak in de planning als je dat in stap 1 op Ja hebt gezet.

  • customerNotes: vrije tekst, bijvoorbeeld het berichtveld van je formulier. Handig om ook de gewenste verhuisdatum in te zetten als je de planning schoon houdt.

  • addresses: lijst met nul, één of twee adressen (zie hieronder).

Toegestane waarden

Stuur deze waarden exact zo mee (dus house, niet Huis). Toont je formulier Nederlandse labels, vertaal ze dan in je formulier-handler. Een afwijkende waarde wordt geweigerd.

  • salutation: "" (onbekend), heer, mevrouw, de heer en mevrouw, familie, Dhr., Mevr., Fam., Mr, Ms, family

  • gender: "" (onbekend), male, female

  • addressType (per adres, verplicht): from (laadadres) of to (losadres)

  • buildingType (per adres, optioneel): apartment, studio, house, bungalow, villa, farm, mansion, detached-house, terraced-house, corner-house, two-under-one-roof, double-apartment, upstairs-apartment, dike-house, houseboat, drive-in, garage, storage, office, commercial-building, school, school-building, nursing-home, assisted-living-center, senior-housing, of "" (onbekend)

Adressen

Adressen zijn optioneel: stuur er nul, één of twee mee. Alleen een laadadres is prima, bijvoorbeeld als de bezoeker het nieuwe adres nog niet weet. Stuur je een adres mee, dan moeten addressType, streetName, houseNumber, zipCode, city en country (landcode, bijvoorbeeld NL of BE) ingevuld zijn. Laat een leeg of half ingevuld adresblok helemaal weg uit de payload. Optioneel per adres: houseNumberAddition, buildingType, floor, hasElevator, notes.

Voorbeeld

{
  "websiteCode": "mijnbedrijf-website-2026",
  "customer": {
    "relationType": "private",
    "salutation": "heer",
    "firstName": "Jan",
    "lastName": "Jansen",
    "emailAddress": "[email protected]",
    "phoneNumber": "+31612345678",
    "region": "NL"
  },
  "customerNotes": "Gewenste verhuisdatum: 15 september 2026. Bericht uit het contactformulier.",
  "addresses": [
    {
      "addressType": "from",
      "primary": true,
      "streetName": "Dorpsstraat",
      "houseNumber": "1",
      "zipCode": "1234AB",
      "city": "Middelburg",
      "country": "NL",
      "buildingType": "terraced-house"
    },
    {
      "addressType": "to",
      "primary": false,
      "streetName": "Kerkweg",
      "houseNumber": "10",
      "zipCode": "4321BA",
      "city": "Vlissingen",
      "country": "NL"
    }
  ]
}

Stap 3: controleren

  • 202 Accepted: gelukt. De aanvraag staat als nieuw dossier in Bas, met de taak erbij.

  • 200 met een foutmelding in de JSON: een veld klopt niet (ongeldig telefoonnummer, incompleet adres, niet-toegestane waarde). De body zegt precies welk veld. Controleer dus op status 202 voor succes.

Een afgekeurde aanvraag gaat niet verloren. Bas maakt er een taak van en de aanvraag verschijnt onder Instellingen → Koppelingen → Website integratie → Aandacht nodig, met de foutmelding en een knop om hem opnieuw te verwerken. Onder Alle data zie je alle binnengekomen aanvragen, ook de geslaagde. Handig om tijdens het testen mee te kijken.

Doe een testinzending met een herkenbare naam (bijvoorbeeld "Test website"), zodat je het dossier daarna makkelijk terugvindt en verwijdert.

Tips voor een schoon formulier

Hoe schoner de gegevens uit je formulier komen, hoe minder er mis kan gaan. Gebruik waar mogelijk een adres-autocomplete (Google Places), een datumkiezer en een telefoonveld met formaatcontrole. In Wix, WordPress en Webflow zijn dit standaardopties.

Kom je er niet uit? Mail [email protected], dan kijken we mee.

Was dit een antwoord op uw vraag?