Skip to content
Permalink
master
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time
---
parent: smart_cart
title: webhook
---
<%= partial 'partials/page_locales' %>
# Webhook <%= edit_link %>
> <i class="fa fa-exclamation-triangle"></i>
> **Important update:** From 5/7/2021 onwards, more order state updates will be sent via Webhook requests. [Read more](/smart_cart/webhook#webhook-events)
Smart Cart webhook allows Skroutz Merchants to automatically receive order details to their
platform when a new Smart Cart order is placed or an existing one is updated.
You may find a high level overview of the service and descriptive guides for its activation in the
[merchant support guidelines](https://<%= settings.merchants_domain %>/merchants/support/guidelines/skroutz_marketplace_integration).
<%= partial 'partials/toc' %>
## Setup
In order to be able to use the webhook, a **webhook URL** should be registered
by the merchant from within
[Smart Cart settings](https://<%= settings.merchants_domain %>/merchants/account/shop/ecommerce_details)
page in merchant's panel (Merchants > Υπηρεσίες > [Έξυπνο Καλάθι](https://<%= settings.merchants_domain %>/merchants/account/shop/ecommerce_details)).
> <i class="fa fa-exclamation-triangle"></i>
> The **webhook URL should match the shop's domain** and it should follow secure **HTTP (HTTPS)**
##### Webhook URL example
Shop URL | Webhook URL
-------- | ----------
`https://shop.gr` | `https://shop.gr/smart_cart_orders`
## Webhook requests
> <i class="fa fa-exclamation-triangle"></i>
> Requests to your endpoints will always originate from IP addresses within Skroutz's address space <strong>185.6.76.0/22 2a03:e40::/32</strong>
An HTTP `POST` request is sent to the predefined webhook URL once an event has been triggered.
### Handling failures / retries
Any failed request (including server timeouts or non -`200` responses) would be **retried automatically**
within the next 20 minutes. There is a retry limit of 4 requests in total for every order/event.
The merchant can also trigger sending (or retrying the latest) an **order webhook request** at any time from within
the order page.
The expected request payload would be the same in both scenarios.
### The anatomy of a request
##### Request
<pre class="terminal">
POST {webhook_url}
</pre>
##### Request headers
Header | Value
-------------- | -----
`Content-Type` | `application/json; charset=utf-8`
`User-Agent` | `Skroutz OrderNotifier v1`
##### Expected request response
<pre class="terminal">
200
</pre>
## Webhook events
The available webhook events for which a request is performed are:
* **new order** events
* **order update** events
### New order
A **new order** webhook request is triggered upon the placement of a new order.
### Order updates
An **order update** event is triggered upon the update of an order. As of right now, an update
event notification is sent for the following cases:
* When an order is **cancelled** (either by the user or our support team).
* When an order is **extended** (allowing more time to handle the order).
* When an order's courier voucher is **created** (for the associated shipment).
* **From 5/7/2021 onwards**: When an order's **[state](/smart_cart/orders_api#order-object-attributes-appendix) is changed** (either by user, our support team, or the merchant)
#### Request payload
Name | Type | Value | Description
-------------- | ------ | ----- | ------------------
`event_type` | String | `new_order`, `order_updated`| Order event type
`event_time` | Date String in format<br> `YYYY-MM-DDTHH:MM:SS+HH:M` | | Event creation time
`order` | Object | | [Order details](#order-object)
`changes` | Object | | [Order changes with old and new values (optional)](#order-changes-object)
#### Order changes object
Name | Type | Value | Description
-------------- | ------ | ----- | -------------
`state` | Object | `{ "old": "open", "new": "cancelled" }` | The state changed values (optional)
`expires_at` | Object | `{ "old": "2019-11-02T13:15:43+02:00", "new": "2019-11-04T13:15:00+02:00" }` | The order's current expiration time changes (optional)
`dispatch_until` | Object | `{ "old": "2019-11-03T12:00:00+02:00", "new": "2019-11-04T18:00:00+02:00" }` | The order's current time until dispatching changes (optional)
`courier_voucher` | Object | `{ "old": null, "new": "https://b.scdn.gr/path-to/voucher.pdf" }` | The order's shipment courier voucher URL (optional)
`courier_tracking_codes` | Object | `{ "old": [], "new": ["123456789"] }` | The order's shipment courier tracking codes (optional)
> The order object included in webhook payload is the sames as the one when
> retrieving a single order via the [orders API](/smart_cart/orders_api).
<%= partial 'localizable/smart_cart/order_object' %>
## Test requests (sandbox)
For [demo orders](/smart_cart/orders_api/#test-requests-sandbox), separate **API endpoints** are available to **trigger different
kinds of Webhook requests** for testing. In the following examples, `:code` should be replaced with one of the following values:
- `DEMO-OPEN`
- `DEMO-ACCEPTED`
- `DEMO-REJECTED`
- `DEMO-INVOICE`
- `DEMO-INVOICE39A`
- `DEMO-FBS`
An order creation or order update event should be received at the webhook url of the shop, depending on the request action.
Sending any of the following requests should request in a successful response (`200 OK`):
<pre class="terminal">
{
"success": true
}
</pre>
> Note: Demo webhook requests are not executed instantly, so they may take from a few seconds up to a few minutes to be processed and sent.
> After getting a successful response (200 OK), you would just have to wait a bit, before trying another one.
> All requests will be sent to the live Webhook URL that is already set-up in the Merchants panel for your shop.
#### New order
This sends a Webhook request payload just like if the order is new, with `"event_type": "new_order"`.
<pre class="terminal">
POST /merchants/ecommerce/orders/:code/trigger_webhook_request/creation
</pre>
#### Courier voucher issued
This sends a Webhook request payload just like if the order was updated with a PDF voucher
file, with `"event_type": “order_updated”`.
<pre class="terminal">
POST /merchants/ecommerce/orders/:code/trigger_webhook_request/voucher_update
</pre>
#### Order extended
This sends a Webhook request payload just like if the order acceptance period was extended by Skroutz support,
with `"event_type": “order_updated”`.
<pre class="terminal">
POST /merchants/ecommerce/orders/:code/trigger_webhook_request/extension
</pre>
#### Order cancelled
Would send a Webhook request payload just like if the order was cancelled by the user, with
`"event_type": “order_updated”`.
<pre class="terminal">
POST /merchants/ecommerce/orders/:code/trigger_webhook_request/cancellation
</pre>
## Payload Examples
#### Example 1
~~~ json
{
"event_type": "new_order",
"event_time": "2019-11-28T13:24:37+02:00",
"order": {
"code": "191029-5130474",
"state": "open",
"customer": {
"id": "PA4oqvpz8x",
"first_name": "John",
"last_name": "Doe",
"address":{
"street_name":"Πανεπιστημίου",
"street_number":"4",
"zip":"12345",
"city":"Αθήνα",
"region":"Αττικής",
"pickup_from_collection_point": false
}
},
"invoice": false,
"comments": "Παράδοση στο γραφείο",
"courier": "ACS",
"courier_voucher": null,
"courier_tracking_codes": [],
"line_items": [
{
"id": "l39vKqxqwe",
"shop_uid": "100",
"product_name": "L'Oreal Professionel Salon Steam Pod V2 White",
"quantity": 2,
"unit_price": 10.40,
"total_price": 20.80,
"price_includes_vat": true,
"island_vat_discount_applied": false,
"ean": "1234567890123",
"serial_numbers": null
},
{
"id": "l39vKqxqh2",
"shop_uid": "10",
"product_name": "Paul Mitchell Ultimate Color Repair 200ml",
"quantity": 1,
"unit_price": 25,
"total_price": 25,
"price_includes_vat": true,
"island_vat_discount_applied": false,
"serial_numbers": null
}
],
"created_at": "2019-11-28T13:24:37+02:00",
"expires_at": "2019-12-04T10:24:00+02:00",
"dispatch_until": "2019-12-04T18:00:00+02:00",
"express": false,
"gift_wrap": false,
"fulfilled_by_skroutz": false,
"accept_options": {
"number_of_parcels": [
1
],
"pickup_location": [
{
"id": "YlpD0KROym",
"label": "Πανεπιστημίου 2, Τ.Κ. 12345, Αθήνα, Αττική"
},
{
"id": "onpL6DXG4l",
"label": "Σταδίου 1, Τ.Κ. 12345, Αθήνα, Αττική"
},
{
"id": "wgO1N22OaQ",
"label": "Κρήτης 50, Τ.Κ. 73100, Χανιά, Χανιά"
}
],
"pickup_window": [
{
"id": 1,
"label": "15:00 - 18:00, Τρί 03/12/19"
},
{
"id": 2,
"label": "10:00 - 12:00, Τετ 04/12/19"
},
{
"id": 3,
"label": "12:00 - 15:00, Τετ 04/12/19"
},
{
"id": 4,
"label": "15:00 - 18:00, Τετ 04/12/19"
}
]
},
"reject_options": {
"line_item_rejection_reasons": [
{
"id": 1,
"label": "Εκτός αποθέματος στο κατάστημα ή στον προμηθευτή",
"requires_available_quantity": false
},
{
"id": 2,
"label": "Λάθος καταχωρημένη τιμή(ες)",
"requires_available_quantity": false
},
{
"id": 4,
"label": "Περιορισμένα τεμάχια",
"requires_available_quantity": true
},
{
"id": 5,
"label": "To προϊόν καταργήθηκε",
"requires_available_quantity": false
}
]
}
}
}
~~~
#### Example 2 (with size-related fields)
~~~ json
{
"event_type": "new_order",
"event_time": "2019-11-28T13:24:37+02:00",
"order": {
"code": "191025-0111363",
"state": "open",
"customer": {
"id": "PA4oqvpz8x",
"first_name": "John",
"last_name": "Doe",
"address":{
"street_name":"Πανεπιστημίου",
"street_number":"4",
"zip":"12345",
"city":"Αθήνα",
"region":"Αττικής",
"pickup_from_collection_point": false
}
},
"invoice": false,
"comments": "",
"courier": "ACS",
"courier_voucher": null,
"courier_tracking_codes": [],
"line_items": [
{
"id": "l39vKqzp2a",
"shop_uid": "405753",
"product_name": "adidas Perormance Badge of Sport Swimsuit PS/GS ( DQ3375 )",
"quantity": 2,
"size": {
"label": "Ηλικία",
"value": "14 χρονών",
"shop_value": "12-14"
},
"unit_price": 17.99,
"total_price": 35.98,
"price_includes_vat": true,
"island_vat_discount_applied": false,
"ean": "1234567890123",
"serial_numbers": null
},
{
"id": "l39vKqzpll",
"shop_uid": "10",
"product_name": "Paul Mitchell Ultimate Color Repair 200ml",
"quantity": 1,
"unit_price": 25,
"total_price": 25,
"price_includes_vat": true,
"island_vat_discount_applied": false,
"serial_numbers": null
}
],
"created_at": "2019-11-28T13:24:37+02:00",
"expires_at": "2019-12-04T10:24:00+02:00",
"dispatch_until": "2019-12-04T18:00:00+02:00",
"express": false,
"gift_wrap": false,
"fulfilled_by_skroutz": false,
"accept_options": {
"number_of_parcels": [
1
],
"pickup_location": [
{
"id": "YlpD0KROym",
"label": "Πανεπιστημίου 2, Τ.Κ. 12345, Αθήνα, Αττική"
},
{
"id": "onpL6DXG4l",
"label": "Σταδίου 1, Τ.Κ. 12345, Αθήνα, Αττική"
},
{
"id": "wgO1N22OaQ",
"label": "Κρήτης 50, Τ.Κ. 73100, Χανιά, Χανιά"
}
],
"pickup_window": [
{
"id": 1,
"label": "15:00 - 18:00, Τρί 03/12/19"
},
{
"id": 2,
"label": "10:00 - 12:00, Τετ 04/12/19"
},
{
"id": 3,
"label": "12:00 - 15:00, Τετ 04/12/19"
},
{
"id": 4,
"label": "15:00 - 18:00, Τετ 04/12/19"
}
]
},
"reject_options": {
"line_item_rejection_reasons": [
{
"id": 1,
"label": "Εκτός αποθέματος στο κατάστημα ή στον προμηθευτή",
"requires_available_quantity": false
},
{
"id": 2,
"label": "Λάθος καταχωρημένη τιμή(ες)",
"requires_available_quantity": false
},
{
"id": 4,
"label": "Περιορισμένα τεμάχια",
"requires_available_quantity": true
},
{
"id": 5,
"label": "To προϊόν καταργήθηκε",
"requires_available_quantity": false
}
]
}
}
}
~~~
#### Example 3 (cancellation)
~~~ json
{
"event_type": "order_updated",
"event_time": "2019-10-29T10:39:23+02:00",
"order": {
"code": "191029-5130474",
"state": "cancelled",
"customer": {
"id": "PA4oqvpz8x",
"first_name": "John",
"last_name": "Doe",
"address":{
"street_name":"Πανεπιστημίου",
"street_number":"4",
"zip":"12345",
"city":"Αθήνα",
"region":"Αττικής",
"pickup_from_collection_point": false
}
},
"invoice": false,
"comments": "Παράδοση στο γραφείο",
"courier": "ACS",
"courier_voucher": null,
"courier_tracking_codes": [],
"line_items": [
{
"id": "l39vKqwezt",
"shop_uid": "100",
"product_name": "L'Oreal Professionel Salon Steam Pod V2 White",
"quantity": 2,
"unit_price": 10.40,
"total_price": 20.80,
"price_includes_vat": true,
"island_vat_discount_applied": false,
"ean": "1234567890123",
"serial_numbers": null
},
{
"id": "l39vKqzpll",
"shop_uid": "10",
"product_name": "Paul Mitchell Ultimate Color Repair 200ml",
"quantity": 1,
"unit_price": 25,
"total_price": 25,
"price_includes_vat": true,
"island_vat_discount_applied": false,
"serial_numbers": null
}
],
"created_at": "2019-10-29T10:39:23+02:00",
"expires_at": "2019-10-29T16:39:23+02:00",
"dispatch_until": "2019-10-30T15:00:00+02:00"
"express": false,
"gift_wrap": false,
"fulfilled_by_skroutz": false
},
"changes": {
"state": {
"old": "open",
"new": "cancelled"
}
}
}
~~~
#### Example 4 (extension)
~~~ json
{
"event_type": "order_updated",
"event_time": "2019-10-29T10:39:23+02:00",
"order": {
"code": "191029-5130474",
"state": "open",
"customer": {
"id": "PA4oqvpz8x",
"first_name": "John",
"last_name": "Doe",
"address":{
"street_name":"Πανεπιστημίου",
"street_number":"4",
"zip":"12345",
"city":"Αθήνα",
"region":"Αττικής",
"pickup_from_collection_point": false
}
},
"invoice": false,
"comments": "Παράδοση στο γραφείο",
"express": false,
"gift_wrap": false,
"fulfilled_by_skroutz": false,
"courier": "ACS",
"courier_voucher": null,
"courier_tracking_codes": [],
"line_items": [
{
"id": "qw3rtyab34",
"shop_uid": "100",
"product_name": "L'Oreal Professionel Salon Steam Pod V2 White",
"quantity": 2,
"unit_price": 10.40,
"total_price": 20.80,
"price_includes_vat": true,
"island_vat_discount_applied": false,
"ean": "1234567890123",
"serial_numbers": null
},
{
"id": "l39vKqzpll",
"shop_uid": "10",
"product_name": "Paul Mitchell Ultimate Color Repair 200ml",
"quantity": 1,
"unit_price": 25,
"total_price": 25,
"price_includes_vat": true,
"island_vat_discount_applied": false,
"serial_numbers": null
}
],
"created_at": "2019-10-29T10:39:23+02:00",
"expires_at": "2019-10-29T16:39:23+02:00",
"dispatch_until": "2019-10-30T15:00:00+02:00",
"express": false,
"gift_wrap": false,
"fulfilled_by_skroutz": false,
"accept_options": {
"number_of_parcels": [
1
],
"pickup_location": [
{
"id": "YlpD0KROym",
"label": "Πανεπιστημίου 2, Τ.Κ. 12345, Αθήνα, Αττική"
},
{
"id": "onpL6DXG4l",
"label": "Σταδίου 1, Τ.Κ. 12345, Αθήνα, Αττική"
},
{
"id": "wgO1N22OaQ",
"label": "Κρήτης 50, Τ.Κ. 73100, Χανιά, Χανιά"
}
],
"pickup_window": [
{
"id": 1,
"label": "15:00 - 18:00, Τρί 30/10/19"
},
{
"id": 2,
"label": "10:00 - 12:00, Τετ 31/10/19"
},
{
"id": 3,
"label": "12:00 - 15:00, Τετ 31/10/19"
},
{
"id": 4,
"label": "15:00 - 18:00, Τετ 31/10/19"
}
]
},
"reject_options": {
"line_item_rejection_reasons": [
{
"id": 1,
"label": "Εκτός αποθέματος στο κατάστημα ή στον προμηθευτή",
"requires_available_quantity": false
},
{
"id": 2,
"label": "Λάθος καταχωρημένη τιμή(ες)",
"requires_available_quantity": false
},
{
"id": 4,
"label": "Περιορισμένα τεμάχια",
"requires_available_quantity": true
},
{
"id": 5,
"label": "To προϊόν καταργήθηκε",
"requires_available_quantity": false
}
]
}
},
"changes": {
"expires_at": {
"old": "2019-11-02T13:15:43+02:00",
"new": "2019-11-04T13:15:00+02:00"
},
"dispatch_until": {
"old": "2019-11-03T12:00:00+02:00",
"new": "2019-11-04T18:00:00+02:00"
}
}
}
~~~
#### Example 5 (courier voucher creation)
~~~ json
{
"event_type": "order_updated",
"event_time": "2019-10-29T10:39:23+02:00",
"order": {
"code": "191029-5130474",
"state": "accepted",
"customer": {
"id": "PA4oqvpz8x",
"first_name": "John",
"last_name": "Doe",
"address":{
"street_name":"Πανεπιστημίου",
"street_number":"4",
"zip":"12345",
"city":"Αθήνα",
"region":"Αττικής",
"pickup_from_collection_point": false
}
},
"invoice": false,
"comments": "Παράδοση στο γραφείο",
"courier": "ACS",
"courier_voucher": "https://b.scdn.gr/path-to/voucher.pdf",
"courier_tracking_codes": ["123456789"],
"line_items": [
{
"id": "l39vpqzZ1l",
"shop_uid": "100",
"product_name": "L'Oreal Professionel Salon Steam Pod V2 White",
"quantity": 2,
"unit_price": 10.40,
"total_price": 20.80,
"price_includes_vat": true,
"island_vat_discount_applied": false,
"ean": "1234567890123",
"serial_numbers": null
},
{
"id": "l39vKqzpll",
"shop_uid": "10",
"product_name": "Paul Mitchell Ultimate Color Repair 200ml",
"quantity": 1,
"unit_price": 25,
"total_price": 25,
"price_includes_vat": true,
"island_vat_discount_applied": false,
"serial_numbers": null
}
],
"created_at": "2019-10-29T10:39:23+02:00",
"expires_at": "2019-10-29T16:39:23+02:00",
"dispatch_until": "2019-10-30T15:00:00+02:00"
"express": false,
"gift_wrap": false,
"fulfilled_by_skroutz": false
},
"changes": {
"courier_voucher": {
"old": null,
"new": "https://b.scdn.gr/path-to/voucher.pdf"
},
"courier_tracking_codes": {
"old": [],
"new": ["123456789"]
}
}
}
~~~
#### Example 6 (invoice requested, without VAT exclusion)
~~~ json
{
"event_type": "new_order",
"event_time": "2019-11-28T13:24:37+02:00",
"order": {
"code": "191029-5130474",
"state": "open",
"customer": {
"id": "PA4oqvpz8x",
"first_name": "John",
"last_name": "Doe",
"address":{
"street_name":"Πανεπιστημίου",
"street_number":"4",
"zip":"12345",
"city":"Αθήνα",
"region":"Αττικής",
"pickup_from_collection_point": false
}
},
"invoice": true,
"invoice_details": {
"company":"ACME",
"profession":"Internet Services",
"vat_number":"111119191",
"doy":"ΙΒ Αθηνών",
"address": {
"street_name":"Πανεπιστημίου",
"street_number":"4",
"zip":"12345",
"city":"Αθήνα",
"region":"Αττικής"
},
"vat_exclusion_requested":false
},
"comments": "Παράδοση στο γραφείο",
"express": false,
"gift_wrap": false,
"fulfilled_by_skroutz": false,
"courier": "ACS",
"courier_voucher": null,
"courier_tracking_codes": [],
"line_items": [
{
"id": "l39vKqxqwe",
"shop_uid": "100",
"product_name": "L'Oreal Professionel Salon Steam Pod V2 White",
"quantity": 2,
"unit_price": 10.40,
"total_price": 20.80,
"price_includes_vat": true,
"island_vat_discount_applied": false,
"ean": "1234567890123",
"serial_numbers": null
},
{
"id": "l39vKqxqh2",
"shop_uid": "10",
"product_name": "Paul Mitchell Ultimate Color Repair 200ml",
"quantity": 1,
"unit_price": 25,
"total_price": 25,
"price_includes_vat": true,
"island_vat_discount_applied": false,
"serial_numbers": null
}
],
"created_at": "2019-11-28T13:24:37+02:00",
"expires_at": "2019-12-04T10:24:00+02:00",
"dispatch_until": "2019-12-04T18:00:00+02:00",
"express": false,
"gift_wrap": false,
"fulfilled_by_skroutz": false,
"accept_options": {
"number_of_parcels": [
1
],
"pickup_location": [
{
"id": "YlpD0KROym",
"label": "Πανεπιστημίου 2, Τ.Κ. 12345, Αθήνα, Αττική"
},
{
"id": "onpL6DXG4l",
"label": "Σταδίου 1, Τ.Κ. 12345, Αθήνα, Αττική"
},
{
"id": "wgO1N22OaQ",
"label": "Κρήτης 50, Τ.Κ. 73100, Χανιά, Χανιά"
}
],
"pickup_window": [
{
"id": 1,
"label": "15:00 - 18:00, Τρί 03/12/19"
},
{
"id": 2,
"label": "10:00 - 12:00, Τετ 04/12/19"
},
{
"id": 3,
"label": "12:00 - 15:00, Τετ 04/12/19"
},
{
"id": 4,
"label": "15:00 - 18:00, Τετ 04/12/19"
}
]
},
"reject_options": {
"line_item_rejection_reasons": [
{
"id": 1,
"label": "Εκτός αποθέματος στο κατάστημα ή στον προμηθευτή",
"requires_available_quantity": false
},
{
"id": 2,
"label": "Λάθος καταχωρημένη τιμή(ες)",
"requires_available_quantity": false
},
{
"id": 4,
"label": "Περιορισμένα τεμάχια",
"requires_available_quantity": true
},
{
"id": 5,
"label": "To προϊόν καταργήθηκε",
"requires_available_quantity": false
}
]
}
}
}
~~~
#### Example 7 (invoice requested, with VAT exclusion)
~~~ json
{
"event_type": "new_order",
"event_time": "2019-11-28T13:24:37+02:00",
"order": {
"code": "191029-5130474",
"state": "open",
"customer": {
"id": "PA4oqvpz8x",
"first_name": "John",
"last_name": "Doe",
"address":{
"street_name":"Πανεπιστημίου",
"street_number":"4",
"zip":"12345",
"city":"Αθήνα",
"region":"Αττικής",
"pickup_from_collection_point": false
}
},
"invoice": true,
"invoice_details": {
"company":"ACME",
"profession":"Internet Services",
"vat_number":"111119191",
"doy":"ΙΒ Αθηνών",
"address": {
"street_name":"Πανεπιστημίου",
"street_number":"4",
"zip":"12345",
"city":"Αθήνα",
"region":"Αττικής"
},
"vat_exclusion_requested":true,
"vat_exclusion_representative": {
"id_type":"ΑΤ Αστυνομική Ταυτότητα",
"id_number":"12345",
"otp":"123456"
}
},
"comments": "Παράδοση στο γραφείο",
"courier": "ACS",
"courier_voucher": null,
"courier_tracking_codes": [],
"line_items": [
{
"id": "l39vKqxqwe",
"shop_uid": "100",
"product_name": "Smartphone 123",
"quantity": 2,
"unit_price": 100,
"total_price": 200,
"price_includes_vat": false,
"island_vat_discount_applied": false,
"ean": "1234567890123",
"serial_numbers": null
},
{
"id": "l39vKqxqh2",
"shop_uid": "10",
"product_name": "Smartphone case Silver",
"quantity": 1,
"unit_price": 25,
"total_price": 25,
"price_includes_vat": true,
"island_vat_discount_applied": false,
"serial_numbers": null
}
],
"created_at": "2019-11-28T13:24:37+02:00",
"expires_at": "2019-12-04T10:24:00+02:00",
"dispatch_until": "2019-12-04T18:00:00+02:00",
"express": false,
"gift_wrap": false,
"fulfilled_by_skroutz": false,
"accept_options": {
"number_of_parcels": [
1
],
"pickup_location": [
{
"id": "YlpD0KROym",
"label": "Πανεπιστημίου 2, Τ.Κ. 12345, Αθήνα, Αττική"
},
{
"id": "onpL6DXG4l",
"label": "Σταδίου 1, Τ.Κ. 12345, Αθήνα, Αττική"
},
{
"id": "wgO1N22OaQ",
"label": "Κρήτης 50, Τ.Κ. 73100, Χανιά, Χανιά"
}
],
"pickup_window": [
{
"id": 1,
"label": "15:00 - 18:00, Τρί 03/12/19"
},
{
"id": 2,
"label": "10:00 - 12:00, Τετ 04/12/19"
},
{
"id": 3,
"label": "12:00 - 15:00, Τετ 04/12/19"
},
{
"id": 4,
"label": "15:00 - 18:00, Τετ 04/12/19"
}
]
},
"reject_options": {
"line_item_rejection_reasons": [
{
"id": 1,
"label": "Εκτός αποθέματος στο κατάστημα ή στον προμηθευτή",
"requires_available_quantity": false
},
{
"id": 2,
"label": "Λάθος καταχωρημένη τιμή(ες)",
"requires_available_quantity": false
},
{
"id": 4,
"label": "Περιορισμένα τεμάχια",
"requires_available_quantity": true
},
{
"id": 5,
"label": "To προϊόν καταργήθηκε",
"requires_available_quantity": false
}
]
}
}
}
~~~
#### Example 8 (invoice requested, with reduced VAT applied in a line item)
~~~ json
{
"event_type": "new_order",
"event_time": "2019-11-28T13:24:37+02:00",
"order": {
"code": "191029-5130474",
"state": "open",
"customer": {
"id": "PA4oqvpz8x",
"first_name": "John",
"last_name": "Doe",
"address":{
"street_name":"Πανεπιστημίου",
"street_number":"4",
"zip":"12345",
"city":"Αθήνα",
"region":"Αττικής",
"pickup_from_collection_point": false
}
},
"invoice": true,
"invoice_details": {
"company":"ACME",
"profession":"Internet Services",
"vat_number":"111119191",
"doy":"Χίου",
"address": {
"street_name":"25ης Μαρτίου",
"street_number":"1",
"zip":"82100",
"city":"Χίος",
"region":"Χίου"
},
"vat_exclusion_requested":false
},
"comments": "Παράδοση στο γραφείο",
"courier": "ACS",
"courier_voucher": null,
"courier_tracking_codes": [],
"line_items": [
{
"id": "l39vKqxqwe",
"shop_uid": "100",
"product_name": "Smartphone 123",
"quantity": 2,
"unit_price": 100,
"total_price": 200,
"price_includes_vat": true,
"island_vat_discount_applied": true,
"ean": "1234567890123",
"serial_numbers": null
},
{
"id": "l39vKqxqh2",
"shop_uid": "10",
"product_name": "Smartphone case Silver",
"quantity": 1,
"unit_price": 25,
"total_price": 25,
"price_includes_vat": true,
"island_vat_discount_applied": false,
"serial_numbers": null
}
],
"created_at": "2019-11-28T13:24:37+02:00",
"expires_at": "2019-12-04T10:24:00+02:00",
"dispatch_until": "2019-12-04T18:00:00+02:00",
"express": false,
"gift_wrap": false,
"fulfilled_by_skroutz": false,
"accept_options": {
"number_of_parcels": [
1
],
"pickup_location": [
{
"id": "YlpD0KROym",
"label": "Πανεπιστημίου 2, Τ.Κ. 12345, Αθήνα, Αττική"
},
{
"id": "onpL6DXG4l",
"label": "Σταδίου 1, Τ.Κ. 12345, Αθήνα, Αττική"
},
{
"id": "wgO1N22OaQ",
"label": "Κρήτης 50, Τ.Κ. 73100, Χανιά, Χανιά"
}
],
"pickup_window": [
{
"id": 1,
"label": "15:00 - 18:00, Τρί 03/12/19"
},
{
"id": 2,
"label": "10:00 - 12:00, Τετ 04/12/19"
},
{
"id": 3,
"label": "12:00 - 15:00, Τετ 04/12/19"
},
{
"id": 4,
"label": "15:00 - 18:00, Τετ 04/12/19"
}
]
},
"reject_options": {
"line_item_rejection_reasons": [
{
"id": 1,
"label": "Εκτός αποθέματος στο κατάστημα ή στον προμηθευτή",
"requires_available_quantity": false
},
{
"id": 2,
"label": "Λάθος καταχωρημένη τιμή(ες)",
"requires_available_quantity": false
},
{
"id": 4,
"label": "Περιορισμένα τεμάχια",
"requires_available_quantity": true
},
{
"id": 5,
"label": "To προϊόν καταργήθηκε",
"requires_available_quantity": false
}
]
}
}
}
~~~
#### Example 9 (pickup from collection point selected)
~~~ json
{
"event_type": "new_order",
"event_time": "2019-11-28T13:24:37+02:00",
"order": {
"code": "191029-5130474",
"state": "open",
"customer": {
"id": "PA4oqvpz8x",
"first_name": "John",
"last_name": "Doe",
"address":{
"street_name":"",
"street_number":"",
"zip":"",
"city":"",
"region":"",
"pickup_from_collection_point": true,
"collection_point_address": "Κατάστημα ACS: ΠΕΤΡΟΥ ΡΑΛΛΗ 45, ΤΑΥΡΟΣ, 17778"
}
},
"invoice": false,
"comments": "Παράδοση στο γραφείο",
"courier": "ACS",
"courier_voucher": null,
"courier_tracking_codes": [],
"line_items": [
{
"id": "l39vKqxqwe",
"shop_uid": "100",
"product_name": "L'Oreal Professionel Salon Steam Pod V2 White",
"quantity": 2,
"unit_price": 10.40,
"total_price": 20.80,
"price_includes_vat": true,
"island_vat_discount_applied": false,
"serial_numbers": null
},
{
"id": "l39vKqxqh2",
"shop_uid": "10",
"product_name": "Paul Mitchell Ultimate Color Repair 200ml",
"quantity": 1,
"unit_price": 25,
"total_price": 25,
"price_includes_vat": true,
"island_vat_discount_applied": false,
"serial_numbers": null
}
],
"created_at": "2019-11-28T13:24:37+02:00",
"expires_at": "2019-12-04T10:24:00+02:00",
"dispatch_until": "2019-12-04T18:00:00+02:00",
"express": false,
"gift_wrap": false,
"fulfilled_by_skroutz": false,
"accept_options": {
"number_of_parcels": [
1
],
"pickup_location": [
{
"id": "YlpD0KROym",
"label": "Πανεπιστημίου 2, Τ.Κ. 12345, Αθήνα, Αττική"
},
{
"id": "onpL6DXG4l",
"label": "Σταδίου 1, Τ.Κ. 12345, Αθήνα, Αττική"
},
{
"id": "wgO1N22OaQ",
"label": "Κρήτης 50, Τ.Κ. 73100, Χανιά, Χανιά"
}
],
"pickup_window": [
{
"id": 1,
"label": "15:00 - 18:00, Τρί 03/12/19"
},
{
"id": 2,
"label": "10:00 - 12:00, Τετ 04/12/19"
},
{
"id": 3,
"label": "12:00 - 15:00, Τετ 04/12/19"
},
{
"id": 4,
"label": "15:00 - 18:00, Τετ 04/12/19"
}
]
},
"reject_options": {
"line_item_rejection_reasons": [
{
"id": 1,
"label": "Εκτός αποθέματος στο κατάστημα ή στον προμηθευτή",
"requires_available_quantity": false
},
{
"id": 2,
"label": "Λάθος καταχωρημένη τιμή(ες)",
"requires_available_quantity": false
},
{
"id": 4,
"label": "Περιορισμένα τεμάχια",
"requires_available_quantity": true
},
{
"id": 5,
"label": "To προϊόν καταργήθηκε",
"requires_available_quantity": false
}
]
}
}
}
~~~
#### Example 10 (with extra_info in line_items)
~~~ json
{
"event_type": "new_order",
"event_time": "2019-11-28T13:24:37+02:00",
"order": {
"code": "191029-5130474",
"state": "open",
"customer": {
"id": "PA4oqvpz8x",
"first_name": "John",
"last_name": "Doe",
"address":{
"street_name":"Πανεπιστημίου",
"street_number":"4",
"zip":"12345",
"city":"Αθήνα",
"region":"Αττικής",
"pickup_from_collection_point": false
}
},
"invoice": false,
"comments": "Παράδοση στο γραφείο",
"courier": "ACS",
"courier_voucher": null,
"courier_tracking_codes": [],
"line_items": [
{
"id": "RPJJ8gG5Pg",
"shop_uid": "768",
"product_name": "AIR OPTIX COLORS MHNIAIOI",
"quantity": 2,
"unit_price": 25.5,
"total_price": 51,
"price_includes_vat": true,
"island_vat_discount_applied": false,
"extra_info": "Χρώμα: Πράσινο\nΒαθμοί SPH: -6.50",
"serial_numbers": null
}
],
"created_at": "2019-11-28T13:24:37+02:00",
"expires_at": "2019-12-04T10:24:00+02:00",
"dispatch_until": "2019-12-04T18:00:00+02:00",
"express": false,
"gift_wrap": false,
"fulfilled_by_skroutz": false,
"accept_options": {
"number_of_parcels": [
1
],
"pickup_location": [
{
"id": "YlpD0KROym",
"label": "Πανεπιστημίου 2, Τ.Κ. 12345, Αθήνα, Αττική"
},
{
"id": "onpL6DXG4l",
"label": "Σταδίου 1, Τ.Κ. 12345, Αθήνα, Αττική"
},
{
"id": "wgO1N22OaQ",
"label": "Κρήτης 50, Τ.Κ. 73100, Χανιά, Χανιά"
}
],
"pickup_window": [
{
"id": 1,
"label": "15:00 - 18:00, Τρί 03/12/19"
},
{
"id": 2,
"label": "10:00 - 12:00, Τετ 04/12/19"
},
{
"id": 3,
"label": "12:00 - 15:00, Τετ 04/12/19"
},
{
"id": 4,
"label": "15:00 - 18:00, Τετ 04/12/19"
}
]
},
"reject_options": {
"line_item_rejection_reasons": [
{
"id": 1,
"label": "Εκτός αποθέματος στο κατάστημα ή στον προμηθευτή",
"requires_available_quantity": false
},
{
"id": 2,
"label": "Λάθος καταχωρημένη τιμή(ες)",
"requires_available_quantity": false
},
{
"id": 4,
"label": "Περιορισμένα τεμάχια",
"requires_available_quantity": true
},
{
"id": 5,
"label": "To προϊόν καταργήθηκε",
"requires_available_quantity": false
}
]
}
}
}
~~~