NAV
Code

Introduction

Welcome to the CycleSoftware API documentation

API type Documentation
CS api CycleSoftware API docs
Warehouse api Warehouse API docs
TWSC api TWSC API docs

API endpoint

Use the following domain: https://api.cyclesoftware.nl/ unless otherwise specified.

Requirements

To use the APIs you'll need API credentials. The API credentials are provided by CS or available in your account.

Request/Response Format

The APIs consist of SOAP/WSDL webservices and JSON endpoints.

The default response format is JSON. Requests with a message-body use plain JSON to set or update resource attributes. Successful requests will return a 200 OK HTTP status.

Some general information about responses:

Errors

Occasionally you might encounter errors when accessing the REST API. There are four possible types:

Error Code Error Type
400 Bad Request Invalid request, e.g. using an unsupported HTTP method, or GET variable
401 Unauthorized Authentication or permission error, e.g. incorrect credentials
403 Forbidden Authentication or permission error
404 Not Found Requests to resources that don't exist or are missing
500 Internal Server Error Server error

JSON error response

{
  "error": true,
  "error_message": "Unauthorized"
}

XML error response

<?xml version="1.0"?>
<result>
  <error>1</error>
  <error_message>Unauthorized</error_message>
</result>

SOAP error response

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Body>
    <SOAP-ENV:Fault>
      <faultcode>400</faultcode>
      <faultstring>The problem description</faultstring>
    </SOAP-ENV:Fault>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Errors return both an appropriate HTTP status code and response object which contains a error, and error_message

Parameters

Almost all endpoints accept optional parameters which can be passed as a HTTP query string parameter, e.g. GET /v1/endpoint?status=completed. All parameters are documented along each endpoint.

Pagination

For certain endpoints pagination is implemented. The mechanism differs per endpoint. But the default pagination mechanism is as follows:

JSON response

{
  "error": false,
  "error_message": null,
  "data": [],
  "pagination": {
    "next_offset": 1000
  }
}

GET /v1/endpoint?offset=1000

In the response the next_offset is suggested. You can pass the next offset in the offset GET paramater.

Limits

Since may 2022 api-limits are introduced. For endpoints that implement limits the following HTTP response headers are available.

If the limit is reached, the server will respond with an HTTP 429 - Too Many Requests error.

Libraries and Tools

Official libraries

Authentication

CycleSoftware uses different authentication mechanisms.

HTTP Basic Authentication

The credentials consist of a username, password and api-key. The username and password should be provided using the Basic HTTP authentication http header. The api-key is usage is documented per service.

SOAP/WSDL Authentication

The credentials consist of a username, password and api-key. The username and password should be provided within the Authentication element as documented per request. For dealer_id the actual store id within the account or api-key can be provided.

OAUTH2 Authentication

TWSC API is available throught Oauth2 authentication

Scopes

Credentials are linked to a set of scopes. Every endpoint is also linked to a set of scopes. If the required scope is not available for the credentials the API will provide an HTTP Unauthorized error.

Inbound orders

Access inbound deliveries and inbound backlog data

Authentication mechanism

Inbound back-log

Get a list of goods to be delivered.

GET parameter Type Description
supplier_id integer If supplied only the data for the specified supplier is given
See common api for supplier-ids
is_assigned integer if 1 only assigned items are returned
offset integer Pagination offset. optional

HTTP request examples

GET
/api/v1/warehouse/inbound/backlog.json
GET
/api/v1/warehouse/inbound/backlog.json?supplier_id=:supplier_id&is_assigned=1&offset=:offset

Properties

