You are on page 1of 73

NOD WebShop API Manual

Application Programming Interface


version 23.08.2016

Change log
Authentication
Api Reference
Manufacturers
Get All
Get Info
Product Categories
Get All
Get Info
Products
Get All
Get Info
Bulk Get Info
Get Resealed
Get Stock
Full product feed
Fault codes
Get all:
Addresses
Get All
Get Info
Add address
Update address
Delete address
Orders
Order statuses
Get All
Get Info
Add
Update
Update Status
Delete
Invoices
Get Invoices
Get Info
Unpaid Invoices
Get Unpaid Invoices
Get Info
Get Full-Feed
Exchange rates
Payment Options
Get All
Get Info
Payments
Get All
Get Info
Full feed
Transport Options
Get All
Get Info
Discount Rules
Get All
Products Filters
Get All
Counties
Get All
Countries
Get All
Credit limit
Get Info
Chang​e log

18.12.2015 - Added vat_percent parameter to products related methods and vat_value


parameter to orders related methods
02.09.2015 - Moved the functionality for invoices to the unpaid-invoices method. changed the
functionality for the invoices method and now it responds with all issued invoices
07.08.2015 - Added new params for products
21.05.2013 - Added product warranty field
18.04.2013 - Added discount rules methods
16.04.2013 - Added filter by status for the method that gets all orders
26.02.2013 - Added total_price_ron to the orders methods
25.01.2013 - Added product_category_name to the products methods
22.01.2013 - Added info about transport method
19.02.2016 - Added info about transport method ‘SATURDAY_DELIVERY’
07.04.2016 - Updated date format used in responses for several methods (orders, invoices,
exchange rates, payment options, etc.)
11.04.2016 - Updated responses to match latest changes brought on several methods (orders,
invoices, unpaid invoices, exchange rates, payment options, etc.)
29.06.2016 - Changed the category filter name for the get all products method
23.08.2016 - Added invoice_number parameter for orders-related methods and has_resealed
parameter for products-related methods
Authentication
In order to use the NOD API you need an API USER and an API KEY.
Each resource can handle one or more of the following HTTP methods : GET, PUT,
DELETE, POST.

There are several required HTTP headers :


● Date - for example: Wed, 01 Feb 2008 12:00:00 +0000
● X-NodWS-User - for example: zitec
● X-NodWS-Accept - xml or json
● X-NodWS-Auth - for example: 90a6d325e982f764f86a7e248edf6a660d4ee833

The value of X-NodWS-Auth header is used for request authentication and it is


constructed as following steps:

Step 1​: signature_string = concatenate the following strings:


HTTP verb, Query String, X-NodWS-User header value, Date header value;

Step 2​: X-NodWS-Auth header value = HMAC-SHA1 (API KEY, signature_string)


​ ere​.
The HMAC-SHA1 algorithm is explained in detail h

​ HP wrapper​, see ​Api.php class from wrapper (Nod\Api\Methods)


If you do not use our P
for examples of signature creation and message encryption.
Methods of interest: _getHttpObject, _getSignatureString, _hmacSha1.

Possible authentication errors:

● AuthHeaderMissing - this means that the X-NodWS-Auth header was not detected
in your request
● AuthTimeDifference - this means that the time difference between the request
time and our server time is greater than the allowed time. Please read the important
note below.
● ClientHeaderMissing - this means that the X-NodWS-Client header was not
detected in your request
● DateHeaderMissing - this means that the X-NodWS-Date header was not detected
in your request
● InvalidClient - the supplied API USER is not registered within our systems
● InvalidSignature - the supplied signature in X-NodWS-Auth header is wrong or badly
formatted. Possible reasons are:
○ signature_string was not properly computed
○ HMAC algorithm was not properly calculated
○ the API KEY is invalid (badly formatted or not yet registered within our systems)

Important note​: ‘signature_string’ relies on a timestamp so it is very important to have your


server/system time synchronized with a NTP server.
The web service allows a time difference of maximum 60 seconds between the request
date and server date.

Api Reference
The following terminology will be used throughout the documentation:
● Sample Request - indicates a sample HTTP request sent to web service
● Sample Response - indicates a sample HTTP response returned by the web service
● Exception - the possible errors that the specific method can return
● Currently, the web service supports XML and JSON.
Manufacturers
Get All

Notes:
● returns a list of manufacturers
● method signature GET /manufacturers/

Parameters:

?order_by={order_column} ​[optional] sort results by column name


?order_direction=asc|desc ​[optional] default value is asc
?only_resealed=1|0 ​[optional] get only manufacturers which have resealed products
?product_category_id[‘category’]={category_id} ​[optional] get only manufacturers which have
products in the specified category

Sample request:

GET /manufacturers/?order_by=name&order_direction=desc HTTP/1.1


Host: api.b2b.nod.ro
Date: Tue, 26 Feb 2015 15:56:49 +0000
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Thu, 26 Feb 2015 11:48:04 GMT
Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml

<manufacturers>

...

<manufacturer>
<id>fcf6c57c41eb813fba4345dccd5236f2</id>
<name>ZOTAC</name>
<added>2014-06-30 14:13:54.510000</added>
</manufacturer>
<manufacturer>
<id>f7290b678dfb4a0a854a8e0915be7deb</id>
<name>ZELMER</name>
<added>2014-06-27 17:33:35.650000</added>
</manufacturer>
<manufacturer>
<id>2c88cd3d32b25278b9e66b08b277a546</id>
<name>XEROX</name>
<added>2014-06-27 17:27:09.810000</added>
</manufacturer>
<manufacturer>
<id>80d9c770a6e97a7f6d2c77b5b60d4c8f</id>
<name>WHIRLPOOL</name>
<added>2014-06-27 17:28:03.933000</added>

...

</manufacturers>

Error codes:

A list with available HTTP status codes that this method can return:
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Get Info

Notes:
● returns manufacturer by id
● method signature GET /manufacturers/{manufacturer_id}

Sample request:

GET /manufacturers/80d9c770a6e97a7f6d2c77b5b60d4c8f HTTP/1.1


Host: api.b2b.nod.ro
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833
Sample response:

HTTP/1.1 200 OK
Date: Thu, 26 Feb 2015 12:00:16 GMT
Server: api.b2b.nod.ro
Content-Length: 175
Connection: close
Content-Type: text/xml

<manufacturer>
<id>80d9c770a6e97a7f6d2c77b5b60d4c8f</id>
<name>WHIRLPOOL</name>
<added>2014-06-27 17:28:03.933000</added>
</manufacturer>

Error codes:

A list with available HTTP status codes that this method can return:
● 404 Not Found - Manufacturer id not found
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Product Categories

Get All

Notes:
● returns a list of product categories
● method signature GET /product-categories/

Parameters:

?order_by={order_column} ​[optional] sorts results by column


?order_direction=asc|desc ​ [optional] default value for ‘order_direction’ is ‘asc’
Sample request:

GET /product-categories/ HTTP/1.1


Host: api.b2b.nod.ro
Date: Tue, 26 Feb 2015 15:56:49 +0000
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Server: api.b2b.nod.ro
Date: Fri, 27 Feb 2015 14:45:13 GMT
Content-Length: 52792
Connection: close
Content-Type: text/xml

<product_categories>
...
<product_category>
<id>209</id>
<name>SOFTWARE - VOLUME</name>
<parent_id>0</parent_id>
<children>
<children>
<id>210</id>
<name>ANTIVIRUS</name>
<parent_id>209</parent_id>
<parent_name>SOFTWARE - VOLUME</parent_name>
<children>
<children>
<id>211</id>
<name>BUSINESS</name>
<parent_id>210</parent_id>
<parent_name>ANTIVIRUS</parent_name>
</children>
<children>
<id>407</id>
<name>CONSUMER</name>
<parent_id>210</parent_id>
<parent_name>ANTIVIRUS</parent_name>
</children>
</children>
</children>
</children>
</product_category>
...
</product_categories>

Error codes:

A list with available HTTP status codes that this method can return:
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Get Info

Notes:
● returns product category info by id
● method signature GET /product_categories/{category_id}

Sample request:

GET /product-categories/23 HTTP/1.1


Host: api.b2b.nod.ro
Date: Thu, 17 Aug 2011 14:52:54 GMT
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Thu, 17 Aug 2011 14:52:54 GMT
Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml

<product_category>
<id>23</id>
<name>COMPONENTS</name>
<parent_id></parent_id>
<parent_name>DESKTOP</parent_name>
<added>1900-01-01 00:00:00.000</added>
<children>
<children>24</children>
<children>41</children>
<children>43</children>

</children>
</product_category>

Error codes:

A list with available HTTP status codes that this method can return:
● 404 Not Found - Category id not found
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Products

Get All

Notes:
● returns a list of products
● the method it’s paginated, so 10 items are returned per page
● method signature GET /products/

Parameters:

?search={search_term} ​[optional] search by product name and code


?category={product category id} ​[optional] filter by category id
?manufacturer={manufacturer id} ​[optional] filter by manufacturer id
?only_available=1|0 ​[optional] when set to ‘1’, it will return only products with stock value
greater than 0
?filters={array of product properties} ​ [optional] filters by specified properties. This filter must be
combined with category parameter.
?only_resealed=1|0 ​[optional] when set to ‘1’, it will return resealed products only
?promotion={erp_promotion_id} [​ optional] returns products belonging to the provided
promotion only
?only_promotional=0|1 ​ [optional] will return only products belonging to a promotion
?order_by={order_column} ​ [optional] sort results by column
?order_direction={asc | desc} ​order direction (default is asc)
?count={int} ​number of products on page that will be returned ( default value is ‘10’)
- Filters can be combined.

