Wiki

Clone wiki

OCAPI / nl_customergroupController

Customergroup Controller

index

Alle klantaccounts worden in OpenCart ingedeeld in klantgroepen. Een klantgroep bepaalt wat voor prijs / korting er voor een product wordt berekend. OpenCart bevat per product een matrix met daarin voor iedere klantgroep een nettoprijs. Zie voor meer informatie nl_productController.

dgeDetailhandel / dgeGroothandel bevat een grote variëteit aan prijs- en kortingssystemen. Deze verschillende systemen worden (om compatibel te blijven met OpenCart en andere webshops) door dgeDetailhandel / dgeGroothandel vertaald naar een vereenvoudigde klantgroep / product matrix. dgeDetailhandel / dgeGroothandel maakt hiervoor zo optimaal mogelijk klantgroepen aan zodat klanten met dezelfde kortingsinstellingen in dezelfde klantengroep worden ingedeeld. Dit voorkomt het onnodig (dubbel) moeten uploaden van nettoprijzen.

De standaard klantengroep is “DEFAULT DGE”. Deze klantengroep heeft geen kortingen.

De klantgroepen worden als volgt samengesteld:

  • Als de klant één of meerdere actieve netto prijsafspraken heeft dan wordt de naam van de klantgroep: R-NPA-<dge relatienummer>
  • Als de klant eigen (afwijkende) kortingen heeft in de kortingsmatrix dan wordt de naam van de klantgroep: R-MAT-<dge relatienummer>
  • In alle andere gevallen, wordt de naam van de klantgroep: KLGR_<id_matrixkortingsgroep>KORTPERC_<perc_klantenkorting>INKOPSL_<perc_inkoopopslag>

Methods gebruikt door dgeDetailhandel / dgeGroothandel

POST 1 insert

HEADERS
POST /ocapi/customergroup/ HTTP/1.1
x-auth-token: 1616279bab60275aca56fca86f80e56c
x-service-token: 555c7f149178099205edcc30
Content-Type: application/xml
Content-Length: 289
Host: jd.windev.nl
Connection: close
Content
<?xml version="1.0" encoding="UTF-8"?>
<customergroup>
  <customer_group_description>
    <nl>
      <name>KLGR_0+KORTPERC_16+INKOPSL_0</name>
      <description>KLGR_0+KORTPERC_16+INKOPSL_0</description>
    </nl>
  </customer_group_description>
  <approval>0</approval>
</customergroup>
Tags

De volgende tags worden door dgeDetailhandel / dgeGroothandel gebruikt.

niveau tag formaat aanwezig omschrijving
1 <customergroup> [1..1]
2 .<customer_group_description> [1..1]
3 ..<nl> [1..1]
4 ...<name> Tekst(100) [1..1] De door dgeDetailhandel / dgeGroothandel toegekende naam van de klantengroep.
4 ...<description> Tekst(100) [1..1] De door dgeDetailhandel / dgeGroothandel toegekende naam van de klantengroep.
2 .<approval> Boolean [1..1] Vaste waarde "0"

RESPONSE

HEADERS
HTTP/1.1 200 Ok
Date: Wed, 20 May 2015 13:58:01 GMT
Content-Type: application/xml
Server: Apache/2.2.15 (CentOS)
X-Powered-By: OC Dge Driver (v2)
Transfer-Encoding: chunked
Connection: close
Content
<?xml version="1.0" encoding="UTF-8"?>
<response>
  <customergroup>
    <status>ok</status>
    <customer_group_id>75</customer_group_id>
  </customergroup>
</response>
Tags

De volgende tags worden door dgeDetailhandel / dgeGroothandel gebruikt.

niveau tag formaat aanwezig omschrijving
top <response> [1..1]
1 <customergroup> [1..1]
2 .<customer_group_id> Numeriek(9) [1..1] OpenCart Customergroup ID. Dit ID wordt in dgeDetailhandel / dgeGroothandel bewaard en gebruikt voor een toekomstig update of delete.

TESTPLAN

De volgende handelingen kunnen in dgeDetailhandel / dgeGroothandel worden uitgevoerd om de communicatie te testen:

POST 2 upsert

HEADERS
OST /oc2/ocapi/customergroup/75.xml HTTP/1.1
x-auth-token: e3a6a1fc0bf3e1f0c5dcb801caca5fb3
x-service-token: 555c7f149178099205edcc30
Content-Type: application/xml
Content-Length: 181
Host: jd.windev.nl
CONTENT
<?xml version="1.0" encoding="UTF-8"?>
<customergroup>
  <customer_group_description>
    <nl>
      <name>KLGR_0+KORTPERC_16+INKOPSL_0</name>
      <description>KLGR_0+KORTPERC_16+INKOPSL_0</description>
    </nl>
  </customer_group_description>
  <approval>0</approval>
</customergroup>
Tags

De volgende tags worden door dgeDetailhandel / dgeGroothandel gebruikt.

niveau tag formaat aanwezig omschrijving
1 <customergroup> [1..1]
2 .<customer_group_description> [1..1]
3 ..<nl> [1..1]
4 ...<name> Tekst(100) [1..1] De door dgeDetailhandel / dgeGroothandel toegekende naam van de klantengroep.
4 ...<description> Tekst(100) [1..1] De door dgeDetailhandel / dgeGroothandel toegekende naam van de klantengroep.
2 .<approval> Boolean [1..1] Vaste waarde "0"

RESPONSE