Property Type Nullable Description
error boolean false true when an error occured
error_message string true Error message if known
data array false Array of backlog items
data[].id integer false Unique item id 412855
data[].supplier_id integer false Supplier ID 2403
data[].is_sold_to_customer boolean false Marked as sold to customer false
data[].in_transit boolean false Marked as in transit false
data[].article_id string false Article ID LV106
data[].barcode string false Barcode of article 8719812004299
data[].supplier_reference string false Reference of supplier 7171999
data[].supplier_reference_2 string false Reference of supplier 2 7171999
data[].delivery_date date false Expected delivery-date 2022-12-26
data[].original_delivery_date date false Original expected delivery-date 2023-01-02
data[].external_remarks string false Remarks from supplier
data[].internal_remarks string true Internal remarks
data[].created_at datetime false Date-time created
data[].modified_at datetime false Date-time modified
data[].assignment object true If not null the item is assigned
data[].assignment.assigned_to_entity_type_id integer false Entity type assignment 20 (see common api)
data[].assignment.assigned_to_entity_id integer false Entity ID of assignment 564840
data[].assignment.outbound_order_id integer false Assigned outbound order id 440452
data[].assignment.reference string false Reference of outbound-order fvs_138443
pagination.next_offset integer true If specified use offset in GET parameter for extra data

HTTP request

GET /api/v1/warehouse/inbound/backlog.json HTTP/1.1
Host: api.cyclesoftware.nl
Authorization: Basic VXNlcm5hbWU6UGFzc3dvcmQ=
Accept-encoding: gzip
Accept: application/json
Content-type: application/json; charset=utf-8

HTTP Response

HTTP/1.1 200 
Content-type: application/json; charset=utf-8
Content-length: 1330

{
  "error": false,
  "error_message": null,
  "data": [
    {
      "id": 412805,
      "supplier_id": 2403,
      "is_sold_to_customer": false,
      "in_transit": false,
      "article_id": "LV105",
      "barcode": "8719812004282",
      "supplier_reference": "7171648",
      "supplier_reference_2": "7171648",
      "delivery_date": "2022-11-07",
      "original_delivery_date": "2022-11-14",
      "external_remarks": "",
      "internal_remarks": "some text",
      "created_at": "2022-04-21 12:15:56",
      "modified_at": "2022-04-21 12:18:53",
      "assignment": null
    },
    {
      "id": 412843,
      "supplier_id": 2403,
      "is_sold_to_customer": false,
      "in_transit": false,
      "article_id": "LV106",
      "barcode": "8719812004299",
      "supplier_reference": "7171984",
      "supplier_reference_2": "7171984",
      "delivery_date": "2022-10-24",
      "original_delivery_date": "2022-10-31",
      "external_remarks": "BL-412843",
      "internal_remarks": null,
      "created_at": "2022-04-21 12:15:56",
      "modified_at": "2022-04-21 12:18:53",
      "assignment": {
        "assigned_to_entity_type_id": 20,
        "assigned_to_entity_id": 564840,
        "outbound_order_id": 440452,
        "reference": "yourref_138443"
      }
    }
  ],
  "pagination": {
    "next_offset": 2
  }
}

Inbound delivered items

Get a list of delivered inbound goods

GET parameter Type Description
start_date date Start date interval (yyyy-mm-dd) required
end_date date Start date interval (yyyy-mm-dd) required
offset integer Pagination offset. optional

HTTP request examples

GET
/api/v1/warehouse/inbound/delivered-items.json?start_date=:start_date&end_date=:end_date
GET
/api/v1/warehouse/inbound/delivered-items.json?start_date=:start_date&end_date=:end_date&offset=:offset

Response

{
  "error": false,
  "error_message": null,
  "data": [
    {
      "article_id": "ART1",
      "barcode": "1000001",
      "datetime_delivered": "2021-01-01 12:00:33",
      "inbound_delivery_id": 10000,
      "inbound_delivery_item_id": 100001,
      "packinglist_number": "PB11",
      "purchase_price_cents": 10099,
      "quantity_missing": 0,
      "quantity_packinglist": 1,
      "quantity_scanned": 0,
      "quantity_stocked": 1,
      "supplier_id": 2113
    },
    {
      "article_id": "ART2",
      "barcode": "1000002",
      "datetime_delivered": "2021-01-01 12:00:33",
      "inbound_delivery_id": 10000,
      "inbound_delivery_item_id": 100002,
      "packinglist_number": "PB11",
      "purchase_price_cents": 10099,
      "quantity_missing": 0,
      "quantity_packinglist": 1,
      "quantity_scanned": 0,
      "quantity_stocked": 0,
      "supplier_id": 2113
    }
  ],
  "pagination": {
    "next_offset": null
  }
}

