Integration Guide
This document is an overview of how to push data to Savi Solutions.
You must provide the following for each location:
External Location ID - A unique string allowing us to identify which location the data came from.
Supported Delivery Methods
● - controlled by Savi or the client ○ XML File for each resource type ○ JSON File for each resource type ○ CSV File for each resource type ○ XML File for each resource type ○ JSON File for each resource type ○ CSV File for each resource type
SFTP
URL: sftp.getsavi.com
Port: 22
Home directory: /getsavi-sftp/YOUR_PROVIDED_USERNAME
Username: Provided to you by your Savi Representative
Password: Provided to you by your Savi Representative
Or if you’d prefer to use a static IP and host checking: 34.217.171.102
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsjRKlFjznjL1l6f2xNMmj4qEaHjdBO0mjgnQG4ySfLfSspFG1ULP6bABQ59Y/THeY7TXGKGfwE2knZROxiltVtxcDFViakjINWrKy+YQwSmJe0B1yYI0aEk0mH5fJAYzvNrVExxWd+nhpsiOXdn+KTgVGRj3sX0L/QZqbLDAYkAACvEvyYBx4waGxLH9BsD1YwjJCAu2HqdRc/2P1Vt4YZLSct4VUXzflfLdzsvqx2CP4pK6buwZo8IGALXQI1enTkaaWLEZLMpikgmHIMdKhtyd7dleGyVElo94R1TYiDdEe0FyjnSQtv1ZS18hHE05UC8A/Iit2UrSkXaMcgQhL
Troubleshooting
Upon pushing a file in the above format to Savi’s servers, or upon Savi polling your SFTP servers, Savi will ingest files for each resource type.
You may get the following error message when uploading files, especially if using WinSCP:
The server does not support the operation.
Error code: 8
Error message from server (US-ASCII): SETSTAT unsupported
This is due to the fact that our SFTP server does not allow you to set the timestamp value when
you upload an object, therefore you have to turn off preserving timestamps.
To resolve this in WinSCP go to Preferences > Transfer then edit the Default preset and untick preserve timestamp, once this is set it will allow you to upload files.
AWS S3
Upon pushing a file in the below format to Savi’s S3 bucket, Savi will ingest files for each resource type.
REST API
Each top level resource is created one at a time. This allows us to achieve a real time integration if the data can be provided in real time by the client.
Please set the following to be set as request headers:
Authorization: Bearer #{SESSION_TOKEN} - Not required on authentication.
Content-Type: application/json
Sessions live for 8 hours, and are refreshed upon use.
Supported Input Formats
JSON
Headers
Using the following headers you can authenticate your request
The Authorization header isn’t necessary during authentication requests.
Routes
The following routes are supported off of the following base URL:
Base URL:
Response
Upon the successful creation of your resource you will receive and HTTP 201 (Created), with an empty body.
Error Response
In the event of an error you may receive the following error codes:
Resource Types Version 1.3.0
The following are the resource types accepted by Savi Solutions in order to integrate your data:
Specific item or service purchased in a sale
Entries in the system used to void transactions
Entries in the system used to refund transactions
Types of promotions listed in system
Types of discounts listed in system
Employees listed in system
Shift and pay rates by employee