Eventing

Asynchronous communication from fulfillmenttools towards customer services by leveraging webhooks

Eventing is the way on how fulfillmenttools platform allows external systems to be notified about business events such as "Order has been routed" or "Pickjob has been completed". Please note, that Events are always phrased in past tense, because they describe events that already happened.

Find out how to subscribe to Events and how to process them in this section. Enjoy!

Preparations

A step wise approach is needed before you can receive your first event from fulfillmenttools. Currently only users with the role Administrator can create new subscriptions.

  1. A subscription needs to be created using the RESTful API. The subscription needs to carry the following information:

    1. A Name (name) for the subscription, which helps identifying the subscription.

    2. Name of the Event (event) you are interested in.

    3. A publicly available endpoint on the internet (callbackUrl). It has to provide access via https protocol.

    4. The headers fulfillmenttools should send along the event request (headers). It is suggested to provide some kind of Authorization Header (e.g. Authorization of X-Authorization) in order to allow your service to check authorized access to your endpoint.

  2. Whenever an event of this kind happens inside of fulfillmenttools a web request is being initiated to all subscriptions.

  3. The endpoint needs to answer with HTTP Code 200: OK within a certain time frame (currently: 10 seconds) in order to signal the successful receiving of the event.

  4. Done.

If the service reachable by the callbackUrl does not answer in time or with a response code other than 200 OK the subscription will initiate an exponential retry pattern of the call.

When the event cannot be delivered within a certain time frame it is dropped.

Our eventing mechanism does not guarantee correct ordering of events.

Last updated