Bytecoin 4.0 API
Oleg MikhailovСоздавайте интересные мини-игры и сервисы на байткоины! Вы сможете создать сервис, чтобы ему переводить, получать каллбеки переводов и переводить с сервиса пользователям. Сервисы имеют комиссию на перевод 5% в отличии от переводов пользователей в 10%. Также, разработчики создавшие интересные сервисы попадут на главную страницу приложения и получат игровую валюту для взаимодействия с пользователями.
Начнём.
Для того, чтобы создать сервис напиши нашему боту создать сервис.


Далее:
Сервис создан. Теперь нужно настроить API. Пишем боту управление сервисами.

Для того, чтобы API заработало и присылались каллбеки о переводах, нужно сделать тестовый запрос на ваш адрес каллбеков и ваш сервер должен будет ответить OK со статусом ответа 200. Для этого напишите боту тестовый запрос.

После того как каллбеки включились, можно принимать запросы с переводами от пользователей! На ваш адрес каллбеков будут отправляться запросы с переводами от пользователей в следующем виде:



Важно: Если ваш сервер не принял запрос и не отправил код успеха 200, что означает запрос успешно обработан, наш сервер будет пуляться запросами с интервалами через секунду, 10 секунд, минуту, 30 минут и час пока этого не произойдёт!
Само API.
Для того чтобы посылать запросы и получать ответы от API, вам понадобится ваш токен. Его выдал бот после создания сервиса или его можно получить в команде управление сервисами > информация.
Ограничение: Одновременно можно выполнять только 1 API запрос! Параллельный второй запрос вызовет ошибку too_much_requests со статусом 429!
Получение переводов:
Адрес: https://oleegarch.com/bytecoin4/api/serviceTransfers/get
Параметры:
accessToken — обязательный параметр токена вашего сервиса.
skip — смещение для выборки переводов. Необязательно. 0-Infinity.
limit — ограничить количество получаемых переводов. Необязательно. 1-100.

Создание массивного перевода байткоинов:
Адрес: https://oleegarch.com/bytecoin4/api/serviceTransfers/create
Параметры:
accessToken — обязательный параметр токена вашего сервиса.
to — массив из объектов кому мы будем переводить. Максимум 1000 объектов. Объект должен содержать поля:
to.$.id — идентификатор пользователя в нашей игре. Это не идентификатор телеграма. Его можно получить в каллбеке о переводе в поле data.from._id.
to.$.amount — сумма перевода.
to.$.direction — направление перевода. В вашем случае всегда равно значению Users.

Создание перевода байткоинов, флешек или территории:
Адрес: https://oleegarch.com/bytecoin4/api/serviceTransfers/createBet
Параметры:
accessToken — обязательный параметр токена вашего сервиса.
recipientId — идентификатор пользователя в нашей игре. Это не идентификатор телеграма. Его можно получить в каллбеке о любом типе перевода в поле data.from._id.
recipientType — направление перевода. В вашем случае всегда равно значению Users.
bet — объект с данными о сумме и типе перевода.
bet.type — что будем переводить: байткоины (bytecoins), флешки (multipliers) или территорию (territorySquareMeters).
bet.amount — сумма перевода.
bet.data — дополнительные данные для перевода. В случае флешек равно названию флешки, в остальных случаях пустая строка.



Ответ:
recipient — данные о получателе перевода.
bet — данные о сумме перевода.
yourService — данные о вашем сервисе. Содержит такие поля как: bytecoins (счёт сервиса в байткоинах), multipliersOnHand (количество флешек на счету сервиса), territorySquareMeters (сколько территории на счету сервиса.
Список флешек игры:
Флешка для мышек (flash_drive_for_mouses)
Флешка для видеокарт (flash_drive_for_videocards)
Флешка для процессоров (flash_drive_for_processors)
Флешка для автокликеров (flash_drive_for_autoclickers)
Флешка для бустеров (flash_drive_for_boosters)
Флешка для кулеров (flash_drive_for_coolers)
Флешка для ферм (flash_drive_for_farms)
Флешка халявщика (flash_drive_for_dailyBonus)
Флешка воздухоплавателя (flash_drive_for_balloonBonus)
Флешка для усилителя (flash_drive_for_amplifiers)
Флешка с антивирусом (flash_drive_for_protection)
Флешка взломщика (flash_drive_for_hacking)
Флешка Ларри Пейджа (flash_drive_larry_page)
Флешка Сергея Брина (flash_drive_sergey_brin)
Флешка Цукенберга (flash_drive_zuckerberg)
Флешка Билла Гейтса (flash_drive_bill_gates)
Флешка Джеффа Безоса (flash_drive_jeff_bezos)
Флешка Уоррена Баффетта (flash_drive_warren_beffett)
Флешка Стива Джобса (flash_drive_steve_jobs)
Флешка Сатоси Накамото (flash_drive_satosi_nakamoto)
Флешка Пола Аллена (flash_drive_paul_allen)
Флешка Ларри Эллисона (flash_drive_larry_ellison)
Флешка Тима Бернерса-Ли (flash_drive_tim_berners_lee)
Флешка Илона Маска (flash_drive_ilon_mask)
Флешка Дурова (flash_drive_durov)
Флешка Боба Кана (flash_drive_bob_kahn)
Флешка джуна (flash_drive_june)
Флешка миддла (flash_drive_middle)
Флешка сеньора (flash_drive_senior)
Флешка тимлида (flash_drive_team_lead)
Флешка хакера (flash_drive_hacker)