Order Resource
Content
Attention
Order resources are read-only by default. Please contact us for access.
Order Statuses
Order Status |
English |
German |
---|---|---|
open |
new order |
Neue Bestellung |
in_progress |
in progress, started processing |
Bearbeitung begonnen |
cancelled |
order was cancelled |
Bestellung storniert |
closed |
order is sent and paid |
Versandt und bezahlt |
returned |
order was returned to seller |
Bestellung zurückgegeben |
Get Orders
GET /api/orders.json
- GET /api/orders.json will return the first 150 (default limit) orders. You can increase the limit to a maximum of 250 orders. See the Filter Orders endpoint for more info.
Example:
$ curl -s \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -u APP_API_KEY:APP_API_PASSWORD \ -X GET \Status: 200 OK https://shop_subdomain.versacommerce.de/api/orders.json
Status: 200 OK [ { "order": { "bank_account_bank_code": null, "bank_account_bank_name": null, "bank_account_name": null, "bank_account_number": null, "checkout_locale": "de", "code": "196-083-565", "coupon_code": null, "coupon_value": "0.0", "created_at": "2013-03-19T12 =>39 =>51+01 =>00", "currency": "€", "customer_email": "support@versacommerce.de", "customer_id": 1000, "discount_total": "0.0", "external_invoicing_id": null, "id": 100, "item_total": "8.49", "items_count": 1, "items_status": "undelivered", "note": "Lorem ipsum dolor sit amet...", "payment_cost": "2.5", "payment_status": "not_paid", "payment_tax_rate": 19, "payment_type": "cod", "payments_count": 0, "prices_include_tax": true, "reduced_tax_amount": "0.0", "reduced_tax_rate": 7, "reduced_tax_total": "0.0", "referrer": "/", "shipments_count": 0, "shipping_cost": "4.95", "shop_id": 953, "source": null, "standard_tax_amount": "2.55", "standard_tax_rate": 19, "standard_tax_total": "15.94", "status": "canceled", "subtotal": "15.94", "total": "15.94", "weight_total": 0, "shipping_address": { "category": "shipping", "city": "Welver", "company": "VersaCommerce", "country": "DE", "customer_id": 1000, "email": "support@versacommerce.de", "extension": "", "firstname": "Eduard", "id": 10000, "lastname": "Siebert", "locked": true, "option_01": "", "option_02": "", "option_03": "", "order_id": 100, "phone": "+49 511 1659 800", "state": "unbekannt", "street": "Zwischen Den Hölzern", "streetnumber": "1a", "title": "Herr", "zipcode": "59514" }, "billing_address": { "category": "billing", "city": "Welver", "company": "VersaCommerce", "country": "DE", "customer_id": 1000, "email": "support@versacommerce.de", "extension": "", "firstname": "Eduard", "id": 10001, "lastname": "Siebert", "locked": true, "option_01": "", "option_02": "", "option_03": "", "order_id": 100, "phone": "+49 511 1659 800", "state": "unbekannt", "street": "Zwischen Den Hölzern", "streetnumber": "1a", "title": "Herr", "zipcode": "59514" }, "customer": { "accepts_newsletter": false, "account_confirmation_sent": false, "active": true, "birthday": null, "created_on": "2012-11-09", "email": "support@versacommerce.de", "id": 1000, "note": null, "option_01": "", "option_02": "", "option_03": "", "option_04": "", "registered": true, "shop_id": 953, "updated_on": "2012-11-09" } } }, { "order": { "bank_account_bank_code": null, "bank_account_bank_name": null, "bank_account_name": null, "bank_account_number": null, "checkout_locale": "de", "code": "196-083-545", "coupon_code": null, "coupon_value": "0.0", "created_at": "2013-03-19T12 =>41 =>47+01 =>00", "currency": "€", "customer_email": "siebert@versacommerce.de", "customer_id": 11461, "discount_total": "0.0", "external_invoicing_id": null, "id": 101, "item_total": "90.0", "items_count": 1, "items_status": "undelivered", "note": "Lorem ipsum dolor sit amet...", "payment_cost": "2.5", "payment_status": "not_paid", "payment_tax_rate": 19, "payment_type": "cod", "payments_count": 0, "prices_include_tax": true, "reduced_tax_amount": "0.0", "reduced_tax_rate": 7, "reduced_tax_total": "0.0", "referrer": "/", "shipments_count": 0, "shipping_cost": "4.95", "shop_id": 953, "source": null, "standard_tax_amount": "15.56", "standard_tax_rate": 19, "standard_tax_total": "97.45", "status": "canceled", "subtotal": "97.45", "total": "97.45", "weight_total": 0, "shipping_address": { "category": "shipping", "city": "Welver", "company": "VersaCommerce", "country": "DE", "customer_id": 1000, "email": "support@versacommerce.de", "extension": "", "firstname": "Eduard", "id": 10002, "lastname": "Siebert", "locked": true, "option_01": "", "option_02": "", "option_03": "", "order_id": 101, "phone": "+49 511 1659 800", "state": "unbekannt", "street": "Zwischen Den Hölzern", "streetnumber": "1a", "title": "Herr", "zipcode": "59514" }, "billing_address": { "category": "billing", "city": "Welver", "company": "VersaCommerce", "country": "DE", "customer_id": 1000, "email": "support@versacommerce.de", "extension": "", "firstname": "Eduard", "id": 10003, "lastname": "Siebert", "locked": true, "option_01": "", "option_02": "", "option_03": "", "order_id": 101, "phone": "+49 511 1659 800", "state": "unbekannt", "street": "Zwischen Den Hölzern", "streetnumber": "1a", "title": "Herr", "zipcode": "59514" }, "customer": { "accepts_newsletter": false, "account_confirmation_sent": false, "active": true, "birthday": null, "created_on": "2012-11-09", "email": "support@versacommerce.de", "id": 1000, "note": null, "option_01": "", "option_02": "", "option_03": "", "option_04": "", "registered": true, "shop_id": 953, "updated_on": "2012-11-09" } } } ]
Get Order
GET /api/orders/:order_id.json
- GET /api/orders/:order_id.json will return the specified order.
Example:
$ curl -s \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -u APP_API_KEY:APP_API_PASSWORD \ -X GET \ https://shop_subdomain.versacommerce.de/api/orders/:order_id.json
Status: 200 OK { "order": { "bank_account_bank_code": null, "bank_account_bank_name": null, "bank_account_name": null, "bank_account_number": null, "checkout_locale": "de", "code": "196-083-565", "coupon_code": null, "coupon_value": "0.0", "created_at": "2013-03-19T12 =>39 =>51+01 =>00", "currency": "€", "customer_email": "support@versacommerce.de", "customer_id": 1000, "discount_total": "0.0", "external_invoicing_id": null, "id": 100, "item_total": "8.49", "items_count": 1, "items_status": "undelivered", "note": "Lorem ipsum dolor sit amet...", "payment_cost": "2.5", "payment_status": "not_paid", "payment_tax_rate": 19, "payment_type": "cod", "payments_count": 0, "prices_include_tax": true, "reduced_tax_amount": "0.0", "reduced_tax_rate": 7, "reduced_tax_total": "0.0", "referrer": "/", "shipments_count": 0, "shipping_cost": "4.95", "shop_id": 953, "source": null, "standard_tax_amount": "2.55", "standard_tax_rate": 19, "standard_tax_total": "15.94", "status": "canceled", "subtotal": "15.94", "total": "15.94", "weight_total": 0, "shipping_address": { "category": "shipping", "city": "Welver", "company": "VersaCommerce", "country": "DE", "customer_id": 1000, "email": "support@versacommerce.de", "extension": "", "firstname": "Eduard", "id": 10000, "lastname": "Siebert", "locked": true, "option_01": "", "option_02": "", "option_03": "", "order_id": 100, "phone": "+49 511 1659 800", "state": "unbekannt", "street": "Zwischen Den Hölzern", "streetnumber": "1a", "title": "Herr", "zipcode": "59514" }, "billing_address": { "category": "billing", "city": "Welver", "company": "VersaCommerce", "country": "DE", "customer_id": 1000, "email": "support@versacommerce.de", "extension": "", "firstname": "Eduard", "id": 10001, "lastname": "Siebert", "locked": true, "option_01": "", "option_02": "", "option_03": "", "order_id": 100, "phone": "+49 511 1659 800", "state": "unbekannt", "street": "Zwischen Den Hölzern", "streetnumber": "1a", "title": "Herr", "zipcode": "59514" }, "customer": { "accepts_newsletter": false, "account_confirmation_sent": false, "active": true, "birthday": null, "created_on": "2012-11-09", "email": "support@versacommerce.de", "id": 1000, "note": null, "option_01": "", "option_02": "", "option_03": "", "option_04": "", "registered": true, "shop_id": 953, "updated_on": "2012-11-09" } } }
Get Orders Count
GET /api/orders/count.json
- GET /api/orders/count.json will return the orders count.
Example:
$ curl -s \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -u APP_API_KEY:APP_API_PASSWORD \ -X GET \ https://shop_subdomain.versacommerce.de/api/orders/count.json
Status: 200 OK { "count": 117 }
Filter Orders
GET /api/orders.json?filter_name1=filter_value1&filter_name2=filter_value2
- GET /api/orders.json?filter_name_1=filter_value_1&filter_name_2=filter_value_2 will return a filtered list of orders. See the Get Orders endpoint for more info about the output.
Available Filters and Options
Filter-/Optionname | Description | Type | Parameter |
---|---|---|---|
limit | The amount of results, defaults to 150, maximum are 250 | Integer | limit=10 |
offset | The amount of results to omit | Integer | offset=10 |
include | Include one or more order associations (format: items, shipments, payments, histories, …) | String | include=items |
coupon_value | Filter by coupon_value | String | coupon_value=10.0 |
code | Filter by order number (Order number is unique, so the result is always a single order) | String | code=012-345-678 |
items_status | Filter by items_status | String | items_status=undelivered |
status | Filter by order status | String | status=open |
payment_status | Filter by payment_status | String | payment_status=not_paid |
payment_type | Filter by payment_type | String | payment_type=cod |
shipping_type | Filter by shipping_type | String | shipping_type= shipping_type |
external_invoicing_id | Filter by external_invoicing_id | String | external_invoicing_id=q1 |
note | Filter by note | String | note=content |
subtotal | Filter by subtotal | BigDecimal | subtotal=100.0 |
total | Filter by total | BigDecimal | total=100.0 |
id_min | Filter orders by the minimum id | Integer | id_min=10 |
id_max | Filter orders by the maximum id | Integer | id_max=10 |
total_min | Filter orders by the minimum total | BigDecimal | total_min=100.0 |
total_max | Filter orders by the maximum total | BigDecimal | total_max=100.0 |
coupon_value_min | Filter orders by the minimum coupon value | BigDecimal | coupon_value_min=10.0 |
coupon_value_max | Filter orders by the maximum coupon value | BigDecimal | coupon_value_max=10.0 |
created_at_min | Filter to show orders created after date | DateTime | created_at_min= 2019-12-31 |
created_at_max | Filter to show orders created before date | DateTime | created_at_max= 2019-12-31 |
- GET /api/orders.json?include=items will return all orders and order items (nested). See the Get Orders endpoint for more info about the output.
Example:
Example: $ curl -s \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -u APP_API_KEY:APP_API_PASSWORD \ -X GET \ https://shop_subdomain.versacommerce.de/api/orders.json?include=items
Status: 200 OK [ { "order": { "code": "199-187-329", "id": 100, "items_count": 2, ... "items": [{ "id": 1000, "order_id": 100, "product_id": 10000, "quantity": 5, ... }, { "id": 1001, "order_id": 100, "product_id": 10001, "quantity": 1, ... } ], ... } }, { "order": { "code": "199-267-382", "id": 101, "items_count": 2, ... "items": [{ "id": 1002, "order_id": 101, "product_id": 10002, "quantity": 2, ... }, { "id": 1003, "order_id": 101, "product_id": 10003, "quantity": 7, ... }, { "id": 1004, "order_id": 101, "product_id": 10004, "quantity": 1, ... } ], ... } }, ... ]
Create Order
POST /api/orders.json
- POST /api/orders.json will create a new Order from the parameters passed.
Example:
$ curl -s \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -u APP_API_KEY:APP_API_PASSWORD \ -X POST \ -d \ '{ "order": { "payment_type": "misc", "payment_cost": 0.0, "item_total": 0.0, "total": 0.0, "subtotal": 0.0, "weight_total": 1.0, "shipping_cost": 1.0, "items": [{ "product_id": 1, "quantity": 1, }], "billing_address": { "firstname": "my firstname", "lastname": "my lastname", "street": "my street", "streetnumber": 1, "zipcode": 12345, "city": "Hannover"}, "shipping_address": { "firstname": "my firstname", "lastname": "my lastname", "street": "mystreet", "streetnumber": 1, "zipcode": 12345, "city": "Hannover" }}} ' \ https://shop_subdomain.versacommerce.de/api/orders.json
Status: 201 Created { "payment_type": "misc", "payment_cost": 0.0, "item_total": 0.0, "total": 0.0, "subtotal": 0.0, "weight_total": 1.0, "shipping_cost": 1.0, "items": [{ "product_id": 1, "code": 1, "quantity": 1, "title": "my order", "price": 1, "status": "shipped", "weight": 1, "tax_rate": 1, "origin_id": 1 }] }
Possible Parameter for POST /api/orders.json
# Required attributes / Benötigte Attribute:
order[payment_type] = 'misc' # Zahlungsart (über die API i.d.R. 'misc') (Pflicht) order[payment_cost] = 0.00 # Kosten für die Zahlungsart (Pflicht, kann aber 0.0 sein) order[item_total] = 0.00 # Summe vom Warenwert order[total] = 0.00 # Gesamtpreis order[subtotal] = 0.00 # Zwischensumme order[weight_total] = 0.00 # Summe des Gewichts order[shipping_cost] = 0.00 # Versandkosten
# An Order must at least contain one item with the following attributes:
order[items][][product_id] = 12345 # Position: VersaCommerce Product ID order[items][][quantity] = 3 # Position: Anzahl
# An Order must contain a billing address with the following attributes:
order[shipping_address][firstname] = '...' # Lieferadresse: Vorname order[shipping_address][lastname] = '...' # Lieferadresse: Nachname order[shipping_address][street] = '...' # Lieferadresse: Straße order[shipping_address][streetnumber] = '...' # Lieferadresse: Hausnummer order[shipping_address][zipcode] = '...' # Lieferadresse: PLZ order[shipping_address][city] = '...' # Lieferadresse: Stadt order[billing_address][firstname] = '...' # Rechnungsadresse: Vorname order[billing_address][lastname] = '...' # Rechnungsadresse: Nachname order[billing_address][street] = '...' # Rechnungsadresse: Straße order[billing_address][streetnumber] = '...' # Rechnungsadresse: Hausnummer order[billing_address][zipcode] = '...' # Rechnungsadresse: PLZ order[billing_address][city] = '...' # Rechnungsadresse: Stadt
# Optional Attributes / Ab hier sind alle Angaben optional:
order[coupon_code] = '...' # Coupon- / Gutschein-Code order[coupon_value] = 0.0 # Wert des Coupons order[standard_tax_total] = 15.99 # Summer der Steuern (Haupsteuersatz) (Warenwert, Versandkostensplit, etc.) order[standard_tax_amount] = 12.99 # Summer der Steuern (Haupsteuersatz) (Warenwert) order[reduced_tax_total] = 15.99 # Summer der Steuern (reduzierter Steuersazu) (Warenwert, Versandkostensplit, etc.) order[reduced_tax_amount] = 12.99 # Summer der Steuern (reduzierter Steuersazu) (Warenwert) order[note] = '...' # Notiz (z.B. aus dem Warenkorb) order[source] = '...' # Affiliate order[referrer] = '...' # order[origin_name] = '...' # Name der Bestellquelle (z.B. amazon) order[origin_id] = '...' # ID der Bestellquelle ('1234-123435-124243') order[customer_id] = 123 # VersaCommerce Kunden ID order[created_at] = '2016-09-09 12:32' # Bestelldatum
# Optionale Attribute aus der Bestellquelle:
order[origin_custom_fields][my_custom_attrib_1] = 'Lorem ipsum ...' order[origin_custom_fields][my_custom_attrib_2] = 'dolor sit ...' ... order[items][][code] = '...' # Position: Artikelnummer / EAN order[items][][subtitle] = '...' # Position: Untertitel order[items][][title] = '...' # Position: Titel order[items][][weight] = 0.0 # Position: Gewicht in kg order[items][][price] = 10.99 # Position: Einzelpreis order[items][][status] = '...' # Position: Status ('backorder', 'canceled', 'delivered', 'packing', 'partial_delivery', 'partial_packing', 'returned', 'shipped', 'undelivered') order[items][][length] = 0.0 # Position: Länge in cm order[items][][width] = 0.0 # Position: Breite in cm order[items][][height] = 0.0 # Position: Höhe in cm order[items][][extra_price] = 0.0 # Position: Extra Preis für diese Position order[items][][category] = '...' # Position: Kategorie order[items][][tax_rate] = 19.0 # Position: Steuersatz order[items][][tax_category] = '...' # Position: Steuertyp ('standard' / 'reduced') order[items][][discount_type] = '...' # Position: Rabatt-Typ ('money' / 'percent') order[items][][discount] = 0.0 # Position: Rabatt-Wert (Wert oder Prozentwert) order[items][][vendor] = '...' # Position: Hersteller order[items][][options] = {} # Position: Optinale Attribute order[items][][origin_id] = '...' # Position: Original ID (Quellsystem) order[items][][asin] = '...' # Position: Amazon Standard Identification Number
# Zahlungen als Array:
order[payments][][category] = 'misc' # Zahlungen: Über die API i.d.R. 'misc' order[payments][][amount] = 123.45 # Zahlungen: Betrag order[payments][][currency] = 'EUR' # Zahlungen: Währung (ISO 4217) order[payments][][comment] = 'Freitext ...' # Zahlungen: Sofortüberweisung.de order[payments][][trans_id] = '' # Zahlungen: Transaktions ID (wenn vorhanden)
# Bestellhistories als Array:
order[histories][] = 'Notiz 1' order[histories][] = 'Notiz 2'
# Die Adress- und Kundendaten sind alle optional (#POS) sollten aber natürlich befüllt werden.
order[customer][email] = '...' # Kundendaten: E-Mail Adresse des Kunden order[customer][birthday] = '1970-01-01' # Kundendaten: Geburtsdatum order[customer][active] = true # Kundendaten: Aktiv (true/false) order[customer][accepts_newsletter] = true # Kundendaten: Newsletterzustimmung (true/false) order[customer][wants_account] = true # Kundendaten: Kundenkonto erstellen (true/false) order[customer][note] = '...' # Kundendaten: Notiz order[customer][option_01] = '...' # Kundendaten: Feld für weitere Angaben order[customer][option_02] = '...' # Kundendaten: Feld für weitere Angaben order[customer][option_03] = '...' # Kundendaten: Feld für weitere Angaben order[customer][option_04] = '...' # Kundendaten: Feld für weitere Angaben order[billing_address][title] = '...' # Rechnungsadresse: Titel order[billing_address][extension] = '...' # Rechnungsadresse: Adresszusatz order[billing_address][state] = '...' # Rechnungsadresse: Bundesland oder Staat (US) order[billing_address][country] = '...' # Rechnungsadresse: Land (ISO 3166-1 alpha-2) order[billing_address][company] = '...' # Rechnungsadresse: Firma order[billing_address][phone] = '...' # Rechnungsadresse: Telefonnummer order[billing_address][option_01] = '...' # Rechnungsadresse: Feld für weitere Angaben order[billing_address][option_02] = '...' # Rechnungsadresse: Feld für weitere Angaben order[billing_address][option_03] = '...' # Rechnungsadresse: Feld für weitere Angaben order[shipping_address][title] = '...' # Lieferadresse: Titel order[shipping_address][extension] = '...' # Lieferadresse: Adresszusatz order[shipping_address][state] = '...' # Lieferadresse: Bundesland oder Staat (US) order[shipping_address][country] = '...' # Lieferadresse: Land (ISO 3166-1 alpha-2) order[shipping_address][company] = '...' # Lieferadresse: Firma order[shipping_address][phone] = '...' # Lieferadresse: Telefonnummer order[shipping_address][option_01] = '...' # Lieferadresse: Feld für weitere Angaben order[shipping_address][option_02] = '...' # Lieferadresse: Feld für weitere Angaben order[shipping_address][option_03] = '...' # Lieferadresse: Feld für weitere Angaben order[new_status] = '...' # Bestellstatus ('canceled', 'closed', 'in_progress', 'open', 'open_or_in_progress', 'returned') order[new_payment_status] = '...' # Bezahlstatus ('capture_error', 'captured', 'declined', 'not_paid', 'overpaid', 'paid', 'partial_payment', 'reserved') order[items_status] = '...' # Itemsstatus ('backorder', 'canceled', 'delivered', 'packing', 'partial_delivery', 'partial_packing', 'returned', 'shipped', 'undelivered')