Sample request:

GET /products/?category=123&page=2 HTTP/1.1


Host: api.b2b.nod.ro
Date: Tue, 10 Feb 2015 16:58:53 +0000
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK

Date: Thu, 17 Aug 2011 14:52:54 GMT


Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml

<result>
<current_page>2</current_page>
<total_pages>526</total_pages>
<records_per_page>10</records_per_page>
<products>

...

<product>
<id>cffaadd3baf79333cf0fabfb9f1281d1</id>
<name>CANON MG7750BK A4 COLOR INKJET MFP</name>
<code>CH0596C006AA</code>
<warranty>12</warranty>
<warranty_type></warranty_type>
<product_category_id>213</product_category_id>
<product_category_name>MF INK</product_category_name>
<manufacturer_id>613dc84eceb80cb2c1887b2dc915e82d</manufacturer_id>
<manufacturer_name>CANON</manufacturer_name>
<min_quantity>1</min_quantity>
<stock_value>0</stock_value>
<supplier_stock_value>0</supplier_stock_value>
<supplier_stock_delivery_date></supplier_stock_delivery_date>
<reserved_stock_value>0</reserved_stock_value>
<price>130.56</price>
<special_price>.00</special_price>
<catalog_price>130.93</catalog_price>
<green_stamp_value>4.20</green_stamp_value>
<currency>EUR</currency>
<discount>-5.83</discount>
<vat_percent>20</vat_percent>
<has_resealed>0</has_resealed>
<description> Multifunctional inkjet color Canon Pixma
MG7750 Black</description>
<ron_price>587.54</ron_price>
<ron_catalog_price>589.17</ron_catalog_price>
<promo_price>130.56</promo_price>
<ron_promo_price>587.54</ron_promo_price>
<promotions/>
<pictures/>
<original_code></original_code>
<discount_rate>-1</discount_rate>
</product>

...

</products>
</result>

Sample request with ​“filters” parameter:

GET
/products/?category=23&filters[Buffer][]=64MB&filters[HDD-Interface][
]=SATA3
HTTP/1.1
Host: api.b2b.nod.ro
Date: Tue, 10 Feb 2015 16:58:53 +0000
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response with ​“filters” parameter:

HTTP/1.1 200 OK
Date: Thu, 17 Aug 2011 14:52:54 GMT
Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml

<result>
<current_page>1</current_page>
<total_pages>1</total_pages>
<records_per_page>10</records_per_page>
<products>

...

<product>
<id>8d372d9b040a973f6e36633f73980c86</id>
<name>SG HDD2.5 500GB SATA ST500LM021</name>
<code>ST500LM021</code>
<warranty>36</warranty>
<warranty_type></warranty_type>
<product_category_id>120</product_category_id>
<product_category_name>NB INTERNAL
HDD</product_category_name>
<manufacturer_id>9bdea78b0abb8598d767d0a5f585f5f1</manufacturer_id>
<manufacturer_name>SEAGATE</manufacturer_name>
<min_quantity>1</min_quantity>
<stock_value>0</stock_value>
<supplier_stock_value>0</supplier_stock_value>
<supplier_stock_delivery_date></supplier_stock_delivery_date>
<reserved_stock_value>0</reserved_stock_value>
<price>47.21</price>
<special_price>.00</special_price>
<catalog_price>51.93</catalog_price>
<green_stamp_value>.00</green_stamp_value>
<currency>USD</currency>
<discount>-17.94</discount>
<vat_percent>20</vat_percent>
<has_resealed>0</has_resealed>
<description> HDD intern notebook Seagate 2.5&quot;,
500GB, Laptop Thin, SATA2, 7200rpm, 32MB</description>
<ron_price>179.4</ron_price>
<ron_catalog_price>197.34</ron_catalog_price>
<promo_price>47.21</promo_price>
<ron_promo_price>179.4</ron_promo_price>
<promotions/>
<pictures>
<picture>
<url_overlay_picture>https://api.b2b.nod.ro/images/overlay_ca87564df4
8617b42fff8725f6267171.jpg</url_overlay_picture>
<url_thumbnail_picture>https://api.b2b.nod.ro/images/thumbnail_ca8756
4df48617b42fff8725f6267171.jpg</url_thumbnail_picture>
</picture>
<picture>
<url_overlay_picture>https://api.b2b.nod.ro/images/overlay_9dda1cddd0
2eafb1c1f692f447b3d3ac.jpg</url_overlay_picture>
<url_thumbnail_picture>https://api.b2b.nod.ro/images/thumbnail_9dda1c
ddd02eafb1c1f692f447b3d3ac.jpg</url_thumbnail_picture>
</picture>
</pictures>
<original_code></original_code>
<discount_rate>-10</discount_rate>
</product>

...

</products>
</result>

Error codes:

A list with available HTTP status codes that this method can return:
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Get Info

Notes:
● returns product info by id
● method signature GET /products/{product_id}

Sample request

GET /products/123 HTTP/1.1


Host: api.b2b.nod.ro
Date: Wed, 11 Apr 2016 09:49:32 +0000
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Wed, 11 Apr 2016 09:49:32 GMT
Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml

<product>
<id>bf24c9d9b827e354f18f9fa49803af8f</id>
<name>SG HDD2.5 500GB SATA ST500LM000</name>
<code>ST500LM000</code>
<warranty>36</warranty>
<warranty_type></warranty_type>
<product_category_name>NB INTERNAL HDD</product_category_name>
<manufacturer_id>9bdea78b0abb8598d767d0a5f585f5f1</manufacturer_id>
<manufacturer_name>SEAGATE</manufacturer_name>
<min_quantity>1</min_quantity>
<stock_value>100</stock_value>
<supplier_stock_value>0</supplier_stock_value>
<supplier_stock_delivery_date></supplier_stock_delivery_date>
<reserved_stock_value>0</reserved_stock_value>
<price>60.37</price>
<special_price>224.84</special_price>
<catalog_price>66.41</catalog_price>
<green_stamp_value>.00</green_stamp_value>
<currency>USD</currency>
<discount>.00</discount>
<vat_percent>20</vat_percent>
<has_resealed>0</has_resealed>
<product_category>120</product_category>
<unit>ST</unit>
<description> HDD intern notebook Seagate 2.5&quot;, 500GB,
Laptop Thin SSHD, SATA3, 5400rpm, 64MB, SSD MLC/8GB</description>
<properties>
<property>
<name>Buffer</name>
<value>64MB</value>
</property>
<property>
<name>HDD-Capacity</name>
<value>≤500GB</value>
</property>
<property>
<name>HDD-Interface</name>
<value>SATA3</value>
</property>
<property>
<name>Hybrid-SSHD</name>
<value>Yes</value>
</property>
</properties>
<pictures>
<picture>
<url_overlay_picture>https://api.b2b.nod.ro/images/overlay_ead168a480
4e79dc6aeb0fc13c476eab.jpg</url_overlay_picture>
<url_thumbnail_picture>https://api.b2b.nod.ro/images/thumbnail_ead168
a4804e79dc6aeb0fc13c476eab.jpg</url_thumbnail_picture>
</picture>
<picture>
<url_overlay_picture>https://api.b2b.nod.ro/images/overlay_c3299b17ad
0727bbf651ebd960dc625e.jpg</url_overlay_picture>
<url_thumbnail_picture>https://api.b2b.nod.ro/images/thumbnail_c3299b
17ad0727bbf651ebd960dc625e.jpg</url_thumbnail_picture>
</picture>
</pictures>
<promotions/>
<ron_price>229.41</ron_price>
<ron_catalog_price>252.35</ron_catalog_price>
<promo_price>59.17</promo_price>
<ron_promo_price>224.84</ron_promo_price>
<original_code></original_code>
<discount_rate>-10</discount_rate>
</product>

Error codes:

A list with available HTTP status codes that this method can return:
● 404 Not Found - Product id not found
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request
● 400 Bad Request

Bulk Get Info

Notes:
● returns the details of a list of products
● method signature: GET /products/products-details/{array of products}
● due to the nature of the response, the request can only be made with json content type

Sample request:

GET
/products/products-details?productIds[]=0107f5093358da59dd5d90ccc8cad
1a2
HTTP/1.1
Host: api.b2b.nod.ro
Date: Tue, 10 Feb 2015 16:58:53 +0000
X-NodWS-User: zitec
X-NodWS-Accept: json
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Wed, 25 Feb 2015 09:49:32 GMT
Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml

