Skip to main content

Backwards compatibility

This is a second iteration over 'attendant backend'. That means that existing (v1) backend is now deprecated. The new (v2) solution is backwards compatible with legacy one from POSes perspective.

POSes use so called GRPC API for both sync and async communication.

We implemented an 'adaptor' that allows POSes to connect to new backend with almost 0 changes. This is done by changing the URL of the GRPC server.

The 'old' GRPC API is hosted on attendant-grpc-server.retailsvc.com The new one has different url, and is hosted on attendant-grpc-server-v2.retailsvc.com.

Things to be aware of when migrating:

  • New GRPC API is backwards compatible with old one, it has the same API schema and same behavior. It is enough for POS to change URL to push data to v2 of attendant backend.
  • This 'adaptor' can be used for smooth migration from old to new GRPC API
  • Old and New architectures do not share database. This is done on purpose, to avoid any data corruption and allow as to use different datamodel.

Note: if something is not working that worked before with GRPC API, it's probably a bug. Please report it to the team.

Architecture

This is a simplified diagram of the architecture that showcases the compatibility between the old and new GRPC APIs.

Architecture

Deprecation

Currently we do not have plans for deprecation of GRPC API, but we encourage all POSes to migrate to new API as soon as possible. This will allow us to decommission the adapter.