Home > DISTRIBUTION > Orders > How to sync your catalog and webshop orders via API

How to sync your catalog and webshop orders via API

Use the Webshop API in details to (1) expose your catalog to a webshop and (2) push webshop orders into details for stock, invoicing, and reporting.

Important: The endpoints and keys below are examples. Replace placeholders like {API_KEY}, {ACCOUNT_ID}, etc. with your actual credentials and IDs. Keep your API key secret.

OVERVIEW

  • Catalog → Webshop (GET): Provide Labels, Releases, Products, and Tracks as JSON feeds.
  • Webshop → details (PUSH): Create orders in details via a parameterized request.

Catalog export (GET endpoints)

Expose your catalog to the webshop via these read-only endpoints. The response format is JSON.

Labels

https://api.berlin3.com/api/noton/?action=labels&api_key={API_KEY}

Releases

https://api.berlin3.com/api/noton/?action=releases&api_key={API_KEY}

Products

https://api.berlin3.com/api/noton/?action=products&api_key={API_KEY}

Tracks

https://api.berlin3.com/api/noton/?action=tracks&api_key={API_KEY}

Receive webshop orders (PUSH)

Create an order in details by calling the addOrder endpoint with URL parameters.

Endpoint

https://api.berlin3.com/api/noton/?action=addOrder&api_key={API_KEY}&account_id={ACCOUNT_ID}&invoice_project_id={INVOICE_PROJECT_ID}&webshop_order_id={SHOP_ORDER_NO}&internal_notes={NOTES}&order_date={YYYY-MM-DD}&order_type={ORDER_TYPE}&status={STATUS}&payment_method_id={PAYMENT_METHOD_ID}&currency_id={CURRENCY_ID}&vat_handling={VAT_MODE}&customer_no={CUSTOMER_NO}&email1={EMAIL}&company_name={COMPANY}&last_name={LAST_NAME}&address1={ADDRESS1}&city={CITY}&postalcode={POSTALCODE}&region={REGION}&country={COUNTRY}&order_source={ORDER_SOURCE}&contra_account_id={CONTRA_ACCOUNT_ID}&deliver_address_type=Address&deliver_name={DELIVER_NAME}&deliver_company={DELIVER_COMPANY}&deliver_address1={DELIVER_ADDRESS1}&deliver_city={DELIVER_CITY}&deliver_postalcode={DELIVER_POSTALCODE}&deliver_country={DELIVER_COUNTRY}&shipping_costs={SHIPPING}&order_value={ORDER_VALUE}&orderLines={PRODUCT_UUID}|{QTY}|{PPU}|1[&orderLines=...]

Tip: You can repeat orderLines multiple times to add more items.

Parameter reference

Parameter Description Example
api_key Your authentication token {API_KEY}
account_id Distribution account to book against {ACCOUNT_ID}
invoice_project_id Invoice project used for the order {INVOICE_PROJECT_ID}
order_type Order type identifier 1
status Initial order status open
payment_method_id Payment method (see table below) 1
currency_id Currency identifier 1
vat_handling VAT mode (1=including VAT, 3=no VAT) 1
orderLines One line per product: product_uuid|QTY|PPU|1 ab12cd...|2|12.00|1

Payment methods

ID Name
1 CREDIT CARD
2 SEPA LASTSCHRIFT
3 PAYPAL
4 BARZAHLUNG
5 VORKASSE

Order lines format

Each orderLines parameter represents one item in the order with the following pipe-separated format:

orderLines={PRODUCT_UUID}|{QTY}|{PPU}|1
  • {PRODUCT_UUID} the product UUID (fetch via the Products API).
  • {QTY} quantity.
  • {PPU} price per unit (net or gross depending on vat_handling).
  • 1 reserved constant.

VAT handling

vat_handling accepts these values:

  • 1 including VAT
  • 3 no VAT