Workshop

Access workshop data

Authentication mechanism

Workshop assemblies

Get a list of stock items released for shipment

GET parameter Type Description
start_date date Start date interval (yyyy-mm-dd) required
end_date date Start date interval (yyyy-mm-dd) required
offset integer Pagination offset. optional

Properties

Property Type Nullable Description
error boolean false e.g. false
error_message string true The error message if an error occurred
data[].stock_item_id integer false Stock item ID e.g. 20000
data[].is_assembled boolean false true if object is assembled
data[].released_by string false The user who released/assembled the item e.g. Name 12
data[].scheduled_for_release_at date false Scheduled date for release/assembly e.g. 2021-10-10
data[].released_for_shipment_at date false Date of release/assembly e.g. 2021-10-11
data[].claimed_by_dealer_id integer false Dealer-id who claimed the stock item 5393
data[].outbound_order_id integer false The Outbound Order ID e.g. 20001
data[].outbound_order_item_id integer false The Outbound Order Item ID e.g. 20002
data[].outbound_shipment_id integer false The Outbound Shipment ID e.g. 20003
data[].outbound_shipment_item_id integer false The Outbound Shipment Item ID e.g. 20004
data[].is_sold_to_customer boolean false Boolean whether the item is sold
pagination.next_offset integer true If not null use in next paginated request in offset GET parameter

HTTP request examples

GET
/api/v1/warehouse/workshop/assemblies.json?start_date=:start_date&end_date=:end_date
GET
/api/v1/warehouse/workshop/assemblies.json?start_date=:start_date&end_date=:end_date&offset=:offset

Response

{
  "error": false,
  "error_message": null,
  "data": [
    {
      "stock_item_id": 10000,
      "is_assembled": true,
      "released_by": "Name 11",
      "scheduled_for_release_at": "2021-10-10",
      "released_for_shipment_at": "2021-10-11",
      "claimed_by_dealer_id": 5393,
      "outbound_order_id": 10001,
      "outbound_order_item_id": 10002,
      "outbound_shipment_id": 10003,
      "outbound_shipment_item_id": 10004,
      "is_sold_to_customer": true
    },
    {
      "stock_item_id": 20000,
      "is_assembled": false,
      "released_by": "Name 12",
      "scheduled_for_release_at": "2021-10-10",
      "released_for_shipment_at": "2021-10-11",
      "claimed_by_dealer_id": 5393,
      "outbound_order_id": 20001,
      "outbound_order_item_id": 20002,
      "outbound_shipment_id": 20003,
      "outbound_shipment_item_id": 20004,
      "is_sold_to_customer": false
    }
  ],
  "pagination": {
    "next_offset": null
  }
}

Stock

Access stock info for warehouse

Authentication mechanism

Stock-info

Get a list of stock items released for shipment

GET parameter Type Description
stock_items integer if set to 1 details about the stock items is provided optional
no_remote_supplier_check integer if set to 1 no remote supplier checks are included optional
only_supplier_stock integer if set to 1 only remote supplier stock is checked, store and warehouse stock is ignored optional
only_supplier_id integer if a supplier_id is given only this supplier will be included for supplier stock checks optional
POST parameter Type Description
barcodes array array of barcodes

Properties

