Skip to content

SDM Hooks API

Clients can subscribe to changes in the logistic domain. The streaming gRPC will notify all changes in order. Initial (current) state loading is supported. However, a reconnect will not preserve the position of the last client in the stream.

Filters

Multiple filters can be applied during stream setup. *StateChangeFilter*s are in disjunctive normal form.

Guarantees

A client will be notified at least once for every change he is subscribed to in commit order of the database. The stream of events can be used to replicate the logistic state. If a client disconnect the current stream, it should flush his local storage and re-initalize the state with a new API call PositionPreset.EARLIEST. The backend will compact the log from time to time. However, the current state will be always returned using the earliest offset.

Limitations

  • Hooks will not notify in the case of a not anymore matching filter. E.g., filter for a property with a specific value. Once this value is changed to something else, the client will not be notified about this not anymore matching filter.