Оглавление | ||
---|---|---|
|
ОБЩАЯ ИНФОРМАЦИЯ
Данный 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"
...
}
}
Где:
- card - номер карты;
- bonus - сумма бонусов;
- bonusI- сумма неактивных бонусов;
- points - сумма игровых очков;
- moneyCash - сумма наличных денег;
- moneyBCard - сумма, оплаченная банковской картой;
- moneyCS - сумма, оплаченная безналичным платежом;
- tickets - сумма тикетов;
- moneyAccum - общая внесенная сумма;
- state - ID статуса карты;
- fullName -
- activation - время активации карты.
История операций
Запрос
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
}
}
Где:
- card - номер карты;
- first_name - имя владельца карты;
- last_name - фамилия владельца карты;
- middle_name - отчество владельца карты;
- birthday - день рождения;
- gender - пол (1 - жен; 0 - муж);
- phone - номер телефона;
- email - электронная почта;
- address - адрес;
- passport - паспортные данные;
- mailing_consent - согласие на рассылку;
- personalized - стоит галочка персонализированный;
- in_bonus_program - находится в системе бонусов.
Альтернативный код (внешний идентификатор)
Информация о совладельцах
Запрос
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": "firstИван", "last_name": "lastИванов", "middle_name": "mИванович", "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": "firstИван", "last_name": "lastИванов", "middle_name": "mИванович", "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": "fishИмя", "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 }
К оглавлению.