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')
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.