Авторизация приложения через SailPlay API

Назначение метода

Каждое приложение (например, ваш интернет-сайт, мобильное приложение, POS-терминал) перед началом работы должно быть авторизовано. Используется стандартный двухуровневый алгоритм авторизации. Для получения авторизационных данных (авторизационного token'а) необходимо сделать GET-запрос к SailPlay, в котором передаются авторизационные данные.

 

Параметры запроса

Параметр обязательный? Имя параметра Описание параметра
да pin_code  PIN-код (ПИН-код) вашего приложения или продавца. Узнать PIN-код вашего приложения вы можете, выбрав вашу платформу здесь
да store_department_key  Уникальный ключ для вашего приложения. Узнать его вы можете, выбрав вашу платформу здесь
да store_department_id  Уникальный ID вашего приложения. Узнать его вы можете, выбрав вашу платформу здесь

Ответ сервера

Название параметра Описание параметра
status  
token  Уникальный hash, которым вам необходимо подписывать все последующие запросы к API (т.е. во всех последующих запросах вы будете указывать store_department_id и token)

массив

pin_codes

 Все доступные PIN-коды в рамках данного отдела
points_enabled  Включение или отключение всех действий связанных с бонусными баллами

 

Кроме этого, в запросе на получение token’а (запрос для авторизации кассы) будет возвращаться дополнительный параметр:

points_enabled=0|1

В случае, если points_enabled=0, необходимо на стороне кассового модуля, отключить все действия, связанные с бонусными баллами (отображение окна кассиру и т.д.).

Пример запроса

http://sailplay.ru/api/v1/login/?store_department_key=28653950&store_department_id=1&pin_code=1523

 

Примеры ответов сервера

в случае успеха:

{
  "status":"ok",
  "token":"b301f9928dda6499a74755491767208f3b156867",
  "pin_codes":[
     "1523",
     "3880",
     "8837"
  ]
}


В случае неуспеха:  

{
  "status":"error",
  "message":"Data not found with provided store_department_key, store_department_id and pin_code"
}

 

В случае если не все параметры переданы (например не передан pin_code):

{
"status":"error",
"message":"Provide store_department_key, store_department_id and pin_code"
}