Open main menu

Ace Stream Wiki β

Changes

Application Developers Example

2,425 bytes removed, 10:18, 6 September 2017
no edit summary
==Common information==
==Общая информация==
This example is a step-by-step description of all necessary steps to set up work of a third-party application with Ace Stream engine.
Данный пример пошагово описывает все необходимые шаги для настройки работы стороннего приложения с движком Ace Stream.
 
All requests for the example will use the following variables:
Во всех запросах для примера будут использоваться такие переменные:
* ключproduct продуктаkey <tt>kjYX790gTytRaXV04IvC-xZH3A18sj5b1Tf3I-J5XVS1xsj-j0797KwxxLpBl26HPvWMm</tt>
* API Key: <tt>94d585bda4883a40d969d723adcaba36033e61d8</tt>
* API Secret: <tt>b5dbd62b494664f5bfa9</tt>
 
These data are presented only to illustrate the example, will not work in a "real life".
Эти данные приведены исключительно для наглядности примера, в "боевом" режиме они работать не будут.
 
==Developer's registration and getting a product key==
==Регистрация разработчика и получение ключа продукта==
To start you have to register in Ace Stream system as application developer. After that you will be able to register your application and get the product key for it. How to do this is described in a section [[Developers/en|Developers]].
Для начала Вам необходимо зарегистрироваться в системе Ace Stream как разработчик приложений, после чего Вы сможете зарегистрировать свое приложение и получить для него ключ продукта. Как это сделать, описано в разделе [[Developers|Разработчики]].
 
==Working with the engine==
==Работа с движком==
By default only the engine with activated NoADs option will work with your application.
По умолчанию работать с Вашим приложением будет только движок, для которого активирована опция NoADs.
 
If this option is not activated, the engine will return an error with the following text to any attempt to play anything:
Если эта опция не активирована, то на любую попытку воспроизвести что-либо движок будет возвращать ошибку с таким текстом:
"No ADs option must be activated to use this product"
 
Example of such an error according to [[Engine_API/en|Engine API]]:
Пример получения такой ошибки согласно [[Engine_API|API движка]]:
<nowiki>>> START PID 94c2fd8fb9bc8f2fc71a2cbe9d4b866f227a0209 0
<< STATE 1
<< STATUS main:err;0;No ADs option must be activated to use this product</nowiki>
 
So, to start working your application has to check whether NoADs option is activated on the engine.
Соответственно, для начала работы Вашему приложению необходимо проверить, активирована ли опция NoADs на движке.
 
