Данный API предоставляет доступ к некоторой информации о картах Game-Keeper и позволяет проводить ряд операций. Этот API является ПО промежуточного слоя, не следует предоставлять к нему доступ конечному пользователю (владельцу карты), т.к. в API отсутствуют возможности аутентификации и авторизации.
Если запрос к API был обработан, API отвечает HTTP кодом 200 OK, и возвращает информацию в json следующего вида
{ "data": null, "errors": [] }
data - запрашиваемые данные, зависят от запроса,
errors - список ошибок, возникших при выполнении запроса.
Успешность выполнения запроса определяется отсутствием ошибок.
Самую актуальную информацию всегда можно посмотреть на нашем демо-стенде по ссылке. |
Запрос
GET /api2/cards ? [n=<номер карты>]
Ответ
Различные данные о карте.
Пример:
{
"errors": null,
"data": {
"card": 12047,
"bonus": 0,
"bonusI": 0,
"points": 0,
"moneyCash": 0,
"moneyBCard": 0,
"moneyCS": 0,
"money": 0,
"tickets": 0,
"moneyAccum": 0,
"cardPrice": 0,
"level": "Стандартный",
"state": 1,
"fullName": "", "activation": "2023-02-17T16:32:32+03:00"
}
}
Где:
Запрос
GET /api2/cards/history ? [n=<номер карты>]
Ответ
Последние 100 операций по карте.
Пример:
{
"errors": null,
"data": [
{ "date": "2023-02-17T16:32:32.93+03:00",з
"name": "Продажа пакета \"Активация карты\" (Рубли)",
"activityName": "Продажа пакета",
"productName": "Активация карты",
"value": 0,
"u1code": "руб.",
"u2code": "",
"card": 12047
}, { "date": "2023-02-17T16:32:32.927+03:00",
"name": "Открытие счета \"Активация карты\"",
"activityName": "Открытие счета",
"productName": "Активация карты",
"value": 0,
"u1code": "",
"u2code": "",
"card": 12047
}
]
}
Запрос
GET /api2/cards/owner?n=номер карты
Информация о персональных данных гостя.
Пример:
{
"errors": [
{
"app": "string",
"text": "string",
"alert": true
}
],
"data": {
"card": 0,
"first_name": "string",
"last_name": "string",
"middle_name": "string",
"birthday": "2024-02-15T07:57:19.866Z",
"gender": 1,
"phone": "string",
"email": "string",
"address": "string",
"passport": "string",
"mailing_consent": true,
"personalized": true,
"in_bonus_program": true
}
}
Где:
Запрос
GET /api2/cards/coowners?n=номер карты
Ответ
Персональные данные совладельцев карты.
Пример:
Пополнение счета
POST /api2/cards/deposit ? [n=<номер карты>] & [amount=<сумма пополнения>] & [currid=<идентификатор валюты>]
Пополнение производится только счета очков-денег.
Идентификатор валюты может принимать значения от 911 до 919. Этим значениям соответствуют настраиваемые позиции валюты банковской карты в справочнике Валюты в приложении Редактор. Название валюты из справочника используется только в отчетах. При печати фискального чека на пополнение через WEB API тип оплаты всегда указывается "Банковская карта".
Содержит сумму бонусов, начисленную за пополнение, баланс карты после пополнения и номер операции пополнения в Game-Keeper. Этот номер используется при отмене операции.
Пример
{ "errors": [], "data": { "orderNo": 67508, "points": 17847, "bonus": 0 } }
POST /api2/cards/opercancel ? [opid=<номер операции>]
Содержит успешность выполнения отмены.
Пример
{ "errors": [], "data": null }
GET /api2/cards//owner ? [n=<номер карты>]
Различные данные о владельце карты.
{ "errors": [], "data": { "card": 208, "first_name": "Иван", "last_name": "Иванов", "middle_name": "Иванович", "birthday": "1999-09-19T00:00:00.0+03:00", "gender": 0, "phone": "+71234567890", "email": "az@b.c", "address": "address", "mailing_consent": true,
"personalized": true, "in_bonus_program": true
} }
POST /api2/cards//owner ? [n=<номер карты>]
Данные о владельце в теле запроса в json.
{ "first_name": "Иван", "last_name": "Иванов", "middle_name": "Иванович", "birthday": "1999-09-19T00:00:00.0+03:00", "gender": 0, "phone": "+71234567890", "email": "az@b.c", "address": "address", "mailing_consent": true,
"personalized": true, "in_bonus_program": true
}
Пол: 0-женский, 1-мужской.
Телефон следует передавать строкой в виде последовательности цифр без разделителей предваряемой знаком +, если с номером телефона планируется работа через приложения Гейм-Кипер (касса, редактор и т.п.). Если номер телефона будет использоваться только через web api, то формат строки может быть любой. Корректность и существование номера телефона или e-mail не проверяются.
Содержит успешность выполнения запроса.
Пример
{ "errors": [], "data": null }
GET /api2/cards//coowners ? [n=<номер карты>]
Различные данные о совладельцах карты.
{ "errors": [], "data": [ { "id": 1, "name": "Имя", "birthday": "2001-02-05T00:00:00.0+03:00", "gender": 1 }, { "id": 6, "name": "Имя", "birthday": "2009-12-05T00:00:00.0+03:00", "gender": 1 }, { "id": 7, "name": "Имя", "birthday": "2015-12-05T00:00:00.0+03:00", "gender": 0 } ] }
POST /api2/cards//coowner ? [n=<номер карты>] & [id=<"id" совладельца при обновлении>]
Данные о совладельце в теле запроса в json.
{ "name": "Имя", "birthday": "2004-12-05T00:00:00.0+03:00", "gender": 0 }
Пол: 0-женский, 1-мужской.
Содержит успешность выполнения запроса.
Пример
{
"errors": [],
"data": null
}
POST /api2/cards/activate ? [altcode=<альтернативный код карты (внешний ид)>]
Содержит номер активированной карты.
Пример
{ "errors": [], "data": { "cardNo": 1000000913 } }
GET /api2/cards/search ? [altcode=<альтернативный код карты (внешний ид)>]
Если карта найдена, то номер карты, если не найдена, то null.
Пример
{ "errors": [], "data": { "cardNo": 1000000913 } }
или
{ "errors": [], "data": null }
Ошибка (элемент массива errors) имеет свойства:
text - текст ошибки,
app - код приложения, сгенерировавшего ошибку; при технических ошибках (ошибках подключения) указывает работоспособность какого компонента системы (связи между какими компонентами системы) следует проверять, восстанавливать.
Возможные значения:
ApiSrv - сервер, обрабатывающий вызовы api
ExtSrv - промежуточный сервер
PosSrv - кассовый сервер
Unknown
Примеры
{ "errors": [ { "app": "ApiSrv", "text": "gender: The field gender must be between 0 and 1." }, { "app": "ApiSrv", "text": "first_name: The field first_name must be a string with a maximum length of 42." } ], "data": null } { "errors": [ { "app": "ExtSrv", "text": "Socket Error # 10061\r\nConnection refused." } ], "data": null } { "errors": [ { "app": "PosSrv", "text": "Карта не зарегистрирована." } ], "data": null }
К оглавлению.