Wiki
Clone wikiOCAPI / nl_orderController
order Controller
Bij de order controller worden alleen de orders opgevraagd welke de status 'paid' of 'pending' hebben. Deze orders worden vervolgens verwerkt in dgeDetailhandel / dgeGroothandel. Na het verwerken van een order koppelt dgDetailhandel / dgeGroothandel dit door middel van een statuswijziging terug aan OpenCart.
Methods gebruikt door dgeDetailhandel / dgeGroothandel
GET 1 orderlijst
Door middel van deze GET wordt een lijst opgevraagd van orders die de status "paid" of "pending" hebben. Door middel van een aparte GET wordt vervolgens van iedere order de details opgevraagd (zie GET 2 Orderdetails).
HEADERS
GET /oc2/ocapi/order.xml?start=0&limit=100 HTTP/1.1 x-auth-token: fa8300a017dc52ecd9165fce6ec96962 x-service-token: 555c7f149178099205edcc30 Host: jd.windev.nl
RESPONSE
HEADERS
HTTP/1.1 200 Ok Date: Wed, 27 May 2015 10:15:41 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> <order> <order_id>18</order_id> <store_id>0</store_id> <payment_method>Overschrijving</payment_method> <payment_code>bank_transfer</payment_code> <customer>Jeroen Janssen</customer> <order_status_id>17</order_status_id> <total>101.0077</total> <currency_code>EUR</currency_code> <currency_value>1.00000000</currency_value> <date_added>2016-09-20 08:52:03</date_added> <date_modified>2016-09-20 08:52:06</date_modified> <status>paid</status> </order> <order> <order_id>19</order_id> <store_id>0</store_id> <payment_method>Overschrijving</payment_method> <payment_code>bank_transfer</payment_code> <customer>Pietje Puk</customer> <order_status_id>17</order_status_id> <total>3.1105</total> <currency_code>EUR</currency_code> <currency_value>1.00000000</currency_value> <date_added>2016-09-20 08:52:52</date_added> <date_modified>2016-09-20 08:52:54</date_modified> <status>pending</status> </order> </response>
Tags
De volgende tags worden door dgeDetailhandel / dgeGroothandel gebruikt.
niveau | tag | formaat | aanwezig | omschrijving |
---|---|---|---|---|
top | <response> | [1..1] | ||
1 | <order> | [0..n] | ||
2 | .<order_id> | Numeriek(9) | [1..1] | OpenCart order ID. Dit ID wordt gebruikt om met een GET de orderdetails op te vragen. |
2 | .<store_id< | Integer | 0 | Dit is moet altijd 0 zijn |
2 | .<payment_method> | Tekst(50) | [1..1] | De omschrijving van de betaalmethode. |
2 | .<payment_code> | Tekst(30) | [1..1] | De code van de betaalmethode. |
2 | .<status> | Tekst(6) | [1..1] | De status. Mogelijke waarden zijn "pending" of "paid". In dgeDetailhandel / dgeGroothandel kan per betaalmethode worden ingesteld of de status "pending" of "paid" moet zijn alvorens dat de order in dgeDetailhandel / dgeGroothandel wordt ingelezen. In theorie zal alleen de betaalmethode "op rekening" de status "pending" hebben, in alle andere gevallen zal de status "paid" moeten zijn. |
TESTPLAN
De volgende handelingen kunnen in dgeDetailhandel / dgeGroothandel worden uitgevoerd om de communicatie te testen:
GET 2 orderdetails
HEADERS
GET /oc2/ocapi/order/18.xml HTTP/1.1 x-auth-token: fa8300a017dc52ecd9165fce6ec96962 x-service-token: 555c7f149178099205edcc30 Host: jd.windev.nl Connection: close
RESPONSE
HEADERS
HTTP/1.1 200 Ok Date: Wed, 27 May 2015 10:15:41 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> <order> <master_account>0</master_account> <order_id>18</order_id> <invoice_no>0</invoice_no> <invoice_prefix>INV-2013-00</invoice_prefix> <store_id>0</store_id> <store_name>Demo webshop</store_name> <store_url>http://odemo.dgewebshopsystem.nl/</store_url> <customer_id>0</customer_id> <customer></customer> <customer_group_id>4</customer_group_id> <firstname>Jeroen</firstname> <lastname>Janssen</lastname> <email>jj@dgebv.nl</email> <telephone>0111418000</telephone> <fax></fax> <custom_field/> <payment_firstname>Jeroen</payment_firstname> <payment_lastname>Janssen</payment_lastname> <payment_company>data group europe bv</payment_company> <payment_address_1>de weel 12</payment_address_1> <payment_address_2></payment_address_2> <payment_postcode>4306 NW</payment_postcode> <payment_city>Nieuwerkerk</payment_city> <payment_zone_id>2339</payment_zone_id> <payment_zone>Zeeland</payment_zone> <payment_zone_code>ZE</payment_zone_code> <payment_country_id>150</payment_country_id> <payment_country>Netherlands</payment_country> <payment_iso_code_2>NL</payment_iso_code_2> <payment_iso_code_3>NLD</payment_iso_code_3> <payment_address_format></payment_address_format> <payment_custom_field/> <payment_method>Overschrijving</payment_method> <payment_code>bank_transfer</payment_code> <shipping_firstname>Jeroen</shipping_firstname> <shipping_lastname>Janssen</shipping_lastname> <shipping_company>data group europe bv</shipping_company> <shipping_address_1>de weel 12</shipping_address_1> <shipping_address_2></shipping_address_2> <shipping_postcode>4306 NW</shipping_postcode> <shipping_city>Nieuwerkerk</shipping_city> <shipping_zone_id>2339</shipping_zone_id> <shipping_zone>Zeeland</shipping_zone> <shipping_zone_code>ZE</shipping_zone_code> <shipping_country_id>150</shipping_country_id> <shipping_country>Netherlands</shipping_country> <shipping_iso_code_2>NL</shipping_iso_code_2> <shipping_iso_code_3>NLD</shipping_iso_code_3> <shipping_address_format></shipping_address_format> <shipping_custom_field/> <shipping_method>Afhalen in de winkel</shipping_method> <shipping_code>pickup.pickup</shipping_code> <comment>Kan ik deze order a.s. maandag komen ophalen?</comment> <total>101.0077</total> <reward>0</reward> <order_status_id>17</order_status_id> <affiliate_id>0</affiliate_id> <affiliate_firstname></affiliate_firstname> <affiliate_lastname></affiliate_lastname> <commission>0.0000</commission> <language_id>2</language_id> <language_code>nl</language_code> <language_directory>dutch</language_directory> <currency_id>3</currency_id> <currency_code>EUR</currency_code> <currency_value>1.00000000</currency_value> <ip>82.176.103.161</ip> <forwarded_ip></forwarded_ip> <user_agent>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36</user_agent> <accept_language>nl-NL,nl;q=0.8,en-US;q=0.6,en;q=0.4</accept_language> <date_added>2016-09-20 08:52:03</date_added> <date_modified>2016-09-20 08:52:06</date_modified> <order_products> <order_product_id>21</order_product_id> <order_id>18</order_id> <product_id>14500</product_id> <name>Deurlifter verstelbaar 0061 dl</name> <model>2553925</model> <quantity>1</quantity> <price>73.7174</price> <total>73.7174</total> <tax>15.4807</tax> <reward>0</reward> <order_options/> </order_products> <order_products> <order_product_id>22</order_product_id> <order_id>18</order_id> <product_id>15597</product_id> <name>Ringsleutel plat ud-profiel 10x11 mm 4 10x11</name> <model>101784</model> <quantity>1</quantity> <price>9.7600</price> <total>9.7600</total> <tax>2.0496</tax> <reward>0</reward> <order_options/> </order_products> <order_vouchers/> <order_totals> <order_total_id>69</order_total_id> <order_id>18</order_id> <code>sub_total</code> <title>Subtotaal</title> <value>83.4774</value> <sort_order>1</sort_order> </order_totals> <order_totals> <order_total_id>70</order_total_id> <order_id>18</order_id> <code>shipping</code> <title>Afhalen in de winkel</title> <value>0.0000</value> <sort_order>3</sort_order> </order_totals> <order_totals> <order_total_id>71</order_total_id> <order_id>18</order_id> <code>tax</code> <title>BTW hoog</title> <value>17.5303</value> <sort_order>5</sort_order> </order_totals> <order_totals> <order_total_id>72</order_total_id> <order_id>18</order_id> <code>total</code> <title>Totaal</title> <value>101.0077</value> <sort_order>9</sort_order> </order_totals> <order_histories> <date_added>2016-09-20 08:52:06</date_added> <status>Betaald</status> <comment>Instructies tbv. betaling via Overschrijving.U krijgt na het plaatsen van de bestelling geen factuur. Deze wordt achteraf als verzamelfactuur thuis gestuurd. Deze betaalmethode kan alleen gebruikt worden als u als rekening klant in ons systeem staat. Neem voor vragen contact met ons op.Uw bestelling wordt pas verzonden nadat uw betaling door ons ontvangen is.</comment> <notify>1</notify> </order_histories> <status>paid</status> </order> </response>
Tags
De volgende tags worden door dgeDetailhandel / dgeGroothandel gebruikt.
niveau | tag | formaat | aanwezig | omschrijving |
---|---|---|---|---|
top | <response> | [1..1] | ||
1 | <order> | [1..1] | ||
2 | .<master_id> | Numeriek(9) | [1..1] 0 - geen subaccount, het customer_id van een master account | |
2 | .<store_id> | Numeriek(9) | [1..1] | Moet 0 zijn, de OCAPI ondersteunt geen subshops. |
2 | .<customer_id> | Numeriek(9) | [1..1] | OpenCart Customer ID. Als de klant nog niet bestaat in dgeDetailhandel / dgeGroothandel dan wordt deze aangemaakt. |
2 | .<firstname> | Tekst(32) | [1..1] | Relatie Voornaam |
2 | .<lastname> | Tekst(32) | [1..1] | Relatie Achternaam |
2 | .<email> | Tekst(75) | [1..1] | Relatie Emailadres |
2 | .<telephone> | Tekst(25) | [1..1] | Relatie Telefoonnummer |
2 | .<fax> | Tekst(25) | [0..1] | Relatie Faxnummer |
2 | .<payment_firstname> | Tekst(32) | [1..1] | Contactpersoon Voornaam |
2 | .<payment_lastname> | Tekst(32) | [1..1] | Contactpersoon Achternaam |
2 | .<payment_company> | Tekst(40) | [0..1] | Relatie Bedrijfsnaam |
2 | .<payment_address_1> | Tekst(50) | [1..1] | Relatie Adres |
2 | .<payment_address_2> | Tekst(50) | [0..1] | Relatie Extra adresinformatie |
2 | .<payment_postcode> | Tekst(10) | [1..1] | Relatie Postcode |
2 | .<payment_city> | Tekst(50) | [1..1] | Relatie Woonplaats |
2 | .<payment_iso_code_2> | Tekst(2) | [1..1] | Relatie ISO landcode |
2 | .<shipping_firstname> | Tekst(32) | [1..1] | Afleveradres Voornaam |
2 | .<shipping_lastname> | Tekst(32) | [1..1] | Afleveradres Achternaam |
2 | .<shipping_company> | Tekst(40) | [0..1] | Afleveradres Bedrijfsnaam |
2 | .<shipping_address_1> | Tekst(50) | [1..1] | Afleveradres Adres |
2 | .<shipping_address_2> | Tekst(50) | [0..1] | Afleveradres Extra adresinformatie |
2 | .<shipping_postcode> | Tekst(10) | [1..1] | Afleveradres Postcode |
2 | .<shipping_city> | Tekst(50) | [1..1] | Afleveradres Woonplaats |
2 | .<shipping_iso_code_2> | Tekst(2) | [1..1] | Afleveradres ISO landcode |
2 | .<shipping_method> | Tekst(100) | [1..1] | Verzendwijze Omschrijving |
2 | .<shipping_code> | Tekst(100) | [1..1] | Verzendwijze Code. In dgeDetailhandel / dgeGroothandel kan per verzendwijze worden ingesteld of hiervoor een extra (artikel)regel aan de order moet worden toegevoegd en/of bij levering van de order een emailbevestiging moet worden verstuurd naar de klant. Indien een order wordt aangeboden met een nieuwe verzendwijze dan zal dgeDetailhandel / dgeGroothandel om de gewenste instellingen vragen. |
2 | .<comment> | Tekst | [0..1] | Opmerking |
2 | .<date_added> | Datum/tijd | [1..1] | Orderdatum |
2 | .<order_products> | [1..n] | ||
3 | ..<order_product_id> | Numeriek(9) | [1..1] | OpenCart Product ID. Als het Product ID niet bekend is in dgeDetailhandel / dgeGroothandel dan zal het product worden geregistreerd onder Artikelgroep 999 (Diversen). |
3 | ..<name> | Tekst(70) | [1..1] | Productomschrijving |
3 | ..<quantity> | Numeriek(9) | [1..1] | Aantal |
3 | ..<price> | Numeriek(9.4) | [1..1] | Netto stuksprijs (inclusief korting, exclusief BTW) |
3 | ..<total> | Numeriek(9.4) | [1..1] | Totaal nettoprijs (inclusief korting, exclusief BTW). dgeDetailhandel / dgeGroothandel volgt het BTW percentage zoals dat bij het artikel staat ingesteld in dgeDetailhandel / dgeGroothandel. |
2 | .<order_voucher> | [0..n] | Vouchers (kadobonnen). In dgeDetailhandel / dgeGroothandel wordt een "voucher" gekoppeld aan een artikel en wordt ook als dusdanig verrekend op de verkoopbon. | |
3 | ..<description> | Tekst(70) | [1..1] | Omschrijving van de voucher. |
3 | ..<amount> | Numeriek(9.4) | [1..1] | Het bedrag van de voucher. |
2 | .<order_totals> | [1..n] | ||
3 | ..
|
Tekst(100) | [1..1] | Code. Items met als code "sub_total", "tax" en "total" worden door dgeDetailhandel / dgeGroothandel genegeerd. De overige codes (zoals "shipping") dienen in dgeDetailhandel / dgeGroothandel gekoppeld te worden aan een artikel. Indien een order wordt aangeboden met een nieuwe kostenplaats dan zal dgeDetailhandel / dgeGroothandel om de gewenste instellingen vragen. |
3 | ..<title> | Tekst(100) | [1..1] | Omschrijving van de extra kosten. |
3 | ..<value> | Numeriek(9.4) | [1..1] | Bedrag van de extra kosten (exclusief BTW). |
2 | .<voucher_number> | Tekst(50) | [1..1] | Bonnummer van de klant. |
2 | .<work_number> | Tekst(50) | [1..1] | Werknummer van de klant. |
2 | .<deleviry_date> | Datum(YYYYMMDD) | [1..1] | Leverdatum |
#### TESTPLAN | ||||
De volgende handelingen kunnen in dgeDetailhandel / dgeGroothandel worden uitgevoerd om de communicatie te testen: |
POST status
dgeDetailhandel / dgeGroothandel wijzigt op de volgende momenten de status van een order: * Bij ontvangst van de order. De status wordt dan "processing". * Bij het bevestigen / uitleveren van de verkoopbon behorende bij de order. De status wordt dan "complete".
HEADERS
POST /oc2/ocapi/order/status/18.xml HTTP/1.1 x-auth-token: fa8300a017dc52ecd9165fce6ec96962 x-service-token: 555c7f149178099205edcc30 Content-Type: application/xml Content-Length: 92 Host: jd.windev.nl
CONTENT
<?xml version="1.0" encoding="UTF-8"?> <order> <order_status>processing</order_status> <notify>0</notify> <comment>Ingelezen in dge</comment> </order>
Tags
De volgende tags worden door dgeDetailhandel / dgeGroothandel gebruikt.
niveau | tag | formaat | aanwezig | omschrijving |
---|---|---|---|---|
1 | <order> | [1..1] | ||
2 | .<order_status> | Tekst(32) | [1..1] | Order status. Mogelijke waarden: "processing" en "complete". |
2 | .<notify> | Boolean | [1..1] | Vaste waarde 0. dgeDetailhandel / dgeGroothandel verstuurt status emails naar de klant. |
2 | .<comment> | Tekst | [1..1] | Extra opmerking |
RESPONSE
HEADERS
HTTP/1.1 200 Ok Date: Wed, 27 May 2015 10:15:41 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> <order> <status>status update</status> <order_id>1</order_id> </order> </response>
Voor dgeDetailhandel / dgeGroothandel is de HTTP statuscode 200 de bevestiging dat de statuswijziging door OpenCart goed is ontvangen.
TESTPLAN
De volgende handelingen kunnen in dgeDetailhandel / dgeGroothandel worden uitgevoerd om de communicatie te testen:
Updated