<products>
<id>000d659d7edd354e0ed3dcabc2a291ed</id>
<name>SLEEVE NTB 12.1 BELKIN BLACK/RED</name>
<code>F8N139EABR</code>
<warranty>0</warranty>
<warranty_type></warranty_type>
<product_category_name>NB
BAG&amp;BACKPACK</product_category_name>
<manufacturer_id>deb6db7877aeb19a6771ff04167ac500</manufacturer_id>
<manufacturer_name>BELKIN</manufacturer_name>
<min_quantity>1</min_quantity>
<stock_value>23</stock_value>
<supplier_stock_value>0</supplier_stock_value>
<supplier_stock_delivery_date></supplier_stock_delivery_date>
<reserved_stock_value>0</reserved_stock_value>
<price>12.09</price>
<special_price>.00</special_price>
<catalog_price>3.06</catalog_price>
<green_stamp_value>.00</green_stamp_value>
<currency>EUR</currency>
<discount>-7.62</discount>
<vat_percent>20</vat_percent>
<has_resealed>0</has_resealed>
<product_category>50</product_category>
<unit>ST</unit>
<description> Husa netbook Belkin, F8N139eaBR, 12.1&quot;,
neopren, Black/Red</description>
<pictures>
<picture>
<url_overlay_picture>https://api.b2b.nod.ro/images/overlay_10d3215577
e6808669468d5eed8ade6a.jpg</url_overlay_picture>
<url_thumbnail_picture>https://api.b2b.nod.ro/images/thumbnail_10d321
5577e6808669468d5eed8ade6a.jpg</url_thumbnail_picture>
</picture>
</pictures>
<promotions/>
<ron_price>54.42</ron_price>
<ron_catalog_price>13.79</ron_catalog_price>
<promo_price>12.09</promo_price>
<ron_promo_price>54.42</ron_promo_price>
<applied_promotions/>
<original_code></original_code>
<discount_rate>-14</discount_rate>
</products>

Error codes:
A list with available HTTP status codes that this method can return:
● 404 Not Found - Product id not found
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Get Resealed

Notes:
● returns resealed products for a product based on the product id
● method signature GET /products/{product_id}/resealed
- In order for the signature request to return a valid, non-empty response, the ‘product_id’
must correspond​ to a product that has stock value greater than 0.

Sample request:

GET /products/123/resealed HTTP/1.1


Host: api.b2b.nod.ro
Date: Thu, 17 Aug 2011 14:52:54 GMT
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Thu, 17 Aug 2011 14:52:54 GMT
Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml

<result>
<current_page>1</current_page>
<total_pages>1</total_pages>
<records_per_page>10</records_per_page>
<products>

...

<product>
<id>bc04939a59f86b3099f75c1443f97db1</id>
<name>VENTILATOR HEINNER HMF-1500WM</name>
<code>RESIG0000001498</code>
<warranty>6</warranty>
<warranty_type></warranty_type>
<product_category_id>316</product_category_id>
<product_category_name>COOLER</product_category_name>
<manufacturer_id>c2dc268aef743286dce76416716a4139</manufacturer_id>
<manufacturer_name>HEINNER</manufacturer_name>
<min_quantity>1</min_quantity>
<stock_value>3</stock_value>
<supplier_stock_value>0</supplier_stock_value>

<supplier_stock_delivery_date></supplier_stock_delivery_date>
<reserved_stock_value>0</reserved_stock_value>
<price>237.2</price>
<special_price>.00</special_price>
<catalog_price>41.15</catalog_price>
<green_stamp_value>.84</green_stamp_value>
<currency>RON</currency>
<discount>.00</discount>
<vat_percent>20</vat_percent>
<has_resealed>0</has_resealed>
<description> Ventilator, Heinner HMF-1500WM, putere:
60W, 3 trepte de viteza, 4 elice, inaltime ajustabila pana la 125cm,
racordabil la reteaua de apa, oscilatie, din metal cu picior si
pulverizare, diametru elice: 46cm.</description>
<fault_code>002</fault_code>
<defect>REPARAT, AMBALAJ ORIGINAL DETERIORAT. PREZINTA
ZGARIETURI SUPERFICIALE PE TOATE SUPRAFETELE</defect>
<original_code>HMF-1500WM</original_code>
<original_price>237.20</original_price>
<original_currency>RON</original_currency>
<original_catalog_price>260.00</original_catalog_price>
<promo_price>41.99</promo_price>
<ron_promo_price>41.99</ron_promo_price>
<ron_price>237.20</ron_price>
<promotions/>
<pictures>
<picture>
<url_overlay_picture>https://api.b2b.nod.ro/images/overlay_06a078e033
e2a2229ed9c187182b5c5d.jpg</url_overlay_picture>
<url_thumbnail_picture>https://api.b2b.nod.ro/images/thumbnail_06a078
e033e2a2229ed9c187182b5c5d.jpg</url_thumbnail_picture>
</picture>
</pictures>
<ron_catalog_price>41.15</ron_catalog_price>
<discount_rate>0</discount_rate>
</product>

...

</products>
</result>

Response interpretation:

- current_page ​= the page number used for listing


- total_pages ​= total number of available pages
- records_per_page ​= total number of products on pages
- id ​ = product’s id (unique)
- name ​= product’s name
- code ​= product’s unique code (unique)
- description ​= short product description
- warranty ​= number of warranty months for current product
- warranty_type ​= type of warranty (DC/DL or NU(no warranty))
- product_category_id ​= id of the product category
- product_category_name ​= name of the product category
- manufacturer_id ​= id of the product manufacturer
- manufacturer_name ​= name of the product manufacturer
- min_quantity ​= ordered quantity for this product must be a multiple of min_quantity
- stock_value ​= available stock
- supplier_stock_value ​= available supplier stock
- supplier_stock_delivery_date = ​ date when supplier stock will be available
- currency ​= product’s default currency
- discount ​= contractual discount for current product
- price ​= product price in default currency
- catalog_price ​= catalog price for the current product
- green_stamp_value = ​ value of the green stamp
- fault_code​ = fault(defect) code
- defect ​= defect description
- original_code ​= code of the original product
- original_price ​= price for the original product in it’s default currency
- original_currency = default currency for the original product
- original_catalog_price = catalog price of the original product
- promo_price ​= price of the resealed product with additional promotions applied.
If no other promotions are applied, this is equal to the price value
- ron_price ​= price of the resealed product in ‘lei’ currency
- ron_promo_price ​= price of the resealed product with additional promotions applied, in
‘lei’ currency. If no other promotions are applied, this is equal to the ron_price value
- promotions ​= list of applied promotion id’s
- pictures ​= product’s pictures.
These are not pictures of the resealed products and do not show any defects. They are the
original product’s pictures.

Error codes:

A list with available HTTP status codes that this method can return:
● 404 Not Found - Product id not found
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Get Stock

Notes:
● returns product stock by id
● method signature GET /products/{product_id}/stock
● returns the stock in real time

Sample request

GET /products/123/stock HTTP/1.1


Host: api.b2b.nod.ro
Date: Tue, 26 Feb 2015 15:56:49 +0000
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Thu, 17 Aug 2011 14:52:54 GMT
Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml

<product>
<id>001e34012b9a45e262569e8cce69f1ba</id>
<stock_value>2</stock_value>
<supplier_stock_value>0</supplier_stock_value>
<supplier_stock_delivery_date>1899-12-30</supplier_stock_delive
ry_date>
<reserved_stock_value>2</reserved_stock_value>
<availability_days />
</product>

Response interpretation:

- stock_value ​represents the available stock


- supplier_stock_value ​represents the available supplier stock
- supplier_stock_delivery_date r​ epresents the date when supplier stock will be available
- reserved_stock_value ​represents the reserved stock
- availability_days​ is not used and should be ignore. It is reserved for future usage.

Error codes:

A list with available HTTP status codes that this method can return:
● 404 Not Found - Product id not found
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Full product feed

Notes:
● returns all the products for a single reseller
● method signature GET /products/full-feed/

Parameters:
?format=<type> ​[optional] format type can be any of the following: XML, CSV or JSON. Default
is set for JSON.
?only_resealed=1|0 ​[optional] for ‘only_resealed=1’, the request will return the resealed
products only. Otherwise, the resealed products are not present in the products feed.

Sample request

GET /products/full-feed?format=json&only_resealed=1 HTTP/1.1


Host: api.b2b.nod.ro
Date: Thu, 17 Aug 2011 14:52:54 GMT
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Thu, 17 Aug 2011 14:52:54 GMT
Server: api.b2b.nod.ro
Content-Length: 31035
Connection: close
Content-Type: text/xml

<?xml version="1.0" encoding="UTF-8" ?>


<products>

...

<product>
<id>af90b2ad1549c1d597d502547e1b5a2c</id>
<name>GPS 4.3&quot; SERIOUX GLOBALTROTTER GT400</name>
<code>RESIG0000002115</code>
<warranty>6</warranty>
<warranty_type></warranty_type>
<product_category_id>307</product_category_id>
<product_category_name>CAR GPS</product_category_name>

<manufacturer_id>97dbdeac6f467457630097a2a59beffe</manufacturer_id>
<manufacturer_name>SERIOUX</manufacturer_name>
<min_quantity>1</min_quantity>
<stock_value>1</stock_value>
<supplier_stock_value>0</supplier_stock_value>
<supplier_stock_delivery_date></supplier_stock_delivery_date>
<reserved_stock_value>0</reserved_stock_value>
<price>58.47</price>
<special_price>.00</special_price>
<catalog_price>58.47</catalog_price>
<green_stamp_value>.00</green_stamp_value>
<currency>RON</currency>
<discount>.00</discount>
<vat_percent>20</vat_percent>
<has_resealed>0</has_resealed>
<description>GPS 4.3&quot; SERIOUX GLOBALTROTTER
GT400</description>
<fault_code>009</fault_code>
<defect>AMBALAJ ORIGINAL DESCHIS SI DETERIORAT, PREZINTA URME
DE UTILIZARE</defect>
<original_code>GT400</original_code>
<original_price></original_price>
<original_currency></original_currency>
<original_catalog_price></original_catalog_price>
<promo_price>58.47</promo_price>
<ron_promo_price>58.47</ron_promo_price>
<ron_price>58.47</ron_price>
<ron_catalog_price>58.47</ron_catalog_price>
<discount_rate>0</discount_rate>
</product>

