Интеграция API
Все вызовы API осуществляются с помощью GET запросов.
Для каждого запроса должны передаваться обязательные параметры:
tr - уникальный идентификатор транзакции (максимум 40 символов).
key - публичный ключ доступа (Access Key). Генерируется на странице настройки API.
sign - подпись запроса. Являет собой MD5 хеш от строки: api_uri:secret_key.
Где api_uri - уже готовый подзапрос операции вместе со всеми параметрами, включая tr и key, начиная с /api/...
secret_key - секретный ключ (Secret Key). Генерируется на странице настройки API.
Обратите внимание: конкатенация строки осуществляется через двоеточие.
Для данного примера запроса:
http:
api_uri будет:
/api/last-jackpots/?tr=555&key=gmi6etd371nub9otgdetpga2bb281ja7&start=19800530043055&end=20150922000000&page=1&psize=25
если secret_key к примеру взять - d1np2s6e99aqfjb8214699uf9na0n28p2gqc8qg6nca8o7fcliv4mhl87rf56m0h
то sign соответственно должен быть - 7932b279113e7828df8e8cf86a9dbe53
Результат ответа на запрос всегда в "application/json;charset=utf-8" формате и статусом 200.
Каждый ответ всегда содержит как минимум два поля:
success - результат выполнения операции. Успешно - true, ошибка - false.
tr - уникальный идентификатор транзакции который был передан в запросе.
В случае ошибки, в ответе дополнительно передаются:
code - код ошибки.
message - описание ошибки.
При успешном завершении операции, в ответе дополнительно передаются зависящие от конкретного запроса данные.
Если запрос подразумевает постраничную навигацию - в теле ответа также будет присутствовать информация о ней. Например:
...}
Формат представления даты (периода) во входящих и исходящих параметрах - "yyyyMMddHHmmss".
Важно! Если несколько раз вызывать одну и ту же операцию с одинаковым идентификатором транзакции - все резульататы кроме первого будут браться из кеша. Необходимо например, если вы вызвали операцию создания счета и по каким либо причинам (обрыв связи например) не получили ответ. Если повторно сделать вызов этой операции - счет повторно создан не будет, а вернется результат самой первой операции с тем же идентификатором транзакции.
Список операций и их параметры с примерами успешных ответов:
Создание нового счета - /api/invoice/new
sum - начальная сумма на счету.
Проверка состояния счета - /api/invoice/check
invoice - номер счета.
Пополнить счет - /api/invoice/add
invoice - номер счета.
sum - сумма.
Закрыть счет - /api/invoice/close
invoice - номер счета.
Получить джекпот и бонус - /api/jp-bonus
Общие данные о перечислениях по счету - /api/invoice/total
invoice - номер счета.
start - начальный период.
end - конечный период.
Получить список субагентов - /api/subagents
parent - если parent пустой - возвращает весь список субагентов текущего пользователя API. Если parent задан - то его субагентов.
page - текущая страница. (Опционально. По умолчанию - 1)
psize - количество елементов на странице. (Опционально. По умолчанию - 10)
, "sub-agents" : [ , , , , , ] }
Возможные роли: ROLE_TELLER(кассир), ROLE_AGENT(агент) и ROLE_MANAGER(руководитель зала)
Сумарная финансовая информация по субагенту за определенный период - /api/report-user
Баланс, Депозит, Выплата, Результат, Счета
login - логин субагента.
start - начальный период.
end - конечный период.
Сделать перевод субагенту или вернуть деньги от субагента - /api/transfer
Субагент с ролью ROLE_TELLER(кассир) не имеет права делать перевод.
login - логин субагента которому нужно сделать перевод.
sum - сумма перевода. Если сумма положительная - делаем перевод. Если отрицательная - возвращаем деньги от субагента
Получить историю игр по счету - /api/invoice/games-history
invoice - номер счета.
page - текущая страница. (Опционально. По умолчанию - 1)
psize - количество елементов на странице. (Опционально. По умолчанию - 10)
, "game-history" : [ ] }
Последние джекпоты - /api/last-jackpots
start - начальный период.
end - конечный период.
page - текущая страница. (Опционально. По умолчанию - 1)
psize - количество елементов на странице. (Опционально. По умолчанию - 10)
, "last-jackpots" : [ , ] }