Changes

Jump to: navigation, search

Reseller API

2,062 bytes removed, 13:07, 6 September 2017
no edit summary
==ОбщееCommon описаниеdescription of API==
This API allows you to work with user keys in Ace Stream system. API provides methods to create user keys and activate different options for the keys.
Данное API позволяет работать с ключами пользователей в системе Ace Stream. API предоставляет методы для создания ключей пользователей и для активации различных опций для ключей.
 
==Requests format==
==Формат запросов==
API requests are sent via HTTP-GET method to the following addresses:
Запросы API отправляются методом HTTP-GET на такие адреса:
* тестовыйtest режимmode: <tt><nowiki>https://api-sandbox.acestream.net/reseller</nowiki></tt>
* боевойwork режимmode: <tt><nowiki>https://api.acestream.net/reseller</nowiki></tt>
 
Responses for these requests comes in json format.
Ответы на запросы приходят в формате json.
 
If during query processing an error was occurred, the following kind of response will be sent:
Если при обработке запроса возникла ошибка, будет отослан ответ такого вида:
<tt><nowiki>{"error":"error descrtiption"}</nowiki></tt>
 
Responses to successfully processed requests depend on a method being called
Ответы за успешно обработанные запросы зависят от вызываемого метода.
 
===Required common parameters for all requests===
===Обязательные общие параметры для всех запросов===
* '''method''' - вызываемый методcalled API method
* '''api_key''' - ключAPI клиентаclient APIkey
* '''api_version''' - поддерживаемая версияsupported API version (текущаяcurrent версияversion: 1.0)
* '''app''' - идентификаторmarket приложения (APP_ID)ID
* '''sign''' - цифроваяrequest's подписьdigital запросаsignature
 
===Algorithm for generating a digital signature===
===Алгоритм формирования цифровой подписи===
* array of strings like "parameter_name=parameter_value" is created
* создается массив строк вида "название_параметра=значение_параметра"
* the resulting array is sorted
* полученный массив сортируется
* elements of the sorted array are combined in a string with a separator "#"
* элементы отсортированного массива объединяются в строку с разделителем "#"
* private key of API client is added to the resulting string
* к полученной строке добавляется секретный ключ клиента API
* signature is sha1-hash of the resulting string (in hexadecimal representation, 40 characters, lowercase)
* подписью является sha1-хеш от полученной строки (в шестнадцатеричном представлении, 40 символов, маленькими буквами)
 
PHP code:
Код на PHP:
<tt><nowiki>function makeSignature(array $params, $apiSecret)
{
}</nowiki></tt>
 
==Методы API methods==
 
===getServiceCost===
Get the cost of a service
Получить стоимость опции
 
parameters:
параметры:
* '''service''' (''string'') - идентификаторservice опцииID
* '''period''' (''string'') - идентификаторperiod периодаID
 
fields in response:
поля в ответе:
* '''cost''' (''decimal'') - стоимостьthe опцииcost наof указанныйthe периодservice вfor a specified period in EUR
 
request example:
пример запроса:
<nowiki>https://api.acestream.net/reseller?method=getServiceCost &crarr;
&api_version=1.0 &crarr;
&sign=45c84ceffd3ec443586e8f4666b28abde8400768</nowiki>
 
response:
ответ:
<nowiki>{"cost":1}</nowiki>
 
===activateService===
Activate service for user
Активировать опцию для пользователя.
 
As a result of successful activation, funds will be charged from reseller's balance.
В результате успешной активации средства будут списаны с баланса реселлера.
 
parameters:
параметры:
* '''user_key''' (''string'') - ключuser пользователяkey
* '''service''' (''string'') - идентификаторservice опцииID
* '''period''' (''string'') - идентификаторperiod периодаID
 
fields in response:
поля в ответе:
* '''validFrom''' (''unix timestamp'') - сfrom какогоwhat времениtime опцияservice активнаis active
* '''validTo''' (''unix timestamp'') - доtill какогоwhat времениtime опцияservice активнаwill be active
 
request example:
пример запроса:
<nowiki>https://api.acestream.net/reseller?method=activateService &crarr;
&api_version=1.0 &crarr;
&sign=c4df772a4a41ad7bbb4d7d07e46cad5e3622c59e</nowiki>
 
response (successful activation):
ответ (успешная активация опции):
<nowiki>{"validFrom":1376048972,"validTo":1378640972}</nowiki>
 
response (there are not enough funds on resellers balance to activate the service):
ответ (на балансе реселлера недостаточно средств для активации опции):
<nowiki>{"error":"not enough credits"}</nowiki>
 
===getUserKeyInfo===
Get information about user key
Получить информацию о ключе пользователя
 
parameters:
параметры:
* '''user_key''' (''string'') - ключuser пользователяkey
 
fields in response:
поля в ответе:
* '''services''' (''array'') - массивarray опцийof services, привязанныхbound кto данномуthis ключуuser пользователяkey. КаждаяEach service ia described опцияwith описываетсяthe такимиfollowing полямиfields:
** '''id''' (''string'') - идентификаторservice опцииID
** '''validFrom''' (''unix timestamp'') - сfrom какогоwhat времениtime опцияservice активнаis active
** '''validTo''' (''unix timestamp'') - доtill какогоwhat времениtime опцияservice активнаwill be active
** '''enabled''' (''boolean'') - активнаis лиservice опцияactive вat данныйthis моментmoment
 
request example:
пример запроса:
<nowiki>https://api.acestream.net/reseller?method=getUserKeyInfo &crarr;
&api_version=1.0 &crarr;
&sign=5e0fc46d908e5f224ce9fce9f6a83dd6b3502cc0</nowiki>
 
response (no services):
ответ (нет опций):
<tt>{"services":[]}</tt>
 
response (there are services):
ответ (есть опции):
<nowiki>{"services": [
{"id": "noAds", "validFrom": 1374673235, "validTo": 1445089235, "enabled": true},
 
===createUserKey===
Create a new user key
Создать новый ключ пользователя
 
fields in response:
поля в ответе:
* '''userKey''' (''string'') - созданныйcreated ключuser пользователяkey
* '''extension''' (''string'') - content of extension file which is used for the following loading to the engine
* '''extension''' (''string'') - [[extension string]] (строка, которая используется для последующей загрузки созданного ключа пользователя в движок)
 
request example:
пример запроса:
 
<nowiki>https://api.acestream.net/reseller?method=createUserKey &crarr;
&sign=99982a11708ef4a80e12f1ca845d314340db8869</nowiki>
 
response:
ответ:
<tt>{
"userKey": "c7456d962209ce22a8edd0c788940a15792bc575",
}</tt>
 
==Service ID==
==Идентификаторы опций==
* '''noAds''' - опцияservice "No ADs" (отключение рекламыdisable Ace Stream ads)
* '''premium''' - опцияservice "Premium Streams" (доступaccess кto премиум-контентуpremium content)
* '''premium1device''' - премиумpremium наfor одноone устройствоdevice
* '''proxyServer''' - опция "Proxy Server" option (разрешаетit использованиеallows using Ace Stream стороннимиby third-party программнымиsoftware продуктамиproducts)
 
==Period ID==
==Идентификаторы периодов==
* '''m1''' - 30 днейdays
* '''y1''' - 365 днейdays

Navigation menu