Changes

Jump to: navigation, search

Reseller API

2,062 bytes removed, 15:07, 6 September 2017
no edit summary
==Общее описание Common description of API==Данное This API позволяет работать с ключами пользователей в системе allows you to work with user keys in Ace Streamsystem. API предоставляет методы для создания ключей пользователей и для активации различных опций для ключейprovides methods to create user keys and activate different options for the keys.
==Формат запросовRequests format==Запросы API отправляются методом requests are sent via HTTP-GET на такие адресаmethod to the following addresses:* тестовый режим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 jsonformat.
Если при обработке запроса возникла ошибка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 APImethod* '''api_key''' - ключ клиента APIclient key* '''api_version''' - поддерживаемая версия supported API version (текущая версияcurrent version: 1.0)* '''app''' - идентификатор приложения (APP_ID)market 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 APIclient is added to the resulting string* подписью является signature is sha1-хеш от полученной строки hash of the resulting string (в шестнадцатеричном представленииin hexadecimal representation, 40 символовcharacters, маленькими буквамиlowercase)
Код на PHPcode:
<tt><nowiki>function makeSignature(array $params, $apiSecret)
{
}</nowiki></tt>
==Методы APImethods==
===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 string]] (строка, которая используется для последующей загрузки созданного ключа пользователя в движок)file which is used for the following loading to the engine
пример запроса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 Streamads)* '''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