Open main menu

Ace Stream Wiki β

Changes

Resellers

5,501 bytes removed, 10:42, 6 September 2017
no edit summary
==ТерминыTerms==
* '''РеселлерReseller''' – пользователь Ace Stream, которыйuser получилwho праваhas наgot продажуrights платныхto опцийsell paid Ace Stream options
* '''User key''' - Ace Stream user's ID
* '''Ключ пользователя''' - идентификатор пользователя Ace Stream
* '''Option''' - additional service / software service of Ace Stream, which can be activated for a specific user key
* '''Опция''' - дополнительная сервисная/программная услуга Ace Stream, которая может быть активирована для конкретного ключа пользователя
* '''App''' - reseller's product (site, mobile or desktop application), which is used to sell options
* '''Приложение''' - продукт реселлера (сайт, мобильное, либо десктопное приложение), через который осуществляется продажа опций
 
==How to become a reseller==
==Как стать реселлером==
* войтиlog наin сайтto site https://accounts.acestream.net подusing своимyour логиномlogin (еслиif уyou васdo нетnot логинаhave the login, необходимоyou have to [https://accounts.acestream.net/register зарегистрироватьсяregister])
* выбратьchoose разделsection [https://accounts.acestream.net/partnership "СотрудничествоPartnership"] вin верхнемa менюtop menu
* click button "Become a reseller"
* нажать кнопку "Стать реселлером"
 
==API дляfor реселлеровResellers==
API for resellers allows you to activate different additional options for users of your apps.
API для реселлеров позволяет вам активировать различные дополнительные опции пользователям своих приложений.
 
A common scheme of work of API for resellers looks like this:
Общая схема работы API для реселлеров выглядит так:
* to activate a required option for a user your app (site, mobile or desktop app) sends a request to Ace Stream server, in which specifies user's id, option and activation period
* для активации необходимой опции пользователю ваше приложение (сайт, мобильное либо десктопное приложение) отправляет на сервер Ace Stream запрос, в котором указывает идентификатор пользователя, опцию и период активации
* the cost of specified option for the specified period is charged from your balance in Ace Stream system
* с вашего баланса в системе Ace Stream списывается стоимость указанной опции на указанный период
* specified option is activated for the user whose id you specified in the request
* указанная опция активируется для пользователя, идентификатор которого вы передали в запросе
 
ПолноеFull описаниеdescription of API дляfor resellers реселлеровyou можноcan найтиfind [[Reseller_API/en|здесьhere]].
 
To work with API you will need the following two identifiers:
Для работы с API вам понадобятся следующие два идентификатора:
* '''API key''' - string, used for reseller's ID in API requests
* '''API key''' - строка, которая используется для идентификации реселлера в запросах API
* '''API secret''' - секретныйsecret ключkey, которыйused используетсяfor дляa цифровойdigital подписиsignature запросовof API requests
 
You can find these identifiers in section Reseller -> API settings in a left menu. The reseller can change a secret key by themselves (button "Edit API settings").
Данные идентификаторы можно увидеть в разделе Реселлер -> Настройки API в меню слева. Секретный ключ реселлер может поменять самостоятельно (кнопка "Редактировать настройки API" ).
 
==Creating apps==
==Создание приложений==
To start working with API for resellers you have to create at least one app. To do this click button "Create a new application" in section Reseller -> Applications in the left menu. After this you will be proposed to fill fields "Name" (mandatory) and "Application's site"(optional).
Для начала работы с API для реселлеров вам необходимо создать как минимум одно приложение. Для этого в разделе Реселлер -> Приложения в меню слева нажимаем кнопку "Создать новое приложение". После это вам будет предложено заполнить поля "Название" (обязательное) и "Сайт приложения" (необязательное).
 
All your apps can be seen in section Reseller -> Applications in a table with the following fields:
Все ваши приложения отображаются в разделе Реселлер -> Приложения в виде таблицы с такими полями:
* Name - app's name that you specified when created the app
* Название - название приложения, которое вы указали при создании
* APP_ID - app's identifier (it is used in API requests)
* APP_ID - идентификатор приложения (используется в запросах API)
* Edit - edit the app (you can change app's name and site)
* Редактировать - редактировать приложение (можно изменить название и сайт приложения)
* OAuth - edit settings OAuth of this app
* OAuth - редактировать настройки OAuth данного приложения
* API - open API-console of this app
* API - открыть API-консоль для данного приложения
 
You will need OAuth settings only if you plan to identify users using OAuth2 technology (usually, it is necessary for sites' owners).
Настройки OAuth вам понадобятся только в том случае, если вы планируете идентифицировать пользователей с помощью технологии OAuth2 (как правило, это необходимо для владельцев сайтов).
 
API-console allows you to send requests on behalf of your application directly from site. The console is intended primarily to demonstrate the formation of requests to API (each request and response appear in text fields at the bottom of the page).
API-консоль позволяет отсылать запросы от имени вашего приложения прямо со страницы сайта. Консоль предназначена в первую очередь для того, чтобы наглядно показать формирование запросов к API (каждый запрос и ответ появляются в текстовых полях внизу страницы).
 
<span style="color: #a00;">Attention!</span> API-console is not an emulator of requests - all requests are real and are sent to production-servers. It means that when some paid option is activated from console money will be withdrawn from your balance. If you would like to work with API for resellers in a test mode, use [[Reseller_API_Sandbox|sandbox]].
<span style="color: #a00;">Внимание!</span> API-консоль не является эмулятором запросов - все запросы настоящие и отсылаются на продакшн-сервера. Это значит, что при активации какой-либо платной опции через консоль с вашего баланса будут сняты средства. Если вы хотите поработать с API для реселлеров в тестовой среде, воспользуйтесь [[Reseller_API_Sandbox|песочницей]].
 
==Options activation reminder==
==Когда необходимо активировать опции==
App engine can notice user about missing options. Notification method depends on API you choose:
Движок может сообщать о необходимости активировать ту или иную опцию при старте либо во время воспроизведения. Метод оповещения зависит от того, какое API вы используете для управления движком:
* дляmore пользователейabout Engine API описание [[Engine_API#example-missing-option-on-start|здесьhere]]
* дляmore пользователейabout HTTP API описание [[Engine_HTTP_API#stop-notifications|здесьhere]]
 
==Activation of options for users==
==Активация опций пользователям==
ДляTo того,activate чтобыthe активироватьoption опциюfor пользователю,user реселлерreseller долженhas вызватьto методcall API method [[Reseller_API#activateService|activateService]] сwith the такимиfollowing даннымиdata:
* API key
* APP_ID (идентификаторapplication приложенияidentifier)
* user key
* ключ пользователя
* option ID
* идентификатор опции
* ID of period for which an option has to be activated
* идентификатор периода, на который необходимо активировать опцию
 
If the request was successful a certain amount of money will be charged from reseller's balance, and the option for the requested period will be activated.
При успешном выполнении запроса с баланса реселлера будет списана определенная сумма, а у пользователя активируется опция на указанный период.
 
If a specified option is already activated at this moment, then validation period of the option will continue for a stated period.
Если у пользователя в данный момент уже активирована указанная опция, то срок действия опции продлится на указанный срок.
 
API Key иand APP_ID выyou можетеcan узнатьfind наout сайтеon вthe разделеsite in section [https://accounts.acestream.net/reseller РеселлерReseller].
 
Identifiers of options and periods are described [[Reseller_API|here]]
Идентификаторы опций и периодов описаны [[Reseller_API|здесь]]
 
As it is seen from the description, to activate options reseller has to know user key. This key can be obtained in two ways: either via OAuth2 protocol, or to create a new key using API for resellers. The first method is more suitable for sites' owners. The second - for apps' developers. Both methods are described below.
Как видно из описания, для активации опции реселлер должен знать ключ пользователя. Этот ключ можно получить двумя способами: либо по протоколу OAuth2, либо создать новый ключ с помощью API для реселлеров. Первый метод больше подходит для владельцев сайтов. Второй - для разработчиков приложений. Оба метода описаны ниже.
 
==Work scheme for sites' owners==
==Схема работы для владельцев сайтов==
Sites' owners can get user key using OAuth2 protocol. To do this they have to do the following steps:
Владельцы сайтов могут получить ключ пользователя с помощью протокола OAuth2. Для этого необходимо выполнить следующие шаги:
* reseller places on his site a button "Log in with Ace Stream"
* реселлер на своем сайте размещает кнопку "Войти через Ace Stream"
* after pressing this button everything goes according to OAuth2:
* после нажатия на эту кнопку проходит авторизация пользователя согласно OAuth2:
** user is redirected to Ace Stream site
** пользователя перенаправляет на сайт Ace Stream
** if he's not registered, he registers
** если он не зарегистрирован, то регистрируется
** if he's registered, but not logged in, he logs in
** если зарегистрирован, но не залогинен, то выполняет процедуру входа
** if user logs in to reseller's site via Ace Stream OAuth2 at the first time, he agrees to provide some of his personal data to reseller's site (email and user key)
** если пользователь первый раз входит на сайт реселлера через Ace Stream OAuth2, то он дает свое согласие на предоставление некоторых персональных данных сайту реселлера (email и ключ пользователя)
** user goes back to reseller's site
** пользователь возвращается на сайт реселлера
** reseller's site receives email and user key according to OAuth2
** сайт реселлера получает email и ключ пользователя согласно OAuth2
* now user is authorized at reseller's site, and the reseller has user key, by which he can activate the option for user
* теперь пользователь авторизован на сайте реселлера и у реселлера есть ключ пользователя, по которому он может активировать ему опцию
 
More detailed information about OAuth2 is [[OAuth2/en|here]].
Подробнее ознакомиться с OAuth2 вы можете [[OAuth2|здесь]].
 
==Work scheme for apps' developers==
==Схема работы для разработчиков приложений==
Apps' developers usually have access to [[Engine_Service_API/en|Engine service API]]. It gives them ability to upload user keys directly to Ace Stream Engine and activate options without direct user intervention.
Разработчики приложений, как правило, имеют доступ к [[Engine_Service_API|сервисному API движка]]. Это дает им возможность загружать ключи пользователя напрямую в Ace Stream Engine и активировать опции без прямого участия пользователя.
 
We propose the following work scheme:
Мы предлагаем такую схему работы:
* приложениеapp проверяет,checks активирована лиwhether необходимаяthe опцияrequired уoption пользователяis activated ([[Engine_Service_API#check_user_service|check_user_service]])
* еслиif опцияthe неoption активированаis not activated, приложениеapp creates создаетa новыйnew ключuser пользователяkey ([[Reseller_API#createUserKey|createUserKey]]) иand загружаетuploads егоit вto Ace Stream Engine ([[Engine_Service_API#load_extension|load_extension]])
* приложениеapp активируетactivates нужнуюa опциюrequired дляoption новогоfor ключаa пользователяnew user key ([[Reseller_API#activateService|activateService]])
 
Described scheme assumes that reseller's app and Ace Stream Engine are run on the same device.
Описанная схема предполагает, что приложение реселлера и Ace Stream Engine запущены на одной и той же машине.