Difference between revisions of "Engine Service API"

From Ace Stream Wiki
Jump to: navigation, search
(Новая страница: «== Методы, которые можно использовать при разработке продуктов, предназначенных для преми…»)
(No difference)

Revision as of 17:17, 4 February 2014

Методы, которые можно использовать при разработке продуктов, предназначенных для премиум-пользователей и/или которые будут распространяться под индивидуальной лицензией

Для проверки ключа пользователя, загрузки расширения и получения списка активированных опций используется веб-интерфейс движка, который работает на порту 6878.

Запросы отсылаются методами HTTP GET либо POST, ответы в формате JSON.

Файл-расширение можно получить с помощью API реселлера: http://wiki.acestream.org/wiki/index.php/Reseller_API

Добавили на вики описание метода API для создания ключа пользователя: http://wiki.acestream.org/wiki/index.php/Reseller_API#createUserKey

Метод API createUserkey позволяет создавать ключи двух разных типов. Тип ключа задается параметром type:

type=1 - общий ключ, который обеспечит пользователю получения необходимого Премиум-статуса, для работы с любыми приложениями и отключение определенных форматов рекламы (такой ключ работает на любых устройствах с любыми приложениями)

type=2 - ключ для индивидуальной лицензии, который будет работать только с указанным приложением.


При создании ключа с типом 2 в запросе обязательно должен быть указан параметр product (идентификатор продукта, к которому должен быть привязан ключ).

Идентификатор продукта можно будет узнать на сайте acccounts.acestream.net (пока этот раздел недоступен мы можем выдавать идентификаторы по запросу).

Чтобы стать реселлером, нужно зарегистрироваться у нас на сайте и зайти по ссылке: https://accounts.acestream.net/reseller

Откроется форма регистрации реселлера, нужно нажать "зарегистрироваться", после этого мы получим письмо про регистрацию нового реселлера и поставим ему статус "подтвержден". После этого по ссылке https://accounts.acestream.net/reseller будут доступны все инструменты для реселлера.


Предлагается следующая схема работы (п.2 - работает для версии движка 2.2.1-Next и 3.0.0 Beta):

1) Проверка ключа пользователя: http://127.0.0.1:6878/webui/app/check-user-key?key=<user_ key>

Варианты ответов:

- если указанный ключ загружен в движок:

 {"status": "ok"}

- если указанный ключ не загружен в движок:

 {"status": "not_found"}

- если при обработке запроса возникла ошибка:

 {"error": "error description"}

2) чтобы загрузить файл расширения в движок, нужно отправить POST запрос на этот адрес: http://127.0.0.1:6878/webui/app/load-extension

В теле запроса нужно передать содержимое файла расщирения.

Варианты ответов:

- если расширение успешно загружен в движок:

 {"status": "ok"}

- если при обработке запроса возникла ошибка:

 {"error": "error description"}

3) получение списка премиум-опций, активированных на движке: http://127.0.0.1:6878/webui/app/services/get

Формат ответа - массив объектов, каждый из которых описывает одну премиум-опцию.

Пример:

[
 {
  "id": "noAds",
  "name": "No ADs",  
   "valid_from": 1376939146,
   "valid_to": 1411671946,
   "trial": false,

   "description": "\u041e\u0442\u043a\u043b\
    u044e\u0447\u0435\u043d\u0438\u0435 \u0440\u0435\u043a\u043b\u0430\u043c\u044b Ace Stream"
 }
]

Поля:

id (string) - идентификатор опции

name (string) - название опции

valid_from (integer) - дата, с которой опция активна (unix timestamp)

valid_to (integer) - дата, по которую опция активна (unix timestamp)

trial (boolean) - true, если опция активирована бесплатно на тестовый период

description (string) - описание опции