SPWorlds API#
Получение токена и ID карты#
Для использования API вам надо знать ID и token для карты, с которой вы хотите совершить действие. Получить их можно в секции “Поделиться картой” на сайте.
Выполнение запросов#
Все запросы к SPWorlds API должны обслуживаться через HTTPS и должны быть предоставлены в слудующей форме:
GET
https://spworlds.ru/api/public/card
Поддерживаются GET и POST методы. Направляя любые запросы к API, добавляйте header Authorization
имеющий
форму Bearer key
Подсказка
Где key
- base64 закодированная строка ID:TOKEN
, где ID
- ID вашей карты, TOKEN
- token от нее.
Операции с картой#
Создание запроса на оплату#
Чтобы принять оплату АРами, надо сначала создать запрос на оплату. Он делается таким POST запросом:
POST
https://spworlds.ru/api/public/payment
|
Стоимость покупки в АРах |
|
URL страницы, на которую попадет пользователь после оплаты |
|
URL, куда наш сервер направит запрос, чтобы оповестить ваш сервер об успешной оплате |
|
Строка до 100 символов, сюда можно поместить любые полезные данные |
|
Ссылка на страницу оплаты, на которую стоит перенаправить пользователя. |
Получение данных об успешной оплате#
После успешной оплаты наш сервер указанный в webhookUrl
отправит POST запрос по URL, который вы
указали при создании запроса на оплату (webhookUrl).
|
Ник игрока, который совершил оплату |
|
Стоимость покупки |
|
Данные, которые вы отдали при создании запроса на оплату |
Важно
При обработке этого запроса надо подтвердить, что данные пришли из нашего сервера. Для этого в headers запроса есть X-Body-Hash
который содержит закодированнный в base64 SHA256 HMAC hash тела запроса, использующий как ключ token
вашей карты. При приеме запроса вы сначала должны сгенерировать свой hash и убедиться что он совпадает с тем что в X-Body-Hash
, прежде чем обрабатывать запрос.
Запрос баланса#
Что бы посмотреть баланс карты, необходимо сделать следующий GET запрос:
GET
https://spworlds.ru/api/public/card
Пример ответа:
{ "balance": 16 }
Переводы#
Чтобы совершить перевод надо сделать подобный POST запрос:
POST
https://spworlds.ru/api/public/transactions
|
Строка, номер карты получателя |
|
Количество аров для перевода |
|
Комментарий для перевода |
Получение ника#
Чтобы получить ник надо сделать подобный GET запрос:
GET
https://spworlds.ru/api/public/users/DISCORDID
Подсказка
Где DISCORDID
в URL - ID пользователя в Discord.
|
Ник пользователя или null, если у пользователя нет входа на сервер. |