HEADERS
HTTP/1.1 200 Ok
Date: Wed, 20 May 2015 13:58:01 GMT
Content-Type: application/xml
Server: Apache/2.2.15 (CentOS)
X-Powered-By: OC Dge Driver (v2)
Transfer-Encoding: chunked
Connection: close
Content
<?xml version="1.0" encoding="UTF-8"?>
<response>
  <customergroup>
    <status>ok</status>
    <customer_group_id>75</customer_group_id>
  </customergroup>
</response>
Tags

De volgende tags worden door dgeDetailhandel / dgeGroothandel gebruikt.

niveau tag formaat aanwezig omschrijving
top <response> [1..1]
1 <customergroup> [1..1]
2 .<customer_group_id> Numeriek(9) [1..1] OpenCart Customergroup ID. Dit ID wordt in dgeDetailhandel / dgeGroothandel bewaard en gebruikt voor een toekomstig update of delete.

DELETE

HEADERS
GET /oc2/ocapi/customer/delete/357.xml HTTP/1.1
x-auth-token: e3a6a1fc0bf3e1f0c5dcb801caca5fb3
x-service-token: 555c7f149178099205edcc30
Host: jd.windev.nl
Connection: close

RESPONSE

HEADERS

HTTP/1.1 200 Ok
Date: Fri, 22 May 2015 06:55:05 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: OC Dge Driver (v2)
Transfer-Encoding: chunked
Content-Type: application/xml; charset=utf-8
CONTENT

<?xml version="1.0" encoding="UTF-8"?>
<response>
  <customergroup>
    <status>deleted</status>
    <customer_group_id>357</customer_group_id>
  </customergroup>
</response>
Voor dgeDetailhandel / dgeGroothandel is de HTTP statuscode 200 de bevestiging dat het klantaccount in OpenCart is verwijderd

TESTPLAN

De volgende handelingen kunnen in dgeDetailhandel / dgeGroothandel worden uitgevoerd om de communicatie te testen:

Overige methods

De onderstaande methods worden niet door dgeDetailhandel / dgeGroothandel gebruikt en hoeven dus niet te worden geïmplementeerd.

REQUEST GET details 404

HEADERS
GET /oc2/ocapi/customergroup/357.xml HTTP/1.1
x-auth-token: e3a6a1fc0bf3e1f0c5dcb801caca5fb3
x-service-token: 555c7f149178099205edcc30
Host: jd.windev.nl

RESPONSE

HEADERS
HTTP/1.1 404 Not found
Date: Fri, 22 May 2015 06:55:05 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: OC Dge Driver (v2)
Transfer-Encoding: chunked
Content-Type: application/xml; charset=utf-8
CONTENT
<?xml version="1.0" encoding="UTF-8"?>
<response>
  <error>
    <ERRNO>E404</ERRNO>
    <message>Not found what i'm looking for</message>
    <description></description>
  </error>
</response>

REQUEST GET details 404

HEADERS
GET /oc2/ocapi/customergroup/357.xml HTTP/1.1
x-auth-token: e3a6a1fc0bf3e1f0c5dcb801caca5fb3
x-service-token: 555c7f149178099205edcc30
Host: jd.windev.nl

RESPONSE

HEADERS
HTTP/1.1 404 Not found
Date: Fri, 22 May 2015 06:55:05 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: OC Dge Driver (v2)
Transfer-Encoding: chunked
Content-Type: application/xml; charset=utf-8
CONTENT
<?xml version="1.0" encoding="UTF-8"?>
<response>
  <error>
    <ERRNO>E404</ERRNO>
    <message>Not found what i'm looking for</message>
    <description></description>
  </error>
</response>

GET LIST

HEADERS
GET /oc2/ocapi/ccustomergroup.xml?start=0&limit=5 HTTP/1.1
x-auth-token: e3a6a1fc0bf3e1f0c5dcb801caca5fb3
x-service-token: 555c7f149178099205edcc30
Host: jd.windev.nl

RESPONSE

HEADERS
HTTP/1.1 200 OK
Date: Fri, 22 May 2015 06:55:05 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: OC Dge Driver (v2)
Transfer-Encoding: chunked
Content-Type: application/xml; charset=utf-8
CONTENT
<?xml version="1.0" encoding="UTF-8"?>
<response>
  <customergroup>
    <customer_group_id>1</customer_group_id>
    <approval>0</approval>
    <sort_order>1</sort_order>
    <language_id>2</language_id>
    <name>Default</name>
    <description>test</description>
  </customergroup>
  <customergroup>
    <customer_group_id>4</customer_group_id>
    <approval>0</approval>
    <sort_order>0</sort_order>
    <language_id>2</language_id>
    <name>DEFAULT DGE</name>
    <description>DEFAULT DGE</description>
  </customergroup>
  <customergroup>
    <customer_group_id>3</customer_group_id>
    <approval>0</approval>
    <sort_order>0</sort_order>
    <language_id>2</language_id>
    <name>KLGR_0+KORTPERC_10+INKOPSL_0</name>
    <description>KLGR_0+KORTPERC_10+INKOPSL_0</description>
  </customergroup>
  <customergroup>
    <customer_group_id>2</customer_group_id>
    <approval>0</approval>
    <sort_order>0</sort_order>
    <language_id>2</language_id>
    <name>KLGR_0+KORTPERC_20+INKOPSL_0</name>
    <description>KLGR_0+KORTPERC_20+INKOPSL_0</description>
  </customergroup>
  <customergroup>
    <customer_group_id>5</customer_group_id>
    <approval>0</approval>
    <sort_order>0</sort_order>
    <language_id>2</language_id>
    <name>R-NPA-100004</name>
    <description>R-NPA-100004</description>
  </customergroup>
</response>

index

Updated