Order Webhook V1

Behaviour

Each time a order is closed, S-360 backend calls a given url transmitting the orderId. Then it is up to the callee to call back S-360 with public webservices (for example : getOrderDetails method).

Url and http method

Designing the url

The callee must provide an url and an http method (GET or POST). The url must be of kind :

http(s)://mydomain.com/myeventualpath/whatever${orderId}whatever

When calling, S-360 will replace the placeholder ${orderId} by the effective order id.

Examples :

http://dev.environment.com/${orderId}

http://dev.environment.com/path/?data=${orderId}

http://dev.environment.com/path/${orderId}?update=true

are valid URLs.

http://dev.environment.com/?data={orderId}

http://dev.environment.com/?data=${order id}

Are NOT valid URLS (place holder syntax is not correct)

Http method

The url may be called by GET or POST.

If GET, the presence of the place holder in the url is mandatory.

If POST , it is also possible to setup an plain JSON payload containing the placeholder. In that case, S-360 will POST he payload to the url, replacing the placeholder by the effective value.

Filter

A filter can be defined in the interface parameters to handle the transmission of the desire orders. This filter parameter contains a string, based on OrderDetailResult, like this below:

OrderDetailsData.OperationDatas(*).ProductCode=XXXX (if product code of any operation is XXXX)

OrderDetailsData.OperationDatas(ProductCode=XXXX).BasePrice=10000;OrderDetailsData.OrderType=SALE (if base price of the operation with product code XXXX is 10000 and the order type is SALE)

The delimiter of each condition in the filter is the character ";".

When a filter is added to the interface parameters, it's important to set the "Granularity" parameter (possible values in getOrderDetails method).

Other setup options (authentication, passing order email...)

There are none.

Setup in backend

  1. Ask for a proxy opening for the destination URL.
  2. In organization/tools/external interfaces create a new interface of type Firehose order
  3. Paste the url in the Url field
  4. Enter GET or POST as http method
  5. Enter an eventual payload (see above)
  6. Save
  7. In the schedule menu, create a new schedule with a frequency fitting your needs and batch size of 60 (recommanded default value).