==Checking activation of NoADs option on the engine==
==Проверка активации опции NoADs на движке==
МетодMethod [[Engine_Service_API/en#get_services|get_services]] сервисногоof service engine API движкаallows позволяетto узнать,find какиеout опцииwhat активированыoptions наare движкеactivated on the engine. ДляTo этогоdo нужноthis отправитьyou have to send HTTP GET запросrequest to наthe движокengine:
<nowiki>http://localhost:6878/webui/api/service?method=get_services&product_key=kjYX790gTytRaXV04IvC</nowiki>
 
ВIn запросеthe нужноrequest передатьyou публичнуюhave частьto ключаsend продуктаa public part of the product key (kjYX790gTytRaXV04IvC) вin параметреparameter <tt>product_key</tt>.
 
'''Response options'''
'''Варианты ответов'''
 
*if an error was occured (this should not happen, so in this case, please, send us engine's logs)
*если возникла ошибка (такого не должно быть, так что в этом случае, пожалуйста, вышлите нам логи движка)
<nowiki>{"status": "error", "error": "error description"}</nowiki>
 
*if NoADs option is not activated on the engine
*если на движке не активирована опция NoADs
<nowiki>{"status": "ok", "services":[]}</nowiki>
 
*if NoADs option is activated on the engine
*если на движке активирована опция NoADs
<nowiki>{
"status": "ok",
}</nowiki>
 
There may be other options except NoADs in the returned list. To find out, whether a specific option is activated, you have to go through the list and check field <tt>id</tt> of each element (<tt>id</tt> of NoADs option - <tt>noAds</tt>).
В возвращаемом списке могут быть и другие опции, кроме NoADs. Для того, чтобы узнать, активирована ли конкретная опция, нужно пройтись по списку и проверять поле <tt>id</tt> каждого элемента (<tt>id</tt> опции NoADs - <tt>noAds</tt>).
 
If NoADs option is not activated, your application can activate it. To do this you have to follow these steps:
Если опция NoADs не активирована, Ваше приложения может ее активировать. Для этого нужно выполнить такие шаги:
* создатьcreate новыйa ключnew пользователяuser key (методmethod [[Reseller_API/en#createUserKey|createUserKey]] of API дляfor реселлеровresellers)
* активировать опциюactivate NoADs дляoption этогоfor ключаthis пользователяuser key (методmethod [[Reseller_API/en#activateService|activateService]] of API дляfor реселлеровresellers)
* загрузитьload ключuser пользователяkey вto движокthe engine (методmethod [[Engine_Service_API/en#load_extension|extension]] сервисногоof APIservice движкаengine API)
 
Task of user key is to identify user of your application in Ace Stream system without the need for the user to register in our system,.
Задача ключа пользователя - идентифицировать пользователя Вашего приложения в системе Ace Stream без необходимости для пользователя регистрироваться в нашей системе.
 
If you are able to bind user key, created using developer API, with a specific user of your application, we recommend you to do that. In this case, if necessary, for example, re-activate an additional option for the user you will not need to create a new user key. It will be enough to activate the option for existing one.
Если у Вас есть возможность связать созданный с помощью API разработчика ключ пользователя с конкретным пользователем Вашего приложения, мы рекомендуем вам сделать это. В этом случае при необходимости, например, повторно активировать дополнительную опцию для пользователя не нужно будет создавать новый ключ пользователя. Достаточно будет сделать активации опции для существующего.
 
Ниже более подробно описаны шаги по созданию нового ключа пользователя и активации.
 
More detailed steps about creating a new user key and activation are below.
==Создание ключа пользователя==
Используется метод [[Developer_API#createUserKey|createUserKey ]] API для разработчиков.
 
==Creating user key==
Запрос:
Method [[Developer_API/en#createUserKey|createUserKey ]] of developer's API is used.
 
Request:
<nowiki>https://api.acestream.net/developer?method=createUserKey &crarr;
&api_key=94d585bda4883a40d969d723adcaba36033e61d8 &crarr;
&sign=fcf118b246892d80111de2661b79edb27ff48f08</nowiki>
 
Response:
Ответ:
<nowiki>{
"userKey":"84acee3a529bafaa65215af6f86d03fe38020b2d",
}</nowiki>
 
==Activation==
==Активация==
Используется методMethod [[Developer_API/en#activateService|activateService]] of developer's API дляis разработчиковused.
 
In the example NoADs option is activated for 1 month.
В примере активируется опция NoADs сроком на 1 месяц.
 
Request:
Запрос:
<nowiki>https://api.acestream.net/developer?method=activateService &crarr;
&api_key=94d585bda4883a40d969d723adcaba36033e61d8 &crarr;
&sign=2f55622fb9c21af5b950c210774ea34247d1a073</nowiki>
 
Response:
Ответ:
<nowiki>{"validFrom":1401204680,"validTo":1403796680}</nowiki>
 
==Loading key to the engine==
==Загрузка ключа в движок==
Используется методMethod [[Engine_Service_API/en#load_extension|load_extension]] сервисногоof service engine API движкаis used.
 
Request:
Запрос:
<nowiki>POST /webui/api/service?method=load_extension HTTP/1.1
Host: localhost
L6OBnbrMrXSsjxahdQM2yFWRE\/gG91mEB6JNN0z99oswOiMghx0=</nowiki>
 
Response:
Ответ:
<nowiki>HTTP/1.0 200 OK
Server: BaseHTTP/0.3 Python/2.7.2