Property Type Nullable Description
error boolean false true if errors occurred
error_message string false Error message if occurred
data.status boolean false true if no errors occurred
data.result_items array false Result per requested barcode
data.result_items[].barcode string false Article barcode
data.result_items[].stock_available boolean false Overall status whether stock is available
data.result_items[].delivery_date date true expected delivery date from supplier
data.result_items[].delivery_date_supplier date true expected delivery date from supplier
data.result_items[].delivery_date_backlog date true expected delivery date from registered backlog orders supplier
data.result_items[].stock_supplier boolean true true if stock available at supplier, null if not checked
data.result_items[].stock_quantity integer false available quantity within stores+warehouse
data.result_items[].stock_quantity_stores integer false available quantity within stores
data.result_items[].stock_quantity_warehouse integer false available quantity within warehouse
data.result_items[].stock_stores array false array with stock info per store
data.result_items[].stock_stores[].dealer_id integer false dealer-id of store
data.result_items[].stock_stores[].store_name string false name of store
data.result_items[].stock_stores[].store_phone string false phone number of store
data.result_items[].stock_stores[].quantity integer false quantity including demo models available
data.result_items[].stock_stores[].quantity_demo integer false quantity of demo models available
data.result_items[].supplier_id string true used supplier_id in request
data.result_items[].article_id string false used "barcode" in request e.g. 8719461035781

HTTP request examples

GET
/app/api/whm/stockinfo/:barcode1/:barcode2/../../
GET
/app/api/whm/stockinfo/:barcode1/:barcode2/../../?stock_items={0,1}
GET
/app/api/whm/stockinfo/:barcode1/:barcode2/../../?no_remote_supplier_check={0,1}
GET
/app/api/whm/stockinfo/:barcode1/:barcode2/../../?only_supplier_stock={0,1}
GET
/app/api/whm/stockinfo/:barcode1/:barcode2/../../?only_supplier_id=:supplier_id
POST
/app/api/whm/stockinfo/

Response

{
  "error": false,
  "error_message": "",
  "data": {
    "status": true,
    "result_items": [
      {
        "barcode": "8719461035781",
        "stock_available": true,
        "delivery_date": null,
        "delivery_date_supplier": null,
        "delivery_date_backlog": null,
        "stock_supplier": null,
        "stock_quantity": 1,
        "stock_quantity_stores": 1,
        "stock_quantity_warehouse": 0,
        "stock_stores": [
          {
            "dealer_id": 791825,
            "store_name": "Ridderkerk",
            "store_phone": "010-1234567",
            "quantity": 1,
            "quantity_demo": 1
          },
          {
            "dealer_id": 857361,
            "store_name": "Breda",
            "store_phone": "010-1234567",
            "quantity": 1,
            "quantity_demo": 1
          }
        ],
        "supplier_id": null,
        "article_id": "8719461035781"
      },
      {
        "barcode": "8719461035782",
        "stock_available": false,
        "delivery_date": "01-01-2022",
        "delivery_date_supplier": "01-05-2022",
        "delivery_date_backlog": "01-01-2022",
        "stock_supplier": false,
        "stock_quantity": 0,
        "stock_quantity_stores": 0,
        "stock_quantity_warehouse": 0,
        "stock_stores": [],
        "supplier_id": null,
        "article_id": "8719461035782"
      }
    ]
  }
}

Stock list Warehouse

Get a list of objects in warehouse

Properties

