ITAS Events Services

Hivedome have created an Eventing Messaging Service which will enable our clients to interact with events that happen inside ITAS. Interaction with Events are via Web Services.
The basic idea is for Client applications to register a ‘mailbox’ with ITAS and then poll the mailbox for new events. ITAS will publish those events to the mailbox as they happen.

Event Service FAQs

Q1. Are the events in real time? Yes, as soon as they happen in ITAS, a message is sent to any mailbox that is registered for that event type. Clients can set up a ‘Long Poll’ so they receive notification as soon as the even happens rather than at the point of making their request.
Q2. Are the events sent in the correct order? Yes, all events are published to the eventing system in the order they happen. If event order is important to you then do not multi-thread polls (requests) to your mailbox. Ordered delivery is only guaranteed for single threaded, single polling applications.
Q3. Can events be guaranteed delivery? Yes, once a client receives notification that an event has happened, it needs to be read. Only when the reader (application) has confirmed the event will it be removed from the queue.
Q4. What type of events are published? At the moment the only available event is Invoice confirmation events are published, more will be added. If there is a specific event you would like to published please contact Hivedome.
Q5. What happens to events that are not read? Events that are not read, or rather confirmed as read stay in the queue until they have been confirmed as ready. To prevent a huge backlog of events building up mailboxes not subscribed to will time out after 10 day and all messages removed.

Eventing Web Services Call Order Explained

Here is the order of the essential messaging services:
 
Service
Input Parameters
Response Fields
Status
1
Events/Register
subscriber name(your choice/reference no.)
SubscriberID
You are now a registered Subscriber.
2
Events/Subscribe
subscriber ID from above,
Comp code(AA),
topic(INVOICES)
Null*
You now have a mailbox set up.
3
Events/Peek
subscriberId,
timeout period **
Message count,
Next message ID. ***
You now have the message ID.
4
Events/Receive
subscriberid,
messageid,
locktimeout
Message Body
You now have your message.
5
Events/Confirm
subscriberid,
messageid,
lockid
Messgage Id
Your message has now been removed from the queue.

Notes:

* Please note that even null responses receive a Response Code. The code sent for a correct web service call is 200, any other response code requires investigation. For a full list of response codes please see this page Link .
** A time out period can be sent by the caller. The default period is 90 seconds and this cannot be exceeded. We recommend setting a time out period of around 60 seconds.
*** If no messages are available when the request is made and no messages become available before the timeout period is reached, a timeout response will be sent. At this point a new ‘Peek’ request should be made by the client. It is this cycle of Peek, timeout, peek, timeout, peek, message, peek that ensures events are received in real time.

Long Polling Sequence Diagram

The diagram below gives a visual representation of the services needed to be called in order to set up a mailbox, Peek messages and Pop them from the queue.

Other Event Services

Events\ViewSubscriptions – return a list of active mailboxes for the given subscriber ID
Events\Unsubscribe – deletes a mailbox. It is important that this step is undertaken when messages are no longer wanted, failure to do so will result in a backlog of messages.
Events\ViewTopics – returns a list of available topics.
Events\Publish – for future use, not currently active. Enables the publication of events to the message Queue.

Was this helpful?
Thanks for your feedback