...

</products>

Response interpretation:

- id ​ = product’s id (unique)
- name ​= product’s name
- code ​= product’s unique code (unique)
- description ​= short product description
- warranty ​= number of warranty months for current product
- warranty_type ​= type of warranty (DC/DL or NU(no warranty))
- product_category_id ​= id of the product category
- product_category_name ​= name of the product category
- manufacturer_id ​= id of the product manufacturer
- manufacturer_name ​= name of the product manufacturer
- min_quantity ​= ordered quantity for this product must be a multiple of min_quantity
- stock_value ​= available stock
- supplier_stock_value ​= available supplier stock
- supplier_stock_delivery_date = ​ date when supplier stock will be available
- currency ​= product’s default currency
- discount ​= contractual discount for current product
- price ​= product price in it’s default currency
- catalog_price ​= catalog price for the current product
- green_stamp_value = ​ value of the green stamp
- fault_code​ = fault (defect) code
- defect ​= description ​of defect
- original_code ​= code of the original product
- original_price ​= price for the original product in it’s default currency
- original_currency = default currency for the original product
- original_catalog_price = catalog price of the original product
- promo_price ​= price of the resealed product with additional promotions applied.
If no other promotions are applied, this is equal to the price value
- ron_price ​= price of the resealed product in ‘lei’ currency
- ron_promo_price ​= price of the resealed product with additional promotions applied, in
‘lei’ currency. If no other promotions are applied, this is equal to the ron_price value
- promotions ​= list of applied promotion id’s
- pictures ​= product’s pictures.
These are not pictures of the resealed products and do not show any defects. They are the
original product’s pictures.

Error codes:

A list with available HTTP status codes that this method can return:
● 404 Not Found - the feed is not available in the requested format
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Fault codes

Get all:

Notes:
● Returns a list of fault code for resealed products
● method signature GET /fault-codes/

Sample request

GET /fault-codes HTTP/1.1


Host: api.b2b.nod.ro
Date: Tue, 26 Feb 2015 15:56:49 +0000
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Tue, 26 Feb 2015 15:57:09 +0000
Server: api.b2b.nod.ro
Content-Length: 4725
Connection: close
Content-Type: text/xml

<fault_codes>

...

</fault_code>
<fault_code>
<fault_code>001</fault_code>
<fault_description>AMBALAJ ORIGINAL DESCHIS SI
DETERIORAT</fault_description>
</fault_code>
<fault_code>
<fault_code>002</fault_code>
<fault_description>REPARAT, AMBALAJ ORIGINAL DETERIORAT. PREZINTA
ZGARIETURI SUPERFICIALE PE TOATE SUPRAFETELE</fault_description>
</fault_code>
<fault_code>
<fault_code>003</fault_code>
<fault_description>AMBALAJ ORIGINAL DESCHIS</fault_description>
</fault_code>

...

</fault_codes>

Error codes:

A list with available HTTP status codes that this method can return:
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Addresses

Get All

Notes:
● returns a list which contains all the addresses for current reseller
● method signature GET /addresses/
Parameters:
?address_type={address type} ​[optional] addresses filtering by type.
‘address_type’ is a bitmask of the following values:
1 ​- Office address
2 ​- Billing address
4 ​- Shipping address
For the API to return the billing and shipping addresses, address_type should be 6
(Billing + Shipping -> 2 + 4 = 6)

Sample request

GET /addresses/ HTTP/1.1


Host: api.b2b.nod.ro
Date: Thu, 17 Aug 2011 14:52:54 GMT
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Wed, 25 Feb 2015 07:25:04 GMT
Server: api.b2b.nod.ro
Content-Length: 722
Connection: close
Content-Type: text/xml

<addresses>
...
<address>
<reseller_address_id>123456789</reseller_address_id>
<reseller_id>123456789</reseller_id>
<country_id>192</country_id>
<county_id>10</county_id>
<locality>București</locality>
<street>Stradă de test</street>
<number>25D</number>
<building>55W</building>
<floor>3</floor>
<apartment>23D</apartment>
<postal_code></postal_code>
<default_delivery>0</default_delivery>
<default_billing>0</default_billing>
<delivery>1</delivery>
<billing>0</billing>
<address_type>4</address_type>
<deleted>0</deleted>
<status>2</status>
<added>2016-03-25 14:53:24.000</added>
<reason></reason>
<token></token>
<country>Romania</country>
<county>Bucuresti</county>
<office>0</office>
...
</addresses>

Error codes:

A list with available HTTP status codes that this method can return:
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Get Info

Notes:
● returns address details
● method signature GET /addresses/{reseller_address_id}

Sample request:

GET /addresses/1 HTTP/1.1


Host: api.b2b.nod.ro
Date: Thu, 17 Aug 2011 14:52:54 GMT
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK

Date: Tue, 25 Feb 2015 15:56:49 +0000


Server: api.b2b.nod.ro
Content-Length: 722
Connection: close
Content-Type: text/xml

<address>
<reseller_address_id>123456789</reseller_address_id>
<reseller_id>123456789</reseller_id>
<country_id>192</country_id>
<county_id>10</county_id>
<locality>București</locality>
<street>Stradă de test</street>
<number>25D</number>
<building>55W</building>
<floor>3</floor>
<apartment>23D</apartment>
<postal_code></postal_code>
<default_delivery>0</default_delivery>
<default_billing>0</default_billing>
<delivery>1</delivery>
<billing>0</billing>
<address_type>4</address_type>
<deleted>0</deleted>
<status>2</status>
<added>2016-03-25 14:53:24.000</added>
<reason></reason>
<token></token>
<county>Bucuresti</county>
<country>Romania</country>
<office>0</office>
</address>

Error codes:

A list with available HTTP status codes that this method can return:
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request
● 404 Not Found - Address Id not found

Add address

Notes:

● adds a new address


● method signature POST /addresses/
● required fields: country_id, county_id, locality, street, number, address_type
● all other fields are optional but even if left empty need be in the request: building, floor,
apartment, default_billing, default_delivery, postal_code
● on success the api will return the id of the created entity
● address_type is a bitmask with the following values:
○ 2 - Billing address
○ 4 - Shipping address
In order to add an address that will be used for both billing and shipping, address_type
needs to be 6 (Billing + Shipping -> 2 + 4 = 6).

Sample request

POST /addresses/ HTTP/1.1


Host: api.b2b.nod.ro
Date: Thu, 17 Aug 2011 14:52:54 GMT
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

country_id=192&county_id=05&locality=Bucharest&street=Lorem
ipsum&number=2&address_type=2&building=&floor=&apartment=&default_bil
ling=&default_delivery=&postal_code=

Sample response:

HTTP/1.1 201 Created


Date: Tue, 26 Feb 2015 15:57:02 +0000
Server: api.b2b.nod.ro
Connection: close

<id>27ba1cd1eb413060be2ee220e6a70377</id>;

Error codes:

A list with available HTTP status codes that this method can return:
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request
● 400 Bad Request - Invalid or missing fields

Update address

Notes:
● updates an address
● method signature POST /addresses/{reseller_address_id}

Sample request
POST /addresses/1?country=Romania&county=Sector 4 HTTP/1.1
Host: api.b2b.nod.ro
Date: Tue, 26 Feb 2015 15:56:49 +0000
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 204 No Content


Date: Tue, 26 Feb 2015 15:57:02 +0000
Server: api.b2b.nod.ro
Connection: close

Error codes:

A list with available HTTP status codes that this method can return:
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request
● 400 Bad Request - Invalid or empty field
● 404 Not Found - Address Id not found

Delete address

Aceasta metoda nu mai exista.

Orders

Order statuses

● NOT_ACCEPTED​ - order was rejected due to an error. In most cases, The API will
provide additional error details.
● STOCK_RESERVATION​ - The products in the order are reserved but the order is not
going to be processed until the order is confirmed by using the update-status method. A
reservation will be deleted by the system after 3 days and will receive an EXPIRED
status.
● PROCESSING​ - the order was recorded and a NOD employee is processing it.
● DELIVERY_READY - t​ he order is picked from our warehouse and is waiting for the
courier or for the customer to pick it up.
● BILLED ​- the order has at least one invoice assigned to it.
● DELIVERED​ - the order was fulfilled, with all the items delivered.
● CREDIT_LIMIT​ - the order is recorded but the reseller has maxed out its credit limit and
needs to contact his Account Manager.
● DELETED​ - the order is recorded but it was deleted either by the reseller or by the
Account Manager.
● EXPIRED ​- this status is given to a stock reservation after a 3 days period.

Get All

Notes:
● returns order history for orders placed using the Webshop or the Webshop API. It will not
return the orders placed with the Account Manager.
● method signature GET /orders/

