Sitoo RFID SPI

The RFID SPI enables external inventory management services, with support for Electronic Product Code (EPC) identifiers, to receive state change commands for sold and returned items via the POS.

SPI (Service Provider Interface)

The SPI is the definition of the API required to use the service in Sitoo. Therefore, the external service needs to fully implement the API definition.

RFID Transactions

The transactions are based on order deliveries, for which items in the order has the additionaldata field sgtin specified. A Sitoo POS with an RFID enabled scanner will add this information for sales and returns. Integrations using the Orders API can set the sgtin field when creating the order to support Omni order flows.

Stores must have an external store ID, which is used to identify the location where the items are sold, returned or delivered.

Authentication

Authentication of the calls are done using the HTTP basic authentication mechanism. Requests to the endpoint will add an Authorization header to the request. Example:

Authorization: Basic c2l0b286cmZpZC1zcGktaW50ZWdyYXRpb24tc2VydmVyLXRva2Vu
Note!
Do not use the Sitoo API credentials for authenticating the call. The server implementing the SPI needs to have its own implementation of authentication.

Public Server

The URL used for the service needs to have public access with a valid SSL certificate.

Errors

When a request is not successful an error object should be returned. It should consist of the request_id, an error_code and an error_data field. The error code is defined as one of the following strings

  • field-missing
  • field-unknown
  • field-readonly
  • field-type
  • field-validation
  • other

If the error_code value is one of the following field-missing, field-unknown, field-readonly, field-type, field-validation then error_data should contain the property field. The value should be the path to the invalid property in the request object.

Example error message:

{
"error_code": "field-type",
"error_data": {
"field": "identifiers[0]",
"message": "The identifier at 'identifiers[0]' must be a string"
},
"request_id": "cba36882-22cd-447e-94f4-04ecef411be1"
}

Limitations

The following limitations exist for the service.

Deliveries

Pickup & Delivery v2 feature should be enabled and used to ensure that the correct store ID is used.