Klanten

Create

POST /api2/klanten

Maak een nieuw contact van het type klant.

Voorbeeld request:

POST /api2/klanten HTTP/1.1
Host: demo.recras.nl
Accept: application/json

{
   "naam": "Voorbeeldgroep",
   "adres": "Teststraat 1",
   "postcode": "1337 XD",
   "plaats": "Teststad",
   "provinciecode": "NL-NH",
   "website": "http://www.example.com",
   "bedrijf_id": 1,
   "soort_klant": "Familie",
   "afdeling": null,
   "factuur_adressering": null,
   "contactpersonen": [
      {
         "id": 15,
         "hoofdcontact": false
      },
      {
         "voornaam": "Test",
         "achternaam": "Contactpersoon",
         "geslacht": "man",
         "aanhef": null,
         "adres": "Teststraat 1",
         "postcode": "1337 XD",
         "plaats": "Teststad",
         "telefoon1": "0123456789",
         "email1": "test@example.com",
         "hoofdcontact": true
      }
   ],
   "extra_fields": [
      {
         "name": "Shoe size",
         "type": "number",
         "value": 42,
      }
   ]
}
JSON Parameters:
  • naam (string) – De naam van de klant

  • adres (string) – Het adres van de klant

  • postcode (string)

  • plaats (string)

  • provinciecode (string) – De ISO 3166-2 provinciecode, wordt gebruikt voor statistieken

  • website (string) – De website van de klant

  • bedrijf_id (int) – id-nummer van een Bedrijf in Recras waar deze Klant bij hoort, het standaardbedrijf wordt ingevuld als dit veld leeggelaten is.

  • soort_klant (string) – Een soort klant zoals gespecificeerd bij het Bedrijf

  • afdeling (string)

  • factuur_adressering (string) – Het adres dat op de factuur getoond moet worden, indien afwijkend van het klantadres.

  • contactpersonen (array) – Verplicht Een lijst van één of meer contactpersonen, deze kunnen reeds in Recras bestaan of nieuwe invoeren zijn.

  • contactpersonen.hoofdcontact (boolean) – Verplicht voor ieder contactpersoon moet aangegeven worden of deze contactpersoon de hoofdcontactpersoon van deze klant is. Er kan slechts 1 hoofdcontactpersoon per klant zijn.

  • extra_fields (array) – Array of extra fields. type can be one of the following: text, number, date, singlechoice, multiplechoice. When type is number, value is of type integer. When type is date, value is an ISO 8601 formatted date. When type is multiplechoice, value is an array of string values.

Indien een reeds bestaand contactpersoon gekoppeld wordt:

JSON Parameters:
  • contactpersonen.id (int) – id-nummer van de contactpersoon

Indien een nieuw contactpersoon ingevoerd wordt (zie ook /contactpersonen)

JSON Parameters:
  • voornaam (string) – Voornaam van contactpersoon

  • achternaam (string)

  • geslacht (string) – Geslacht van contactpersoon, mogelijkheden zijn ‘man’, ‘vrouw’, ‘onbekend’

  • aanhef (string) – Aanhef die gebruikt moet worden. Wanneer leeggelaten wordt de standaardaanhef gebruikt.

  • adres (string)

  • postcode (string)

  • plaats (string)

  • telefoon1 (string)

  • telefoon2 (string)

  • email1 (string)

  • email2 (string)

Voorbeeld response:

HTTP/1.1 201 Created
Content-Type: application/json

{
   "id": 83,
   "type": "klant",
   "displaynaam": "Voorbeeldgroep",
   "naam": "Voorbeeldgroep",
   "adres": "Teststraat 1",
   "postcode": "1337 XD",
   "plaats": "Teststad",
   "provinciecode": "NL-NH",
   "website": "http://www.example.com",
   "bedrijf_id": 1,
   "soort_klant": "Familie",
   "afdeling": null,
   "factuur_adressering": null
}
Status Codes:

Read

GET /api2/klanten

Lijst van contacten van het type ‘klant’ in Recras.

Voorbeeld request:

GET /api2/klanten HTTP/1.1
Host: demo.recras.nl
Accept: application/json

Voorbeeld response:

HTTP/1.1 200 OK
Content-Type: application/json

[
   {
      "id": 62,
      "type": "klant",
      "displaynaam": "Pascal en Corry en kids",
      "naam": "Pascal en Corry en kids",
      "adres": null,
      "postcode": null,
      "plaats": null,
      "provinciecode": null,
      "website": null,
      "bedrijf_id": 1,
      "soort_klant": null,
      "afdeling": null,
      "factuur_adressering": null
   },
   {
      "id": 17,
      "type": "klant",
      "displaynaam": "Gemeente Appingedam",
      "naam": "Gemeente Appingedam",
      "adres": "Testraat 23",
      "postcode": "8291KS",
      "plaats": "Assen",
      "provinciecode": "NL-DR",
      "website": "",
      "bedrijf_id": 2,
      "soort_klant": "",
      "afdeling": "",
      "factuur_adressering": ""
   }
]
Status Codes:
Query Parameters:
  • id> (integer) – The smallest id-value to allow in the selection. New in v1.1.0

GET /api2/klanten/(int: id)

Een specifieke klant.

Het teruggegeven object bevat een veld contactpersonen, dat een lijst van contactpersoon-objecten bevat. Het eerste van deze contactpersonen is het hoofdcontactpersoon van dit contact.

Voorbeeld request:

GET /api2/contacten/17 HTTP/1.1
Host: demo.recras.nl
Accept: application/json

Voorbeeld response:

HTTP/1.1 200 OK
Content-Type: application/json

{
   "id": 17,
   "type": "klant",
   "displaynaam": "Gemeente Appingedam",
   "naam": "Gemeente Appingedam",
   "adres": "Testraat 23",
   "postcode": "8291KS",
   "plaats": "Assen",
   "provinciecode": "NL-DR",
   "website": "",
   "bedrijf_id": 2,
   "soort_klant": "",
   "afdeling": "",
   "factuur_adressering": "",
   "contactpersonen": [
      {
         "id": 15,
         "voornaam": "Janny",
         "achternaam": "Jansen",
         "geslacht": "man",
         "aanhef": null,
         "adres": "Testraat 23",
         "postcode": "8291KS",
         "plaats": "Assen",
         "telefoon1": null,
         "telefoon2": null,
         "email1": null,
         "email2": null,
         "hoofdcontact": true
      }
   ]
}
Status Codes:

Update

PUT /api2/klanten/(int: id)

Update een bestaande klant.

Het gebruik van dit endpoint is nagenoeg gelijk aan KlantenCreate_ <het maken van nieuwe klanten>. Let hierbij op dat, indien het veld contactpersonen opgegeven wordt, exact de lijst contactpersonen zoals die in Recras moet staan opgegeven moet worden.

Changelog

1.1.0:

Added the id> parameter to the customers list.

0.1.0:

Old, basically unversioned API. The documentation may be outdated