Parameters:
● ?date_start={date start}&date_end={date end} ​ [optional] accepted date format:
yyyy-MM-dd
● ?page={current_page} ​[optional] displays a specified page
● ?status={status_name} ​[optional] sorts results by status
● ?order_by={order_column} ​[optional] sorts results by requested column. Default is
‘?order_by=date’
● ?order_direction=asc|desc ​[optional] Default is ‘?order_direction=desc’
- Filters can be combined.

Sample request

GET /orders/ HTTP/1.1


Host: api.b2b.nod.ro
Date: Thu, 26 Feb2011 12:52:54 GMT
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Thu, 26 Feb 2015 12:53:02 GMT
Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml
<result>
<current_page>1</current_page>
<total_pages>4</total_pages>
<records_per_page>50</records_per_page>
<orders>

...

<order>
<id>59e1a06e56a1b14e3b82c8c97f7643a8</id>
<status>STOCK_RESERVATION</status>
<order_number>12376</order_number>
<added>2016-04-05 16:59:08.000000</added>
<total_value>.10</total_value>
<vat_value>.02</vat_value>
<total_value_with_vat>.12</total_value_with_vat>
<drop_shipment>0</drop_shipment>
<saturday_delivery>0</saturday_delivery>
<invoice_number>0</invoice_number>
<awb></awb>
<delivery_addresses>
<delivery_address>
<id>00b0ac69711e27883529b2d038066b3b</id>
</delivery_address>
</delivery_addresses>
<billing_addresses>
<billing_address>
<id>100732eeb016e88e377147f0f5e12a31</id>
</billing_address>
</billing_addresses>
<payment_option>
<id>807460ea9cdd022ba3fd6fe6b017f1d5</id>
<code>CASH_RAMBURS</code>
</payment_option>
<transport_option>
<id>4739a1b3a11bd7eaee3f5cd295eebe12</id>
<code>COURIER</code>
</transport_option>
<invoices/>
</order>
<order>
<id>38f1b5a0abb9ea6f0c1980c3409f1c10</id>
<status>PROCESSING</status>
<order_number>12375</order_number>
<added>2016-04-05 16:32:17.000000</added>
<total_value>39.84</total_value>
<vat_value>7.97</vat_value>
<total_value_with_vat>47.81</total_value_with_vat>
<drop_shipment>0</drop_shipment>
<saturday_delivery>0</saturday_delivery>
<invoice_number>0</invoice_number>
<awb></awb>
<delivery_addresses>
<delivery_address>
<id>00b0ac69711e27883529b2d038066b3b</id>
</delivery_address>
</delivery_addresses>
<billing_addresses>
<billing_address>
<id>100732eeb016e88e377147f0f5e12a31</id>
</billing_address>
</billing_addresses>
<payment_option>
<id>807460ea9cdd022ba3fd6fe6b017f1d5</id>
<code>CASH_RAMBURS</code>
</payment_option>
<transport_option>
<id>4739a1b3a11bd7eaee3f5cd295eebe12</id>
<code>COURIER</code>
</transport_option>
<invoices/>
</order>

...

</orders>
</result>

Sample error response:

<error>
<code>BadRequest</code>
<message>
date_end: dateFalseFormat : '2014-1217' does not fit the
date format 'yyyy-MM-dd'
</message>
</error>

Error codes:

A list with available HTTP status codes that this method can return:
● 400 Bad Request - Invalid parameters
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Get Info

Notes:
● returns order details by id
● method signature GET /orders/{order_id}

Sample request

GET /orders/123456789 HTTP/1.1


Host: api.b2b.nod.ro
Date: Tue, 26 Feb 2015 15:56:49 +0000
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Tue, 26 Feb 2015 15:56:49 +0000
Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml

<order>
<id>123456789</id>
<status>PROCESSING</status>
<order_number>12375</order_number>
<added>2016-04-05 16:32:17.000000</added>
<total_value>39.84</total_value>
<vat_value>7.97</vat_value>
<total_value_with_vat>47.81</total_value_with_vat>
<drop_shipment>0</drop_shipment>
<saturday_delivery>0</saturday_delivery>
<invoice_number>0</invoice_number>
<awb></awb>
<cash_on_delivery>0</cash_on_delivery>
<transport_value>.00</transport_value>
<total_cash_on_delivery>.00</total_cash_on_delivery>
<delivery_addresses>
<delivery_address>
<id>00b0ac69711e27883529b2d038066b3b</id>
</delivery_address>
</delivery_addresses>
<billing_addresses>
<billing_address>
<id>100732eeb016e88e377147f0f5e12a31</id>
</billing_address>
</billing_addresses>
<payment_option>
<id>807460ea9cdd022ba3fd6fe6b017f1d5</id>
<code>CASH_RAMBURS</code>
</payment_option>
<transport_option>
<id>4739a1b3a11bd7eaee3f5cd295eebe12</id>
<code>COURIER</code>
</transport_option>
<products>
<product>
<order_detail_id>c72944b6c66cc1070095b33bbc446b36</order_detail_id>
<id>641fa3a7998ff3f793fc65c321834683</id>
<code>X7-200MP</code>
<original_code></original_code>
<name>MOUSEPAD A4TECH X7-200MP 250*200MM</name>
<description> Mousepad A4tech, X7-200MP,
250x200mm</description>
<quantity>6</quantity>
<unit_price>6.64</unit_price>
<currency>LEI</currency>
<total_price>39.84</total_price>
<total_price_ron>39.84</total_price_ron>
<total_promo_price_ron>39.84</total_promo_price_ron>
<green_stamp_value>.00</green_stamp_value>
<main_product>1</main_product>
<min_quantity>1</min_quantity>
<total_green_stamp_value>.00</total_green_stamp_value>
<status_id></status_id>
<status_name></status_name>
<position>0</position>
<cash_on_delivery_value>0</cash_on_delivery_value>
<awb_quantity>0</awb_quantity>
<vat_value>7.97</vat_value>
<vat_percent>20.00</vat_percent>
<warranty_type></warranty_type>
<applied_promotions>
<applied_promotion>
<parent_id></parent_id>

</applied_promotion>

</applied_promotions>
<pictures>
<picture>
<url_overlay_picture>https://api.b2b.nod.ro/images/overlay_048481e99d
cfbbbf989f1d540584d338.jpg</url_overlay_picture>
<url_thumbnail_picture>https://api.b2b.nod.ro/images/thumbnail_048481
e99dcfbbbf989f1d540584d338.jpg</url_thumbnail_picture>
</picture>
<picture>
<url_overlay_picture>https://api.b2b.nod.ro/images/overlay_385ae03403
eb2ce3ba291188cc8b234c.jpg</url_overlay_picture>
<url_thumbnail_picture>https://api.b2b.nod.ro/images/thumbnail_385ae0
3403eb2ce3ba291188cc8b234c.jpg</url_thumbnail_picture>
</picture>
</pictures>
</product>
</products>
<invoices/>
</order>

Error codes:

A list with available HTTP status codes that this method can return:
● 404 Not Found - Order not found
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request
Add Order

Notes:
● adds a new order
● method signature POST /orders/
● The ‘SATURDAY_DELIVERY’ transport option is available only on fridays. If selected,
your products will be delivered next saturday.

Parameters
● delivery_address [required] ​valid delivery address id
● payment_option [required] ​valid payment option id
● transport_option [required] ​valid transport option id
● items [required] ​a list of items to be added
● all_or_none [optional] d ​ efault is ‘0’, order is saved if all items are valid
● only_stock_reservation [optional] d ​ efault is ‘0’. For ‘only_stock_reservation=1’, the order
is saved with ‘STOCK_RESERVATION’ status, meaning that the stock is reserved.
Invoices are not generated.
● emails [optional] ​A list of emails to send notifications. Field is ignored when default
address is selected on Configurations > Email alerts page

Sample request

POST /orders/ HTTP/1.1


Host: api.b2b.nod.ro
Date: Tue, 26 Feb 2015 15:56:49 +0000
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

delivery_address=84f0ceb2b8eb1ba9fe6365cbf6b14323&billing_address=84f
0ceb2b8eb1ba9fe6365cbf6b14323&payment_option=9d5c31868077a7e625d72372
b36dbbad&transport_option=19bb66a5b603e44ecec179b8939516b2&
295eebe12&items[0][id]=083cc30e6d408c1b155e70da05b29c17&items[0][quan
tity]=3&items[1][id]=72e0dbbf910bd0a5a761aab639602a36&items[1][quanti
ty]=2&emails[0]=test@example.com&emails[1]=test2@example.com&only_sto
ck_reservation=1

Sample response:

HTTP/1.1 200 OK
Date: Fri, 27 Feb 2015 10:40:13 GMT
Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml

<result>
<id>42f646bc86a12863e8e09c253f69c8c7</id>
<items />
</result>

Sample error responses

❖ No items

<error>
<code>noItems</code>
<message>Order has no items</message>
</error>

❖ Invalid items
● all_or_none = 1
● 400 Bad Request status returned

<result>
<items>
<item>
<data>
<id>083cc30e6d408c1b155e70dasa05b29c17</id>
<quantity>3</quantity>
</data>
<errors>
<id>
<NonExistentProduct>Non-existent product
requested for order</NonExistentProduct>
</id>
</errors>
</item>
<item>
<data>
<id>72e0dbbf910bd0a5fgda761aab639602a36</id>
<quantity>2</quantity>
</data>
<errors>
<id>
<NonExistentProduct>Non-existent product
requested for order</NonExistentProduct>
</id>
</errors>
</item>
</items>
</result>

