Wiki

Clone wiki

OCAPI / nl_orderController

order Controller

index

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:

index

Updated