Changes

Jump to: navigation, search

Engine Service API

748 bytes removed, 16:33, 6 September 2017
no edit summary
== МетодыCommon description==Engine service API is intended first of all to provide third-party applications with ability to find out, которые можно использовать при разработке продуктовif any Premium options for the engine, предназначенных для премиум-пользователей и/или которые будут распространяться под индивидуальной лицензией ==with which application works, are activated. Also API provides ability to activate desired option on behalf of the application.
Для проверки ключа пользователяEngine service API works at port 6878, загрузки расширения и получения списка активированных опций используется вебif any other port is not specified with option <tt>-интерфейс движка, который работает на порту 6878-http-port</tt>.
Запросы отсылаются методами API works via HTTP GET либо POST, ответы в формате JSONprotocol.Requests are sent to the address <tt><nowiki>http://localhost:6878/webui/api/service</nowiki></tt>
ФайлResponds are in JSON format, as JSON-расширение можно получить с помощью API реселлера:http://wikiRPC, but without id.acestream.org/wiki/index.php/Reseller_API
Добавили на вики описание метода ==API для создания ключа пользователя:http://wiki.acestream.org/wiki/index.php/Reseller_API#createUserKeymethods==
Метод Each request to API createUserkey позволяет создавать ключи двух разных типовmust have required parameter <tt>method</tt> that contains a name of the called method. Тип ключа задается параметром type:
<tt> type=1 </tt> - общий ключ, который обеспечит пользователю получения необходимого Премиум-статуса, для работы с любыми приложениями и отключение определенных форматов рекламы (такой ключ работает на любых устройствах с любыми приложениями)Below you can see a list of all available methods.
<tt> type=2 </tt> - ключ для индивидуальной лицензии==check_user_key===Check, который будет работать только с указанным приложениемif specified user key is downloaded to the engine.
parameters:
* '''user_key''' (''string'') - user key
При создании ключа с типом 2 в запросе обязательно должен быть указан параметр <tt> product </tt> (идентификатор продуктаresponse options:* '''{"result": "ok", к которому должен быть привязан ключ)."error": null}''' - specified key is downloaded to the engine* '''{"result": "not_found", "error": null}''' - specified key is not downloaded to the engine* '''{"result": null, "error": "error description"}''' - during query processing error was occurred
Идентификатор продукта можно будет узнать на сайте acccounts.acestream.net (пока этот раздел недоступен мы можем выдавать идентификаторы по запросу).request example: <nowiki>http://localhost:6878/webui/api/service?method=check_user_key&user_key=1179fcb364f83cc30150b3daffd55ae0a6b70fea</nowiki>
Чтобы стать реселлером, нужно зарегистрироваться у нас на сайте и зайти по ссылкеresponse:https <nowiki>{"result":"not_found", "error": null}<//accounts.acestream.net/resellernowiki>
Откроется форма регистрации реселлера, нужно нажать "зарегистрироваться", после этого мы получим письмо про регистрацию нового реселлера и поставим ему статус "подтвержден". После этого по ссылке https://accounts.acestream.net/reseller будут доступны все инструменты для реселлера===check_product_user_keys===Check availability of user keys for a specific product.
parameters:
* '''product_key''' (''string'') - public part of the product key
response options:* '''Предлагается следующая схема работы{"result": "ok", "error": null}''' (п.2 - работает для версии движка 2.2.1at least one key for a specified application was downloaded to the engine* '''{"result": "not_found", "error": null}''' -Next и 3.0.0 Beta)there are no keys for a specified application* '''{"result":null, "error": "error description"}''' - during query processing error was occurred
1) Проверка ключа пользователяrequest example: <nowiki>http://127.0.0.1localhost:6878/webui/appapi/check-user-keyservice?keymethod=check_product_user_keys&product_key=1111<user_key/nowiki>
Варианты ответовresponse: <nowiki>{"result": "ok", "error": null}</nowiki>
- если указанный ключ загружен в движок:===load_extension=== {"status": "ok"}Loading extension [[extension string]] into the app engine
- если указанный ключ не загружен в движокTo load extension string to the engine you have to send POST request to the address <nowiki>http: {"status"//localhost: "not_found"}6878/webui/api/service?method=load_extension</nowiki>
- если при обработке запроса возникла ошибка: {"error": "error description"}In body of the request you have to transfer contents of the extension string.
2) чтобы загрузить файл расширения в движокresponse options:* '''{"result": true, "error": null}''' - extension was successfully loaded to the engine* '''{"result": null, нужно отправить POST запрос на этот адрес"error": "error description"}''' - during query processing error was occurred request example: <nowiki>http://127.0.0.1localhost:6878/webui/appapi/service?method=load_extension</load-extensionnowiki>
В теле запроса нужно передать содержимое файла расщирения.response: <nowiki>{"result": true}</nowiki>
Варианты ответов:===get_services===Get a list of premium options activated on the engine.
- если расширение успешно загружен в движок: {"status": "ok"}If parameter <tt>product_key</tt> is transferred, list of options available for all applications, as well as options available only for a specified application comes back.
- если при обработке запроса возникла ошибка: {"error": "error description"}If parameter <tt>product_key</tt> is not transferred, only list of options available for all applications comes back.
3parameters:* '''product_key''' (''string'') получение списка премиум-опций, активированных на движке:http://127.0.0optional parameter that transfers public part of the product key.1:6878/webui/app/services/get
Формат ответа - массив объектов, каждый из которых описывает одну премиум-опцию.request example: <nowiki>http://localhost:6878/webui/api/service?method=get_services&product_key=1111</nowiki>
ПримерResponse format - an array of objects, each of which describes a single premium option.example:
<nowiki>{"result":[
{
"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"
}
],"error": null}</nowiki>
'''Поля:'''or
<ttnowiki> id (string) {"result": null, "error": "error description"}</ttnowiki> - идентификатор опции
<tt> Fields:* '''id''' (''string'') - option ID* '''name ''' (''string'') - option name* '''valid_from''' (''integer'') - date of option activation (unix timestamp)* '''valid_to''' (''integer'') - date untill which option is active (unix timestamp)* '''trial''' (''boolean'') - true, if option was activated for free for a trial period* '''description''' (''string'') </tt> - название опцииoption description
<tt> valid_from (integer) </tt> - дата, с которой опция активна (unix timestamp)===check_user_service===Check whether the specified option is enabled on the engine.
<tt> valid_to parameters:* '''id''' (integer''string'') </tt> - дата, по которую опция активна (unix timestamp)option ID
request example: <ttnowiki> trial (boolean) http://localhost:6878/webui/api/service?method=check_user_service&id=noAds</ttnowiki> - true, если опция активирована бесплатно на тестовый период
Response format - boolean value.Example (option is not activated):  <ttnowiki> {"result": false,"error": null}</nowiki> or  <nowiki>{"result": null, "error": "error description (string) "}</ttnowiki> - описание опции

Navigation menu