❖ Insufficient stock
● 400 Bad Request status returned
● The available stock value is included in response

<result>
<items>
<item>
<data>
<id>b26a22db89e714840918031f9621a212</id>
<quantity>100</quantity>
</data>
<errors>
<id>
<ProductOutOfStock>Product is not in
stock</ProductOutOfStock>
<StockValue>11</StockValue>
</id>
</errors>
</item>
</items>
</result>

Error codes:

A list with available HTTP status codes that this method can return:
● 400 Bad Request - invalid items
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Update Order
Notes:
● updates an order
● method signature POST /orders/{order_id}
● if a product’s quantity is set to 0, the product is removed from order
● at least one product must remain on an order
● maximum quantity for a product is current quantity on order plus the available real time
stock value
● an order can be updated only if its current status is STOCK_RESERVATION

Parameters
?delivery_address ​[optional] valid delivery address id
?payment_option ​[optional] valid payment option id
?transport_option ​[optional] valid transport option id
?billing_address ​[optional] valid billing address id
?items ​[optional] a list of new products or new quantity for existing products

Sample request

POST /orders/123456789 HTTP/1.1


Host: api.b2b.nod.ro
Date: Mon, 02 Mar 2015 11:31:23 GMT
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

delivery_address=ee623497b63a2107fad54c6d7f27520a&payment_option=7a9d
68aa0460d4798e0ebe7b42f92e88&transport_option=4739a1b3a11bd7eaee3f5cd
295eebe12&billing_address=ee623497b63a2107fad54c6d7f27520a&items[0][i
d]=0004d0b59e19461ff126e3a08a814c33&items[0][quantity]=3&items[1][id]
=00053f5e11d1fe4e49a221165b39abc9&items[1][quantity]=2

Sample response:

HTTP/1.1 204 No Content


Date: Mon, 02 Mar 2015 11:31:24 GMT
Server: api.b2b.nod.ro
Connection: close

Sample error responses:

❖ Empty request
● 400 Bad Request status returned
<error>
<code>BadRequest</code>
<message>No valid fields were submitted</message>
</error>

❖ Item(s) not on order


● 400 Bad Request status returned

<result>
<items>
<item>
<data>
<id>b85a6273cfea48740351687f296e49eb</id>
<quantity>2</quantity>
</data>
<errors>
<id>
<NonOrderExistentProduct>Product is not on
order</NonOrderExistentProduct>
<StockValue>11</StockValue>
</id>
</errors>
</item>
</items>
</result>

❖ Insufficient stock
● 400 Bad Request status returned
● The available stock value is included in response

<result>
<items>
<item>
<data>
<id>b26a22db89e714840918031f9621a212</id>
<quantity>100</quantity>
</data>
<errors>
<id>
<ProductOutOfStock>Product is not in
stock</ProductOutOfStock>
<StockValue>11</StockValue>
</id>
</errors>
</item>
</items>
</result>

Error codes:

A list with available HTTP status codes that this method can return:
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request
● 400 Bad Request - Invalid parameters
● 404 Not Found - Order Id not found

Update Status

Notes:
● updates an order’s status and returns the status as a confirmation
● method signature POST /orders/update-status/{order_id}

Parameters:
?status [​required​] ​valid order status

Sample request

POST /orders/update-status/123456789/?status=3 HTTP/1.1


Host: api.b2b.nod.ro
Date: Tue, 11 Aug 2015 08:57:23 GMT
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Tue, 11 Aug 2015 08:57:23 GMT
Server: api.b2b.nod.ro
Connection: close
Content-Length: 18
Connection: close
Content-Type: text/xml

<result>BILLED</result>

Error codes:

A list with available HTTP status codes that this method can return:
● 400 Bad Request - Only POST requests are allowed on this method.
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request.

Delete Order

Notes:
● deletes an order
● method signature DELETE /orders/{order_id}
● only orders with status NOT_ACCEPTED or STOCK_RESERVATION can be deleted

Sample request

DELETE /orders/ee623497b63a2107fad54c6d7f27520a HTTP/1.1


Host: api.b2b.nod.ro
Date: Thu, 17 Aug 2011 14:52:54 GMT
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 204 No Content


Date: Thu, 17 Aug 2011 14:52:54 GMT
Server: api.b2b.nod.ro
Connection: close

Error codes:

A list with available HTTP status codes that this method can return:
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request
● 404 Not Found - Order Id not found

Invoices
Get Invoices
Notes:
● returns a list of invoices
● the method is paginated (20 items per page)
● method signature: GET /invoices/

Parameters:
?issue_date_start [optional] ​filters the invoices created after a certain date
?issue_date_end [optional] ​filters the invoices created before a certain date
?invoice_date_start [optional] ​filters the invoices that have a date after the provided date
?invoice_date_end [optional] ​filters the invoices that have a date before the provided date
?invoice_number [optional] ​filters invoices based on invoice number

Sample request

GET /invoices?sold=1&series=NOD&number=123456789&page=1 HTTP/1.1


Host: api.b2b.nod.ro
Date: Thu, 17 Feb 2015 14:52:54 GMT
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response

HTTP/1.1 200 OK
Date: Thu, 17 Feb 2015 14:52:54 GMT
Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml

<result>
<current_page>1</current_page>
<total_pages>130</total_pages>
<records_per_page>50</records_per_page>
<invoices>
...

<invoice>
<id>4f45ae61fa6b0825552742bdcee363dd</id>
<invoice_number>9000151639</invoice_number>
<invoice_date>2016-04-05</invoice_date>
<issue_date>2016-04-05 13:21:24.000000</issue_date>
<net_value>1.40</net_value>
<vat_value>.28</vat_value>
<total_with_vat>1.68</total_with_vat>
</invoice>

...

</invoices>
<totalValue>20399933.22</totalValue>
<totalVatValue>95983.92</totalVatValue>
</result>

Error codes
A list with available HTTP status codes that this method can return:
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Get Info

This method also accepts the “pdf” value for the X-NodWS-Accept header. If the accept value is
pdf the API will respond with a base64 encoded pdf file.

Notes:
● returns invoice info by id
● method signature GET /invoices/{invoice_id}

Sample request

GET /invoices/123 HTTP/1.1


Host: api.b2b.nod.ro
Date: Tue, 10 Feb 2015 16:58:53 +0000
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Thu, 17 Aug 2011 14:52:54 GMT
Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml

<invoice>
<buyer>
<name>TEST SRL</name>
<regcom>J40/1357/20015</regcom>
<cif>RO1767289</cif>
<office_address>Str.Test, PLOIESTI,Prahova</office_address>
<delivery_address>Str.Test, PLOIESTI,Prahova</delivery_address>
<bank>
<name>BANCA COMERCIALA ROMANA</name>
<account>RO37 RNCB 0000 0000 0000 0000</account>
</bank>
</buyer>
<supplier>
<name>NETWORK ONE DISTRIBUTION</name>
<regcom>J40/14309/2015</regcom>
<cif>RO15056387</cif>
<social_capital>5700000</social_capital>
<city>Bucuresti</city>
<street>Marcel Iancu</street>
<street_number>3-5</street_number>
</supplier>
<invoice_header>
<numer>8467392</numer>
<series>NOD</series>
<date>2015-08-25</date>
<due_date>2015-09-08</due_date>
<vat_rate>24.00</vat_rate>
<value>-12.0</value>
<vat_value>-2.88</vat_value>
<total_value>-14.88</total_value>
<transport_value>Ridicare de la dep</transport_value>
<sales_document_type/>
<order_number/>
<delivery/>
</invoice_header>
<items>
<item>
<code>RX-630SS</code>
<pos_num>000020</pos_num>
<type/>
<quantity>-1.0</quantity>
<net_value>-162.0</net_value>
<vat_value>-38.88</vat_value>
<description/>
<quantity_unit>BUC</quantity_unit>
<name>PSU RAIDMAX 630W RX-630SS</name>
<unit_price>162.0</unit_price>
<position_type>G2N</position_type>
<client_material/>
<denln>37</denln>
<retur/>
<free/>
</item>
<item>
<code>RX-630SS</code>
<pos_num>000030</pos_num>
<type/>
<quantity>1.0</quantity>
<net_value>150.0</net_value>
<vat_value>36.0</vat_value>
<description/>
<quantity_unit>BUC</quantity_unit>
<name>PSU RAIDMAX 630W RX-630SS</name>
<unit_price>150.0</unit_price>
<position_type>L2N</position_type>
<client_material/>
<denln>37</denln>
<retur/>
<free/>
</item>
</items>
</invoice>

Error codes:
A list with available HTTP status codes that this method can return:
● 404 Not Found - Invoice id not found
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Unpaid Invoices
Get Unpaid Invoices

Notes:
● returns a list of unpaid invoices
● the method is paginated, so 25 items are returned per page
● method signature: GET /unpaid-invoices/

Parameters:

