379
edits
Changes
no edit summary
==Термины==
* '''Реселлер''' – пользователь Ace Stream, который получил права на продажу платных опций Ace Stream
* '''Ключ пользователя''' - идентификатор пользователя Ace Stream
* '''Опция''' - дополнительная сервисная/программная услуга Ace Stream, которая может быть активирована для конкретного ключа пользователя
* '''МаркетПриложение''' - продукт реселлера (каксайт, правиломобильное, сайт)либо реселлерадесктопное приложение), через который осуществляется продажа опций
==Как стать реселлером==
* войти на сайт https://accounts.acestream.net под своим логином (если у вас нет логина, необходимо [https://accounts.acestream.net/register зарегистрироваться])
Нужно зайти на страницу https://accounts.acestream.net/partnership и нажать кнопку "Стать реселлером"▼
* выбрать раздел [https://accounts.acestream.net/partnership "Сотрудничество"] в верхнем меню
▲Нужно зайти на страницу https://accounts.acestream.net/partnership и* нажать кнопку "Стать реселлером"
==API для реселлеров==
API для реселлеров позволяет вам активировать различные дополнительные опции пользователям своих приложений.
Общая схема работы API для реселлеров выглядит так:
* для активации необходимой опции пользователю ваше приложение (сайт, мобильное либо десктопное приложение) отправляет на сервер Ace Stream запрос, в котором указывает идентификатор пользователя, опцию и период активации
* с вашего баланса в системе Ace Stream списывается стоимость указанной опции на указанный период
* указанная опция активируется для пользователя, идентификатор которого вы передали в запросе
Полное описание API для реселлеров можно найти [[Reseller_API|здесь]].
Для работы с API вам понадобятся следующие два идентификатора:
* '''API key''' - строка, которая используется для идентификации реселлера в запросах API
* '''API secret''' - секретный ключ, который используется для цифровой подписи запросов API
Данные идентификаторы можно увидеть в разделе Реселлер -> Настройки API в меню слева. Секретный ключ реселлер может поменять самостоятельно в(кнопка админ-панели"Редактировать настройки API" ).
==Создание приложений==
Для начала работы с API для реселлеров вам необходимо создать как минимум одно приложение. Для этого в разделе Реселлер -> Приложения в меню слева нажимаем кнопку "Создать новое приложение". После это вам будет предложено заполнить поля "Название" (обязательное) и "Сайт приложения" (необязательное).
Все ваши приложения отображаются в разделе Реселлер -> Приложения в виде таблицы с такими полями:
* Название - название приложения, которое вы указали при создании
* APP_ID - идентификатор приложения (используется в запросах API)
* Редактировать - редактировать приложение (можно изменить название и сайт приложения)
* OAuth - редактировать настройки OAuth данного приложения
* API - открыть API-консоль для данного приложения
Настройки OAuth вам понадобятся только в том случае, если вы планируете идентифицировать пользователей с помощью технологии OAuth2 (как правило, это необходимо для владельцев сайтов).
Для того, чтобы продать услугу пользователю, реселлер должен отправить API-запрос с такими данными:▼
API-консоль позволяет отсылать запросы от имени вашего приложения прямо со страницы сайта. Консоль предназвачена в первую очередь для того, чтобы наглядно показать формирование запросов к API (каждый запрос и ответ появляются в текстовых полях внизу страницы).
<span style="color: #a00;">Внимание!</span> API-консоль не является эмулятором запросов - все запросы настоящие и отсылаются на продакшн-сервера. Это значит, что при активации какой-либо платной опции через консоль с вашего баланса будут сняты средства. Если вы хотите поработать с API для реселлеров в тестовой среде, воспользуйтесь [[Reseller_API_Sandbox|песочницей]].
==Активация опций пользователям==
▲Для того, чтобы продатьактивировать услугуопцию пользователю, реселлер должен отправитьвызвать метод API-запрос [[Reseller_API#activateService|activateService]] с такими данными:
* API key
* APP_ID (идентификатор приложения)
* ключ пользователя
* идентификатор услугиопции
* идентификатор периода, на который необходимо активировать услугуопцию
При успешном выполнении запроса с баланса реселлера будет списана определенная сумма, а у пользователя активируется услугаопция на указанный период.
Если у пользователя в данный момент уже активирована указанная опция, то срок действия опции продлится на указанный срок.
API Key и APP_ID вы можете узнать на сайте в разделе [https://accounts.acestream.net/reseller Реселлер].
* реселлер на своем сайте размещает кнопку "Войти через Ace Stream", которая выполняет авторизацию пользователя по протоколу OAuth2▼
* после нажатия на эту кнопку все проходит согласно OAuth2:▼
Идентификаторы опций и периодов описаны [[Reseller_API|здесь]]
Как видно из описания, для активации опции реселлер должен знать ключ пользователя. Этот ключ можно получить двумя способами: либо по протоколу OAuth2, либо создать новый ключ с помощью API для реселлеров. Первый метод больше подходит для владельцев сайтов. Второй - для разработчиков приложений. Оба метода описаны ниже.
==Схема работы для владельцев сайтов==
Владельцы сайтов могут получить ключ пользователя с помощью протокола OAuth2. Для этого необходимо выполнить следующие шаги:
▲* реселлер на своем сайте размещает кнопку "Войти через Ace Stream", которая выполняет авторизацию пользователя по протоколу OAuth2
** пользователя перенаправляет на сайт Ace Stream
** если он не зарегистрирован, то регистрируется
** пользователь возвращается на сайт реселлера
** сайт реселлера получает email и ключ пользователя согласно OAuth2
* теперь пользователь авторизированавторизован на сайте реселлера и у реселлера есть ключ пользователя, по которому он может активировать ему услугуопцию
Подробнее ознакомиться с OAuth2 вы можете [[OAuth2|здесь]].
==Схема работы для разработчиков приложений==
Разработчики приложений, как правило, имеют доступ к [[Engine_Service_API|сервисному API движка]]. Это дает им возможность загружать ключи пользователя напрямую в Ace Stream Engine и активировать опции без прямого участия пользователя.
Мы предлагаем такую схему работы:
* приложение проверяет, активирована ли необходимая опция у пользователя ([[Engine_Service_API#check_user_service|check_user_service]])
* если опция не активирована, приложение создает новый ключ пользователя ([[Reseller_API#createUserKey|createUserKey]]) и загружает его в Ace Stream Engine ([[Engine_Service_API#load_extension|load_extension]])
* приложение активирует нужную опцию для нового ключа пользователя ([[Reseller_API#activateService|activateService]])
Описанная схема предполагает, что приложение реселлера и Ace Stream Engine запущены на одной и той же машине.