Wiki
Clone wikiOCAPI / nl_categoryController
XML categoryController
dgeDetailhandel / dgeGroothandel gebruikt de GET method om categorieën op te halen. De andere methods worden door dgeDetailhandel / dgeGroothandel niet gebruikt. De categorieën worden in OpenCart aangemaakt en onderhouden. In dgeDetailhandel / dgeGroothandel worden de categorieën alleen weergegeven zodat producten vanuit dgeDetailhandel / dgeGroothandel direct in de juiste categorie aan OpenCart kunnen worden toegevoegd. Zie voor meer informatie nl_productController.
Methods gebruikt door dgeDetailhandel / dgeGroothandel
GET 1 overview
Met de parameters 'start' en 'limit' kan het aantal categorieën worden opgehaald net zolang totdat een 404 status terug komt (404, not found). De communicatie vanuit dgeDetailhandel / dgeGroothandel start standaard met een 'limit' van 5. Mocht de webserver een HTTP statuscode 500 teruggeven (bijvoorbeeld door onvoldoende geheugen) dan wordt de 'limit' automatisch verlaagd naar 1.
De volgorde van de categorieën dient dusdanig te zijn dat ingeval een categorie een parent_id bevat <parent_id>
dit parent_id als categorie al eerder is aangeboden. De categorieën dienen dus in de juiste volgorde te worden aangeboden.
HEADERS
GET /oc2/ocapi/category.xml?start=0&limit=20 HTTP/1.1 x-auth-token: e3a6a1fc0bf3e1f0c5dcb801caca5fb3 x-service-token: 555c7f149178099205edcc30 Host: jd.windev.nl Connection: close
CONTENT
De tag 'reference' is belangrijk. Hieraan is te zien of een Webshop product is gekoppeld aan het pakket. Of dat een product gekoppeld dient te worden.
Als reference->dge_reference leeg is, maar reference->catalogus_id is wel gevuld, dan kan het product in het pakket gekoppeld worden.
<?xml version="1.0" encoding="UTF-8"?> <response> <category> <category_id>10</category_id> <name>Test Category</name> <parent_id>0</parent_id> <sort_order>0</sort_order> <reference> <catalogus_id>3995974</catalogus_id> <product_id>24367</product_id> <dge_reference> <product_id>24367</product_id> <catalogus_id>3995974</catalogus_id> <unit_id>1</unit_id> <unit_description>stuks</unit_description> </dge_reference> </reference> <reference> <catalogus_id>3996360</catalogus_id> <product_id>24368</product_id> <dge_reference> <product_id>24368</product_id> <catalogus_id>3996360</catalogus_id> <unit_id>1</unit_id> <unit_description>stuks</unit_description> </dge_reference> </reference> <products> <product_id/> </products> </category> <category> <category_id>12</category_id> <name>Test Category 3</name> <parent_id>0</parent_id> <sort_order>0</sort_order> <products> <product_id/> </products> </category> <category> <category_id>11</category_id> <name>Test Category 2</name> <parent_id>10</parent_id> <sort_order>0</sort_order> <products> <product_id/> </products> </category> </response>
Tags
De volgende tags worden door dgeDetailhandel / dgeGroothandel gebruikt.
niveau | tag | formaat | aanwezig | omschrijving |
---|---|---|---|---|
top | <response> | [1..1] | ||
1 | <category> | [1..n] | ||
2 | .<category_id> | Numeriek(9) | [1..1] | OpenCart Category ID |
2 | .<name> | Tekst(255) | [1..1] | Omschrijving van de categorie |
2 | .<parent_id> | Numeriek(9) | [1..1] | Het OpenCart Category ID van de bovenliggende groep |
2 | .<sort_order> | Numeriek(9) | [1..1] | Sorteervolgorde |
2 | .<reference> | [0..n] | ||
3 | ..<product_id> | Numeriek(9) | [1..1] | OpenCart product ID |
3 | ..<catalogus_id> | Numeriek(9) | [1..1] | dge artikelnummer |
3 | ..dge_reference> | [0..1] | Deze sectie dient aanwezig te zijn als het product al eerder is gekoppeld met dgeDetailhandel / dgeGroothandel. Als deze sectie niet aanwezig is dan wordt het product opnieuw gekoppeld. De prijs en voorraad van het product zullen dan worden aangeboden aan OpenCart. Zie nl_productController Afhankelijk van een instelling in dgeDetailhandel/ dgeGroothandel zal de prijs en voorraad òf van alleen de voorkeurs verkoopeenheid òf van alle verkoopeenheden worden aangeboden aan OpenCart. | |
4 | ...<product_id> | Numeriek(9) | [1..1] | OpenCart Product ID |
4 | ...<catalogus_id> | Numeriek(9) | [1..1] | dge artikelnummer |
4 | ...<unit_id> | Numeriek(3) | [1..1] | dge eenheidscode |
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.
POST 1 insert
HEADERS
POST /oc2/ocapi/category.xml HTTP/1.1 x-auth-token: e3a6a1fc0bf3e1f0c5dcb801caca5fb3 x-service-token: 555c7f149178099205edcc30 Content-Type: application/xml Content-Length: 146636 Host: jd.windev.nl
CONTENT
Dit zijn tevens alle beschikbare velden voor een Category.
<?xml version="1.0" encoding="UTF-8"?> <category> <parent_id>0</parent_id> <image_b64>/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEB .... </image_b64> <top>0</top> <status>0</status> <sort_order>0</sort_order> <column>3</column> <keyword>seo_url_voor_test_category</keyword> <category_description> <nl> <name>Test Category</name> <description>for testing puproses</description> <meta_description>meta description for test puposes</meta_description> <meta_keyword>meta, keywords, tests</meta_keyword> </nl> </category_description> </category>
RESPONSE POST 1 insert
HEADERS
HTTP/1.1 200 Ok Date: Fri, 22 May 2015 06:55:06 GMT Server: Apache/2.2.15 (CentOS) X-Powered-By: OC Dge Driver (v2) Transfer-Encoding: chunked Connection: close Content-Type: application/xml; charset=utf-8
CONTENT
<?xml version="1.0" encoding="UTF-8"?> <response> <category> <status>ok</status> <category_id>10</category_id> </category> </response>
POST 2 update
De category id wordt toegevoegd aan de url als een bestaande category ge-update moet worden.
HEADERS
POST /oc2/ocapi/category/11.xml HTTP/1.1 x-auth-token: e3a6a1fc0bf3e1f0c5dcb801caca5fb3 x-service-token: 555c7f149178099205edcc30 Content-Type: application/xml Content-Length: 88 Host: jd.windev.nl Connection: close
CONTENT
Bij een update kunnen alle afzonderlijke velden gezet worden.
<?xml version="1.0" encoding="UTF-8"?> <category> <parent_id>10</parent_id> </category>
RESPONSE POST 2 update
HEADERS
HTTP/1.1 200 Ok Date: Fri, 22 May 2015 06:55:06 GMT Server: Apache/2.2.15 (CentOS) X-Powered-By: OC Dge Driver (v2) Transfer-Encoding: chunked Connection: close Content-Type: application/xml; charset=utf-8
CONTENT
<?xml version="1.0" encoding="UTF-8"?> <response> <category> <status>ok</status> <category_id>11</category_id> </category> </response>
POST 3 minimal insert
De category id wordt toegevoegd aan de url als een bestaande category ge-update moet worden.
HEADERS
POST /oc2/ocapi/category.xml HTTP/1.1 x-auth-token: e3a6a1fc0bf3e1f0c5dcb801caca5fb3 x-service-token: 555c7f149178099205edcc30 Content-Type: application/xml Content-Length: 194 Host: jd.windev.nl Connection: close
CONTENT
Bij een update kunnen alle afzonderlijke velden gezet worden.
<?xml version="1.0" encoding="UTF-8"?> <category> <status>0</status> <category_description> <pipo>4</pipo> <nl> <name>Test Category 3</name> </nl> </category_description> </category>
RESPONSE POST 3 minimal insert
HEADERS
HTTP/1.1 200 Ok Date: Fri, 22 May 2015 06:55:06 GMT Server: Apache/2.2.15 (CentOS) X-Powered-By: OC Dge Driver (v2) Transfer-Encoding: chunked Connection: close Content-Type: application/xml; charset=utf-8
CONTENT
<?xml version="1.0" encoding="UTF-8"?> <response> <category> <status>ok</status> <category_id>12</category_id> </category> </response>
GET 2 details
HEADERS
GET /oc2/ocapi/category/10.xml HTTP/1.1 x-auth-token: e3a6a1fc0bf3e1f0c5dcb801caca5fb3 x-service-token: 555c7f149178099205edcc30 Host: jd.windev.nl Connection: close
CONTENT
<?xml version="1.0" encoding="UTF-8"?> <response> <category> <category_id>10</category_id> <image>catalog/c/10/10_.jpg</image> <parent_id>0</parent_id> <top>0</top> <column>3</column> <sort_order>0</sort_order> <status>0</status> <date_added>2015-05-22 08:55:06</date_added> <date_modified>2015-05-22 08:55:06</date_modified> <path></path> <keyword>seo_url_voor_test_category</keyword> <category_description> <nl> <name>Test Category</name> <meta_title>Test Category</meta_title> <meta_description>meta description for test puposes</meta_description> <meta_keyword>meta, keywords, tests</meta_keyword> <description>for testing puproses</description> </nl> </category_description> <category_filter/> <category_store/> <category_layout/> <products/> </category> </response>
DELETE
Een delete kan op 2 manieren plaatsvinden:
- Met de HTTP method delete: Tot voor kort ondersteunde de dge omgeving (windev) deze methode niet en daarom wordt de deze manier (nog) niet gebruikt
- Met een http GET method en een aktie 'delete' (zie voorbeeld);
HEADERS
GET /oc2/ocapi/category/delete/12.xml HTTP/1.1 x-auth-token: e3a6a1fc0bf3e1f0c5dcb801caca5fb3 x-service-token: 555c7f149178099205edcc30 Host: jd.windev.nl Connection: close
RESPONSE delete
HEADERS
HTTP/1.1 200 Ok Date: Fri, 22 May 2015 06:55:06 GMT Server: Apache/2.2.15 (CentOS) X-Powered-By: OC Dge Driver (v2) Transfer-Encoding: chunked Connection: close Content-Type: application/xml; charset=utf-8
CONTENT
<?xml version="1.0" encoding="UTF-8"?> <response> <category> <status>deleted</status> <category_id>12</category_id> </category> </response>
Updated