?date_created_start [optional] ​will filter the invoices created after a certain date
?date_created_end [optional] ​will filter the invoices created before a certain date
?due_date_start [optional] ​will filter the invoices that have a due date after a certain date
?due_date_end [optional] ​will filter the invoices that have a due date before a certain date
?invoice_series [optional] ​searches for invoices with a certain series
?invoice_number [optional] ​searches for invoices with a certain number
?order_by={order_column} ​sorts results by requested column
?order_direction=asc|desc​ [optional] default value is asc
?page=2 - ​this can apply for all of the above
?overdue=1 - ​returns all unpaid invoices
- Filters can be combined.

Sample request

GET /unpaid-invoices?sold=1&series=NOD&number=123456789&page=1
HTTP/1.1
Host: api.b2b.nod.ro
Date: Thu, 17 Feb 2015 14:52:54 GMT
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Thu, 17 Feb 2015 14:52:54 GMT
Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml

<result>
<current_page>1</current_page>
<total_pages>1</total_pages>
<records_per_page>50</records_per_page>
<invoices>

....

<invoice>
<id>ae21ebd4d09bf90cba8898de2fc7615f</id>
<invoice_series>NOD</invoice_series>
<invoice_number>123456789</invoice_number>
<date_created>2015-01-27</date_created>
<due_date>2015-02-26</due_date>
<value>1310.21</value>
<value_vat_included>1624.66</value_vat_included>
<days_due_date_exceeded>1</days_due_date_exceeded>
</invoice>

....

</invoices>
<totalValue>4789.45</totalValue>
<totalVatValue>5938.92</totalVatValue>
</result>

Error codes
A list with available HTTP status codes that this method can return:
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Get Info

Notes:
● returns invoice info by id
● method signature GET /unpaid-invoices/{invoice_id}

Sample request

GET /unpaid-invoices/123 HTTP/1.1


Host: api.b2b.nod.ro
Date: Tue, 10 Feb 2015 16:58:53 +0000
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Thu, 17 Aug 2011 14:52:54 GMT
Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml

<invoice>
<unpaid_invoice_id>123</unpaid_invoice_id>
<erp_invoice_id>9000000000</erp_invoice_id>
<invoice_id>bafb1046c4bab999eb19b4904ab41fff</invoice_id>
<invoice_series>NOD</invoice_series>
<invoice_number>9000151626</invoice_number>
<date_created>2016-03-29</date_created>
<due_date>2016-04-12</due_date>
<sold>0.00</sold>
<value>1649.05</value>
<value_vat_included>1978.87</value_vat_included>
<days_due_date_exceeded></days_due_date_exceeded>
</invoice>
Error codes:

A list with available HTTP status codes that this method can return:
● 404 Not Found - Invoice id not found
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Get Full-Feed

Notes:
● returns all invoices
● method signature GET /unpaid-invoices/full-feed

Sample request

GET /unpaid-invoices/full-feed HTTP/1.1


Host: api.b2b.nod.ro
Date: Thu, 17 Aug 2011 14:52:54 GMT
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Tue, 10 Feb 2015 16:58:53 +0000
Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml

<result>

...

<result>
<id>77c26623b8de559015410e9c264e1e1a</id>
<invoice_series>NOD</invoice_series>
<invoice_number>9000151621</invoice_number>
<date_created>2016-03-21</date_created>
<due_date>2016-04-04</due_date>
<value>227629.96</value>
<value_vat_included>227697.47</value_vat_included>
<days_due_date_exceeded>4</days_due_date_exceeded>
</result>
<result>
<id>9ef309c1983beac54c8b69d8a4b0a60d</id>
<invoice_series>NOD</invoice_series>
<invoice_number>9000151600</invoice_number>
<date_created>2016-03-02</date_created>
<due_date>2016-03-16</due_date>
<value>.00</value>
<value_vat_included>303.85</value_vat_included>
<days_due_date_exceeded>23</days_due_date_exceeded>
</result>

...

</result>

Error codes:

A list with available HTTP status codes that this method can return:
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Exchange rates

Notes:
● returns the current exchange rates
● method signature GET /exchange-rates/

Parameters:
?date ​[optional] ​a ‘YYY-mm-dd’ date for which the exchange rates are requested

Sample request

GET /exchange-rates?date=2014-07-10 HTTP/1.1


Host: api.b2b.nod.ro
Date: Tue, 26 Feb 2015 15:56:49 +0000
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Thu, 26 Feb 2015 16:01:14 GMT
Server: api.b2b.nod.ro
Content-Length: 1264
Connection: close
Content-Type: text/xml

<exchange_rates>

...

</exchange_rate>
<exchange_rate>
<rate>3.80000</rate>
<date>2016-04-08</date>
<currency>USD</currency>
<expires>2016-09-04 00:00:00.000000</expires>
<base_currency>RON</base_currency>
<number_of_decimals>5</number_of_decimals>
</exchange_rate>
<exchange_rate>
<rate>1.41370</rate>
<date>2016-04-08</date>
<currency>HUF</currency>
<expires>2016-09-04 00:00:00.000000</expires>
<base_currency>RON</base_currency>
<number_of_decimals>5</number_of_decimals>

...

</exchange_rate>
</exchange_rates>

Error codes:

A list with available HTTP status codes that this method can return:
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request
Payment Options

Get All

Notes:
● returns a list of available payment options
● method signature GET /payment-options/

Parameters:

?order_by={order_column} ​[optional] sorts results by column


?order_direction=asc|desc ​[optional] default value is ‘asc’
- Ordinary ‘GET /payment-options/’ request includes the optional parameter with the
following default values ‘​ ?order_by=added&order_direction=desc’

Sample request

GET /payment-options/?order_by=code&order_direction=asc HTTP/1.1


Host: api.b2b.nod.ro
Date: Tue, 10 Feb 2015 16:58:53 +0000
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Wed, 25 Feb 2015 09:49:32 GMT
Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml
<payment_options>

...

<payment_option>
<id>7643392b6b569135294d7f3686f79e59</id>
<code>CASH</code>
<added>2014-07-01 17:44:44.710000</added>
<description>Numarar la depozit</description>
<erp_code>E</erp_code>
</payment_option>
<payment_option>
<id>7a9d68aa0460d4798e0ebe7b42f92e88</id>
<code>OP</code>
<added>2014-05-02 09:55:42.323000</added>
<description>OP</description>
<erp_code>O</erp_code>
</payment_option>

...

</payment_options>

Error codes:

A list with available HTTP status codes that this method can return:
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Get Info

Notes:
● returns payment option by id
● method signature GET /payment-options/{payment_option_id}

Sample request
GET /payment-options/7643392b6b569135294d7f3686f79e59 HTTP/1.1
Host: api.b2b.nod.ro
Date: Thu, 17 Aug 2011 14:52:54 GMT
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Thu, 17 Aug 2011 14:52:54 GMT
Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml

<payment_option>
<id>7643392b6b569135294d7f3686f79e59</id>
<code>CASH</code>
<added>2014-07-01 18:02:16.383000</added>
<description>Numerar la depozit</description>
</payment_option>

Error codes:

A list with available HTTP status codes that this method can return:
● 404 Not Found - Payment option id not found
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Payments

Get All

Notes:
● returns a list of all payments
● method signature GET /payments/
Parameters:

?order_by={order_column} ​[optional] sorts results by column


?order_direction=asc|desc ​[optional] default value is ‘asc’
?date_start={Y-m-d}&date_end={Y-m-d} ​ [optional] interval search by date
?amount_start={value}&amount_end={value} [​ optional] interval search by amount
?source_iban ​[optional] search by iban source
?dest_iban ​[optional] search by destination iban
- Filters can be combined.

Deprecated (or obsolute) parameters:


?payment_details ​- no effect (used to search by payment details with “LIKE” rule)
?payment_method ​- no effect (used to search by payment method)
?serial_number ​- no effect (used to return a payment by the provided serial number)

Sample request

GET /payments/ HTTP/1.1


Host: api.b2b.nod.ro
Date: Tue, 10 Feb 2015 16:58:53 +0000
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Wed, 25 Feb 2015 09:49:32 GMT
Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml

<result>
<current_page>1</current_page>
<total_pages>6</total_pages>
<records_per_page>25</records_per_page>
<payments>

...

<payment>
<id>1bddc299d77a9392f990ce375b16c070</id>
<date>2015-02-25</date>
<dest_iban>RO52RNCB0088044874290002</dest_iban>
<amount>7543.7000</amount>
</payment>
<payment>
<id>72209c1c442a0212fd5d3ec2e5f87c7d</id>
<date>2015-02-24</date>
<dest_iban>RO52RNCB0088044874290002</dest_iban>
<amount>8492.9100</amount>
</payment>

...

</payments>
<totalPayments>1153704.1200</totalPayments>
</result>

Error codes:

A list with available HTTP status codes that this method can return:
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Get Info

Notes:
● returns payment by id
● method signature GET /payment/{payment_id}

Sample request

GET /payments/303ab603361a99b974b10fef2060f10f HTTP/1.1


Host: api.b2b.nod.ro
Date: Tue, 10 Feb 2015 16:58:53 +0000
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:
HTTP/1.1 200 OK
Date: Wed, 25 Feb 2015 09:49:32 GMT
Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml

<payment>
<id>0107f5093358da59dd5d90ccc8cad1a2</id>
<date>2015-01-07</date>
<dest_iban>RO52RNCB0088044874290002</dest_iban>
<amount>6000.0000</amount>
</payment>

