Documentatie

Met de entiteit API - Customer kan specifieke informatie over een klant worden verkregen, een klant kan worden toegevoegd, bestaande klantgegevens kunnen worden uitgebreid, er kunnen verschillende controles worden uitgevoerd etc. Gecombineerd met de module abonnementen kan er gecontroleerd worden of een klant een geldend abonnement heeft.

GET customer/{id}

Used for

Opvragen specifieke klant

Authenticatie

Gebruiker dient ingelogd te zijn op beheerdersniveau.
Benodigde rechten

  • api_customer_get
  • entity_customer_read

Parameters

Parameter Omschrijving Verplicht Voorbeeld
id Customer ID Ja 2
admin Als deze parameter gebruikt wordt, worden de beheerders velden teruggegeven ?admin=1

Output

Velden zijn afhankelijk van de formulier configuratie

Response codes

  • 200 OK
  • 401 Unauthorized for current customer

Voorbeeld

Opvragen klant 2

GET api/rest/customer/2

Response:

{
   "customer_id":"2",
   "email":"info@i-reserve.nl",
   "initials":"D",
   "lastname":"Demoklant",
   "postal":"1200AA",
   "tel_mob":""
}

POST customer/add

Gebruikt voor

Toevoegen van een klant. Geeft het klanten record terug als deze is toegevoegd.

Authenticatie

Anonieme toegang

Parameters

Parameter Omschrijving Verplicht Voorbeeld
customer Array of customer fields See field overview

Response codes

  • 200 OK

Voorbeeld

Toevioegen van klant

POST api/rest/customer/add

Request:

{
   "lastname":"Pietje Puk",
   "email":"info@pietje.nl"
}

Response:

 {
   "status":true,
   "customer_id":1040,
   "messages":[
      "Customer saved"
   ]
}

POST customer/check

Gebruikt voor

Uitvoeren controles voor toevoegen van een klant. De klant wordt niet opgeslagen.

Authenticatie

Anonieme toegang

Parameters

Parameter Omschrijving Verplicht Voorbeeld
customer Array van klant velden Nee Veld overzicht
lang Taal Nee ?lang=english

Response codes

  • 200 OK

Voorbeeld

Controleer een set van klant velden

POST api/rest/customer/check/

Request:

{
   "lastname":"Pietje Puk",
   "email":"info@pietje.nl"
}

Response:

 {
   "status":true,
   "messages":[
      "No issues found"
   ]
}

Controleer een set aan klant velden met issues

POST api/rest/customer/check/

Request:

{
   "incorrect_field":"Pietje Puk",
   "email":"info@pietje.nl"
}

Response:

 

    {
        "status": false,
        "messages":
        [
            "lastname: Required field",
            "Field incorrect_field is not allowed"
        ]
    }

GET customer/current

Gebruikt voor

Ophalen van de klant die op dit moment is ingelogd

Authenticatie

Ingelogde gebruiker

Parameters

Parameter Omschrijving Verplicht Voorbeeld
id Customer ID Ja 2
admin If set, the fields returned are based on the admin form ?admin=1
raw If set, also the raw values of the data is returned ?raw=1

Output

Velden zijn afhankelijk van de formulier configuratie

Response codes

  • 200 OK
  • 401 Unauthorized for current customer

Voorbeeld

Opvragen huidige klant

GET api/rest/customer/current

Response:

{
   "customer_id":"972",
   "email":"info@pietje.nl",
   "initials":"A.A.",
   "lastname":"Pietje Puk",
   "postal":"",
   "tel_mob":"0654222779"
}

POST customer/current

Gebruikt voor

Bijwerken van de klant gegevens van de huidig ingelogde gebruiker.

Authenticatie

Ingelogde gebruiker

Parameters

Parameter Description Required Example
customer Array of customer fields No

Response codes

  • 200 OK

Example

Bijwerken email adres van de huidige klant

POST api/rest/customer/current

Request:

{
   "email":"info@pietje.nl"
}

Response:

 {
   "status":true,
   "customer_id":1040,
   "messages":[
      "Customer saved"
   ]
}

GET customer/activesubscriptions

Gebruikt voor

Ophalen van de abonnementen voor een specifieke klant
Alleen van toepassing als de abonnementen module actief is.

Authenticatie

Ingelogd als beheerder.
Volgende rechten zijn benodigd

  • entity_customer_read
  • entity_subscription_read

Parameters

Parameter Omschrijving Verplicht Voorbeeld
customer_id Customer ID Ja 2
subscription_id Subscription ID Nee 12

Output

Velden zijn afhankelijk van de formulier configuratie

Response codes

  • 200 OK
  • 401 Unauthorized for current customer

Voorbeeld

Ophalen van de abonnementen voor klant 104.

GET api/rest/customer/activesubscriptions?customer_id=104

Response

[
   {
      "subscription_id":"2",
      "subscription_name":"Test Abo",
      "valid_from":"2014-01-02",
      "valid_till":"2015-01-01",
      "price":"12",
      "currency":"EUR",
      "setupprice":"0",
      "setupcurrency":"EUR",
      "last_from":null,
      "last_till":null
   },
   {
      "subscription_id":"3",
      "subscription_name":"Test twee",
      "valid_from":"2014-01-02",
      "valid_till":"2015-01-01",
      "price":"15",
      "currency":"EUR",
      "setupprice":"0",
      "setupcurrency":"EUR",
      "last_from":null,
      "last_till":null
   }
]

GET customer/hasactivesubscription

Gebruikt voor

Controle of een klant één of meer actieve abonnementen heeft.
Alleen van toepassing als de abonnementen module actief is.

Authentication

Ingelogd als beheerder.
Volgende rechten zijn nodig

  • entity_customer_read
  • entity_subscription_read

Parameters

Parameter Omschrijving Verplicht Voorbeeld
customer_id Customer ID Ja 2
subscription_id Subscription ID Nee 12

Output

Velden zijn afhankelijk van de formulier configuratie

Response codes

  • 200 OK
  • 401 Unauthorized for current customer

Voorbeeld

Heeft klant 104 op zijn minst één abonnement?

GET api/rest/customer/hasactivesubscription?customer_id=104 

Response:

{
   "hasactivesubscription":true
}

Klantvelden worden hier weergegeven Overzicht klantvelden