Sitoo CRM SPI v2

Sitoo CRM SPI is used for integrating an external Customer Relationship Management (CRM) system in Sitoo Platform. The external CRM system will get full control on how customers are added, updated and viewed in Sitoo POS. Furthermore Sitoo POS can enable identified customers to get access to customized campaigns, redeem promotions and use bonus checks.

Configuration

To activate the use of the CRM, backend configuration is required and the Sitoo POS clients used need to support version 2 of the CRM API.

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.

CRM interaction points in Sitoo POS

  • Find Customer
  • Add customer to purchase in POS
  • Activate campaigns for customer
  • Show Customer Card (including bonus checks and promotions)
  • Show Customer Purchase History
  • Refund Historic Purchase
  • Create Customer
  • Edit Customer
  • Redeem Bonus Checks
  • Redeem Promotions

Optional headers

For each request optional headers can be sent which can be used to trace the origin of changes

  • Store-ID
  • Staff-ID
  • Register-ID

Note! These header parameters should be url decoded. Non-alphanumerical characters will be url encoded using UTF-8.

Customer Transactions (Purchases)

For customer transactions made in Sitoo, the Events SPI (Webhooks) for orders should be implemented.

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 MTAwMjAtMTQwOmJ1TnhvT3gybzVrTTJKTWMzVmhCWDIwazRHaWs0cUtYeUtmZzMzMkE=
Note!
Do not use the Sitoo API credentials for authenticating the call. The server implementing the SPI needs to have it's own implementation of authentication.

Public Server

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

Errors

Errors from the service should be returned using the Error object:

{
"errortext": "Invalid input",
"statuscode": 400
}

CRM SPI v2 versus CRM SPI v1

The Sitoo CRM SPI v2 replaces the previous CRM SPI v1. New integrations should be done using the v2 SPI. Implementation of the CRM SPI v1 is deprecated, but will be supported for existing integrations until further notice.

Major Changes (in comparison with CRM SPI v1)

  • Historical customer transactions are no longer included in the customer model, but is instead handled via a separate endpoint.
  • Customer transactions are no longer posted to the API, but should instead be implemented using the Events SPI (Webhooks) for orders.
  • The customer now has an optional array of sections which can be used to display custom data.
  • The use of bonus checks and promotions are handled as transactions using the redeem endpoints.

Legacy Documentation

The documentation for CRM SPI v1 can be found here