Error codes:

A list with available HTTP status codes that this method can return:
● 404 Not Found - Payment id not found
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Full feed

Notes:
● returns list containing all payments
● method signature GET /payments/full-feed

Sample request

GET/payments/full-feed HTTP/1.1
Host: api.b2b.nod.ro
Date: Tue, 10 Feb 2015 16:58:53 +0000
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:
HTTP/1.1 200 OK
Date: Wed, 25 Feb 2015 09:49:32 GMT
Server: api.b2b.nod.ro
Content-Length: 795
Connection: close
Content-Type: text/xml

<payment>

...

<payment>
<id>0107f5093358da59dd5d90ccc8cad1a2</id>
<date>2015-01-07</date>
<dest_iban>RO52RNCB0088044874290002</dest_iban>
<amount>6000.0000</amount>
</payment>
<payment>
<id>0fb5b7c1742ffe7e8cecb7bdf07509d2</id>
<date>2015-02-06</date>
<dest_iban>RO52RNCB0088044874290002</dest_iban>
<amount>900000.0000</amount>
</payment>

...

</payment>

Error codes:

A list with available HTTP status codes that this method can return:
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Transport Options
Get All
Notes:
● returns a list of available transport options
● method signature GET /transport-options/
● The transport option called ‘SATURDAY_DELIVERY’ is available only on fridays. If you
select this option, your products will be delivered next saturday.

Parameters:
?order_by={order_column} ​ [optional] sort results by column
?order_direction=asc|desc ​[optional] default value is ‘asc’

Sample request

GET /transport-options/?order_by=code&order_direction=desc HTTP/1.1


Host: api.b2b.nod.ro
Date: Thu, 17 Aug 2011 14:52:54 GMT
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Thu, 17 Aug 2011 14:52:54 GMT
Server: api.b2b.nod.ro
Content-Length: 255
Connection: close
Content-Type: text/xml

<transport_options>
<transport_option>
<id>19bb66a5b603e44ecec179b8939516b2</id>
<code>WAREHOUSE</code>
</transport_option>
<transport_option>
<id>a91b1efbe31464910c3eab304f078f27</id>
<code>SATURDAY_DELIVERY</code>
</transport_option>
<transport_option>
<id>4739a1b3a11bd7eaee3f5cd295eebe12</id>
<code>COURIER</code>
</transport_option>
</transport_options>

Error codes:

A list with available HTTP status codes that this method can return:
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Get Info

Notes:
● returns transport option by id
● method signature GET /transport-options/{transport_option_id}

Sample request

GET /transport-options/4739a1b3a11bd7eaee3f5cd295eebe12 HTTP/1.1


Host: api.b2b.nod.ro
Date: Thu, 17 Aug 2011 14:52:54 GMT
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Thu, 17 Aug 2011 14:52:54 GMT
Server: api.b2b.nod.ro
Content-Length: 163
Connection: close
Content-Type: text/xml

<transport_option>
<id>4739a1b3a11bd7eaee3f5cd295eebe12</id>
<code>COURIER</code>
</transport_option>

Error codes:
A list with available HTTP status codes that this method can return:
● 404 Not Found - Payment option id not found
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Discount Rules

Get All

Notes:
● returns a list of discount rules
● method signature GET /discounts/

Parameters:

?manufacturer_id={manufacturer_id} ​searches for a specified manufacturer id


?product_category_id={product_category_id} s​ earches for a specified category id
?page={current_page} ​displays a certain page
?order_by={order_column} ​[optional] sorts results by column
?order_direction=asc|desc ​[optional] default value is ‘asc’

Sample request

GET /discounts/ HTTP/1.1


Host: api.b2b.nod.ro
Date: Thu, 17 Aug 2011 14:52:54 GMT
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:

HTTP/1.1 200 OK
Date: Thu, 17 Aug 2011 14:52:54 GMT
Server: api.b2b.nod.ro
Content-Length: 836
Connection: close
Content-Type: text/xml

<result>
<current_page>1</current_page>
<total_pages>1</total_pages>
<records_per_page>25</records_per_page>
<discounts>

...

<discount>
<manufacturer_id>
1c16291f7b7c8fc4c84952ddbd6bf992
</manufacturer_id>
<manufacturer_name>NINTENDO</manufacturer_name>
<product_category_id>
7fb436b21bad010ccbea79ad3dad5c34
</product_category_id>
<product_category_name>
GAMING CONSOLES
</product_category_name>
<discount>3.50</discount>
</discount>
<discount>
<manufacturer_id>
54c90b077ccfc2a2b91f1334febdbe37
</manufacturer_id>
<manufacturer_name>CANON</manufacturer_name>
<product_category_id>
f976854e33532913dc598a1b3bba33e2
</product_category_id>
<product_category_name>
FOTO VIDEO
</product_category_name>
<discount>2.00</discount>
</discount>

...

</discounts>
</result>
Error codes:

A list with available HTTP status codes that this method can return:
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request

Products Filters

Get All

Notes:
● This method return the product filters and manufacturers
● Method signature GET /products-filters

Parameters:
● ?category={category_id} ​[optional] returns product filters and manufacturers for a
specified category
● ?filters={array of product properties} [optional] return the products filters by the specified
​ ust​ be combined with category parameter.
properties. This filter m

Sample request:

GET /products-filters/?category=23&filters[Buffer][]=64MB HTTP/1.1


Date: Mon, 02 Mar 2015 13:28:17 GMT
X-NodWS-User: zitec
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833=
X-NodWS-Accept: xml
Host: api.b2b.nod.ro

Sample response

HTTP/1.1 200 OK
Content-Type: text/xml
Server: api.b2b.nod.ro
X-Powered-By: PHP/5.3.28
Date: Fri, 08 Aug 2014 13:51:58 GMT
Content-Length: 1743

<filters>
<Buffer>
<Buffer>
<value>64MB</value>
<products>3</products>
</Buffer>
</Buffer>
<HDD-Capacity>
<HDD-Capacity>
<value>501GB-1TB</value>
<products>1</products>
</HDD-Capacity>
<HDD-Capacity>
<value>≤500GB</value>
<products>2</products>
</HDD-Capacity>
</HDD-Capacity>
<HDD-Interface>
<HDD-Interface>
<value>SATA3</value>
<products>3</products>
</HDD-Interface>
</HDD-Interface>
<Hybrid-SSHD>
<Hybrid-SSHD>
<value>Yes</value>
<products>3</products>
</Hybrid-SSHD>
</Hybrid-SSHD>
<manufacturers>
<manufacturer>
<id>9bdea78b0abb8598d767d0a5f585f5f1</id>
<name>SEAGATE</name>
<added>2014-06-27 17:32:46.663</added>
<products>3</products>
</manufacturer>
</manufacturers>
</filters>

Error codes:

A list with available HTTP status codes that this method can return:
● 500 Internal Server Error - The server encountered an unexpected condition which
prevented it from fulfilling the request.
Counties

Get All

Notes:
● Returns a list of counties
● Method signature GET /counties

Sample request:
GET /counties HTTP/1.1
Host: api.b2b.nod.ro
Date: Tue, 10 Feb 2015 16:58:53 +0000
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:
HTTP/1.1 200 OK
Date: Wed, 25 Feb 2015 09:49:32 GMT
Content-Type: text/xml

<counties>

...

<county>Arges</county>
<county>Bacau</county>
<county>Bihor</county>
<county>Bistrita-Nasaud</county>
<county>Botosani</county>
<county>Braila</county>
<county>Brasov</county>
<county>Bucuresti</county>

...
</counties>

Error codes:
A list of available error codes that this method returns:
● 500 Internal server error

Countries
Get All
Notes:
● Returns a list of countries
● Method signature GET /countries

Sample request:
GET /countries HTTP/1.1
Host: api.b2b.nod.ro
Date: Tue, 10 Feb 2015 16:58:53 +0000
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:
HTTP/1.1 200 OK
Date: Wed, 25 Feb 2015 09:49:32 GMT
Content-Type: text/xml

<countries>

...

<country>Utd.Arab Emir.</country>
<country>Afghanistan</country>
<country>Antigua\/Barbuda</country>
<country>Anguilla</country>
<country>Albania</country>
<country>Armenia</country>
<country>Angola</country>

...
</countries>

Error codes:
A list of available error codes that this method returns:
● 500 Internal server error

Credit limit

Get Info

Notes:
● returns the total credit limit and the remaining credit
● required field: ​amount -​ the value of a purchase
● method signature: GET /credit-limit?amount={amount}

Sample request:
GET /credit-limit?amount=14 HTTP/1.1
Host: api.b2b.nod.ro
Date: Tue, 10 Feb 2015 16:58:53 +0000
X-NodWS-User: zitec
X-NodWS-Accept: xml
X-NodWS-Auth: 90a6d325e982f764f86a7e248edf6a660d4ee833

Sample response:
HTTP/1.1 200 OK
Date: Wed, 25 Feb 2015 09:49:32 GMT
Content-Type: text/xml

<credit-limit>
<total>20000000.0</total>
<remaining>8198187.21</remaining>
</credit-limit>

Error codes:

A list of available error codes that this method returns:


● 500 Internal server error
● 404 Not Found - the requested amount was not found
● 400 Bad Request - the value of the amount parameter is not a numerical value

You might also like