Property Type Nullable Description
error boolean false true if error occurred
error_message null true Error if occurred
data array false array of objects
data[].stock_item_id integer false Object ID within warehouse 325817
data[].outbound_order_id integer false Outbound order ID
data[].supplier string false Supplier name
data[].article_id string false Article number 735-18460
data[].barcode string false Barcode 4063518126705
data[].description string false Description of article Ravenna E8F Herenfiets 28" grey 60 cm diamant
data[].frame_id string false Framenumber AA01148291
data[].purchase_price_cents integer false Purchase price in cents
data[].purchase_price_cents_packinglist integer false Purchase price in cents from last packinglist
data[].dealer_rrp_cents integer false RRP in cents
data[].claimed_for_account_id integer true If claimed the account_id
data[].claimed_for_store_id integer true If claimed the store_id
data[].is_blocked_for_claiming boolean false true if blocked for claiming
data[].is_claimed_for_obo boolean false true if claimed for outbound order
data[].is_sold_to_customer boolean false true if sold to a customer
data[].is_shipped boolean false true if shipped
data[].is_deleted boolean false true if item was deleted
data[].stocked_at datetime false Datetime stocked 2021-10-22 11:33:03
data[].shipped_at datetime true Datetime shipped
data[].custom_variable_1 string false Custom variable from article
data[].custom_variable_2 string false Custom variable from article
data[].custom_variable_3 string false Custom variable from article
data[].custom_variable_4 string false Custom variable from article
data[].custom_variable_5 string false Custom variable from article

HTTP request examples

GET
/api/v1/warehouse/stock/items.json

Response

{
  "error": false,
  "error_message": null,
  "data": [
    {
      "stock_item_id": 109993,
      "outbound_order_id": 315254,
      "supplier": "Leopard",
      "article_id": "593005",
      "barcode": "8717931438117",
      "description": "Leopard Tess 24 inch 2019 M24-39 Zwart Mat",
      "frame_id": "17017456",
      "purchase_price_cents": 40900,
      "purchase_price_cents_packinglist": 40900,
      "dealer_rrp_cents": 41900,
      "claimed_for_account_id": 1000,
      "claimed_for_store_id": 13,
      "is_blocked_for_claiming": false,
      "is_claimed_for_obo": true,
      "is_sold_to_customer": true,
      "is_shipped": true,
      "is_deleted": false,
      "stocked_at": "2018-04-24 08:53:20",
      "shipped_at": "2021-04-13 07:59:29",
      "custom_variable_1": "Custom var 1",
      "custom_variable_2": "Custom var 2",
      "custom_variable_3": "Custom var 3",
      "custom_variable_4": "Custom var 4",
      "custom_variable_5": "Custom var 5"
    },
    {
      "stock_item_id": 203013,
      "outbound_order_id": 376797,
      "supplier": "Gazelle",
      "article_id": "G1539",
      "barcode": "8717231346426",
      "description": "Orange C8 HMB H8",
      "frame_id": "61380279",
      "purchase_price_cents": 279900,
      "purchase_price_cents_packinglist": 279900,
      "dealer_rrp_cents": 289900,
      "claimed_for_account_id": 1000,
      "claimed_for_store_id": 23,
      "is_blocked_for_claiming": false,
      "is_claimed_for_obo": true,
      "is_sold_to_customer": false,
      "is_shipped": true,
      "is_deleted": true,
      "stocked_at": "2020-06-11 10:59:05",
      "shipped_at": "2021-10-15 10:03:09",
      "custom_variable_1": "Custom var 1",
      "custom_variable_2": "Custom var 2",
      "custom_variable_3": "Custom var 3",
      "custom_variable_4": "Custom var 4",
      "custom_variable_5": "Custom var 5"
    }
  ]
}

Stock list POS

Get a list of stocked objects in POS

Properties

Property Type Nullable Description
error boolean false e.g. false
error_message null true
data array false
data[].account_id integer false Account ID of store 5393
data[].store_id integer false ID of the POS store 2
data[].object_id integer false POS Object ID 20648
data[].sales_order_id integer false POS order id 1000
data[].supplier string false Supplier name Gazelle
data[].article_id string false Article number A1935
data[].barcode string false Barcode 8717231254776
data[].description string false Description Gazelle Eclipse C8 LTD
data[].frame_id string false Framenumber 60516151
data[].purchase_price_cents integer false Purchase price in cents 50980
data[].purchase_price_cents_packinglist integer false Purchase price in cents from last packinglist 50980
data[].dealer_rrp_cents integer false RRP in cents 94900
data[].is_sold_to_customer boolean false true if sold to customer
data[].is_demo boolean false true if marked as demo
data[].has_invoice boolean false true if invoiced
data[].stocked_at date false Custom variable from article
data[].custom_variable_1 string false Custom variable from article
data[].custom_variable_2 string false Custom variable from article
data[].custom_variable_3 string false Custom variable from article
data[].custom_variable_4 string false Custom variable from article
data[].custom_variable_5 string false Custom variable from article
data[].is_deleted boolean false Item is deleted

HTTP request examples

GET
/api/v1/warehouse/stock/pos-items.json

Response

{
  "error": false,
  "error_message": null,
  "data": [
    {
      "account_id": 1000,
      "store_id": 6,
      "object_id": 1076,
      "sales_order_id": 0,
      "supplier": "Batavus",
      "article_id": "BE100086",
      "barcode": "8713568256155",
      "description": "Batavus STREAM",
      "frame_id": "BA5169351",
      "purchase_price_cents": 219900,
      "purchase_price_cents_packinglist": 219900,
      "dealer_rrp_cents": 259900,
      "is_sold_to_customer": false,
      "is_demo": true,
      "has_invoice": false,
      "stocked_at": "2015-12-08",
      "custom_variable_1": "Custom var 1",
      "custom_variable_2": "Custom var 2",
      "custom_variable_3": "Custom var 3",
      "custom_variable_4": "Custom var 4",
      "custom_variable_5": "Custom var 5",
      "is_deleted": false
    },
    {
      "account_id": 1000,
      "store_id": 2,
      "object_id": 4673,
      "sales_order_id": 0,
      "supplier": "Gazelle",
      "article_id": "A0828",
      "barcode": "8717231240205",
      "description": "Gazelle Orange C8 Hm",
      "frame_id": "60467933",
      "purchase_price_cents": 190000,
      "purchase_price_cents_packinglist": 190000,
      "dealer_rrp_cents": 210000,
      "is_sold_to_customer": false,
      "is_demo": true,
      "has_invoice": false,
      "stocked_at": "2016-02-03",
      "custom_variable_1": "Custom var 1",
      "custom_variable_2": "Custom var 2",
      "custom_variable_3": "Custom var 3",
      "custom_variable_4": "Custom var 4",
      "custom_variable_5": "Custom var 5",
      "is_deleted": false
    }
  ]
}

Outbound orders

Outbound orders related APIs

Authentication mechanism

Convert pool to regular

Convert a POOL order to a regular order.

URL parameter Type Description
:outbound_order_id integer Outbound order id required

HTTP request examples

POST
/api/v1/warehouse/outbound/order/:outbound_order_id/pool-to-regular.json

HTTP Request

POST /api/v1/warehouse/outbound/order/1013123/pool-to-regular.json HTTP/1.1
Host: api.cyclesoftware.nl
Authorization: Basic VXNlcm5hbWU6UGFzc3dvcmQ=
Accept-encoding: gzip
Accept: application/json
Content-type: application/json; charset=utf-8

HTTP Response

HTTP/1.1 200 
Content-type: application/json; charset=utf-8
Content-length: 722

{
  "error": false,
  "error_message": null
}

Shipments

Access outbound shipment data

Authentication mechanism

Delivery status for object item id

Mark the shipment for a stock item as delivered or not-delivered. not-delivered should be used if the package could not be delivered at the destination.

URL parameter Type Description
:stock_item_id integer Stock item ID in warehouse required

HTTP request examples

POST
/api/v1/warehouse/outbound/item/:stock_item_id/delivered.json
POST
/api/v1/warehouse/outbound/item/:stock_item_id/not-delivered.json

Response

{
  "error": false,
  "error_message": null
}

Webhooks

Receive updates from CycleSoftware for specific entities.

Webhook request

The payload is a raw POST of a JSON string to your server. Several headers are included:

Header Description
X-CycleSoftware-Delivery Unique UUID of the webhook message. Same value JSON id property
X-CycleSoftware-Event Event name. Same value as JSON event_name property
X-CycleSoftware-Signature HMAC of the payload using your hash secret

Payload structure

Every JSON payload has the same structure. The payload object is different per event.

Property Type Description
id uuid Unique webhook UUID 20c5d026-68b3-11ec-90d6-0242ac120003
account_id integer Account ID CycleSoftware 1
event_name string The event-name e.g. sales_order.created
event_timestamp float Timestamp when the message was created. 1640787926.323
payload object The actual payload of the event

Payload structure

{
  "id": "20c5d026-68b3-11ec-90d6-0242ac120003",
  "account_id": 1,
  "event_name": "event.sub_name",
  "event_timestamp": 1640787926.323,
  "payload": {}
}

Outbound orders

Event name Description
warehouse_outbound_order.created_or_updated Fired when the outbound order is created or updated

Properties

Property Type Nullable Description
payload.outbound_order_id integer false Outbound order ID e.g. 463681
payload.outbound_order_type_id integer false Type of order e.g. 1
payload.outbound_order_status_id integer false Status of order e.g. 1
payload.dealer_id integer false ID of dealer e.g. 4807
payload.account_id integer false ID of account of the order e.g. 4807
payload.store_id integer false ID of store of the order e.g. 1
payload.created_at datetime false Created datetime e.g. 2022-07-05 11:07:48
payload.datetime_preferred_delivery datetime true e.g. 2022-07-05 11:07:48 or null
payload.sales_order_id integer true Sales order ID in POS
payload.order_reference_text string false String with e-commerce reference from POS
payload.order_items array false Array of order items
payload.order_items[].outbound_order_item_id integer false ID of the item e.g. 605491
payload.order_items[].item_type_id integer false Item type id, see common api e.g. 2
payload.order_items[].is_active boolean false if false the item is marked deleted
payload.order_items[].barcode string false Barcode of item e.g. 8713568215084
payload.order_items[].quantity integer false Quantity ordered 1
payload.order_items[].quantity_claimed integer false Quantity claimed stock e.g. 0
payload.order_items[].quantity_shipped integer false Quantity shipped e.g. 0
payload.order_items[].is_blocked_for_claiming boolean false true if blocked for claiming
payload.order_items[].description string false Description of item
payload.order_items[].remark string false Remark of order item
payload.order_items[].reference string false Reference of order item
payload.order_items[].is_sold_to_customer boolean false true if sold to customer
payload.order_items[].is_attached_to_outbound_item_id null true If not null the outbound_order_item_id of which the item is attached to
payload.order_items[].is_pooled_within_stores boolean false true if pool order

Payload structure

{
  "id": "180c1fd6-04ab-4215-b55a-0d8710961c95",
  "account_id": 4743,
  "event_name": "warehouse_outbound_order.created_or_updated",
  "event_timestamp": 1657012068.444,
  "payload": {
    "outbound_order_id": 463681,
    "outbound_order_type_id": 1,
    "outbound_order_status_id": 1,
    "dealer_id": 4807,
    "account_id": 4807,
    "store_id": 1,
    "created_at": "2022-07-05 11:07:48",
    "datetime_preferred_delivery": null,
    "sales_order_id": null,
    "order_reference_text": "",
    "order_items": [
      {
        "outbound_order_item_id": 605491,
        "item_type_id": 2,
        "is_active": true,
        "barcode": "8713568215084",
        "quantity": 1,
        "quantity_claimed": 0,
        "quantity_shipped": 0,
        "is_blocked_for_claiming": false,
        "description": "",
        "remark": "",
        "reference": "",
        "is_sold_to_customer": false,
        "is_attached_to_outbound_item_id": null,
        "is_pooled_within_stores": false
      }
    ]
  }
}