Difference between revisions of "Resellers"

From Ace Stream Wiki
Jump to: navigation, search
Line 41: Line 41:
  
 
<span style="color: #a00;">Внимание!</span> API-консоль не является эмулятором запросов - все запросы настоящие и отсылаются на продакшн-сервера. Это значит, что при активации какой-либо платной опции через консоль с вашего баланса будут сняты средства. Если вы хотите поработать с API для реселлеров в тестовой среде, воспользуйтесь [[Reseller_API_Sandbox|песочницей]].
 
<span style="color: #a00;">Внимание!</span> API-консоль не является эмулятором запросов - все запросы настоящие и отсылаются на продакшн-сервера. Это значит, что при активации какой-либо платной опции через консоль с вашего баланса будут сняты средства. Если вы хотите поработать с API для реселлеров в тестовой среде, воспользуйтесь [[Reseller_API_Sandbox|песочницей]].
 +
 +
==Когда необходимо активировать опции==
 +
Движок может сообщать о необходимости активировать ту или иную опцию при старте либо во время воспроизведения. Метод оповещения зависит от того, какое API вы используете для управления движком:
 +
* для пользователей Engine API описание [[Engine_API#example-missing-option-on-start|здесь]]
 +
* для пользователей HTTP API описание [[Engine_HTTP_API#stop-notifications|здесь]]
  
 
==Активация опций пользователям==
 
==Активация опций пользователям==

Revision as of 15:29, 3 December 2015

Термины

  • Реселлер – пользователь Ace Stream, который получил права на продажу платных опций Ace Stream
  • Ключ пользователя - идентификатор пользователя Ace Stream
  • Опция - дополнительная сервисная/программная услуга Ace Stream, которая может быть активирована для конкретного ключа пользователя
  • Приложение - продукт реселлера (сайт, мобильное, либо десктопное приложение), через который осуществляется продажа опций

Как стать реселлером

API для реселлеров

API для реселлеров позволяет вам активировать различные дополнительные опции пользователям своих приложений.

Общая схема работы API для реселлеров выглядит так:

  • для активации необходимой опции пользователю ваше приложение (сайт, мобильное либо десктопное приложение) отправляет на сервер Ace Stream запрос, в котором указывает идентификатор пользователя, опцию и период активации
  • с вашего баланса в системе Ace Stream списывается стоимость указанной опции на указанный период
  • указанная опция активируется для пользователя, идентификатор которого вы передали в запросе

Полное описание API для реселлеров можно найти здесь.

Для работы с API вам понадобятся следующие два идентификатора:

  • API key - строка, которая используется для идентификации реселлера в запросах API
  • API secret - секретный ключ, который используется для цифровой подписи запросов API

Данные идентификаторы можно увидеть в разделе Реселлер -> Настройки API в меню слева. Секретный ключ реселлер может поменять самостоятельно (кнопка "Редактировать настройки API" ).

Создание приложений

Для начала работы с API для реселлеров вам необходимо создать как минимум одно приложение. Для этого в разделе Реселлер -> Приложения в меню слева нажимаем кнопку "Создать новое приложение". После это вам будет предложено заполнить поля "Название" (обязательное) и "Сайт приложения" (необязательное).

Все ваши приложения отображаются в разделе Реселлер -> Приложения в виде таблицы с такими полями:

  • Название - название приложения, которое вы указали при создании
  • APP_ID - идентификатор приложения (используется в запросах API)
  • Редактировать - редактировать приложение (можно изменить название и сайт приложения)
  • OAuth - редактировать настройки OAuth данного приложения
  • API - открыть API-консоль для данного приложения

Настройки OAuth вам понадобятся только в том случае, если вы планируете идентифицировать пользователей с помощью технологии OAuth2 (как правило, это необходимо для владельцев сайтов).

API-консоль позволяет отсылать запросы от имени вашего приложения прямо со страницы сайта. Консоль предназначена в первую очередь для того, чтобы наглядно показать формирование запросов к API (каждый запрос и ответ появляются в текстовых полях внизу страницы).

Внимание! API-консоль не является эмулятором запросов - все запросы настоящие и отсылаются на продакшн-сервера. Это значит, что при активации какой-либо платной опции через консоль с вашего баланса будут сняты средства. Если вы хотите поработать с API для реселлеров в тестовой среде, воспользуйтесь песочницей.

Когда необходимо активировать опции

Движок может сообщать о необходимости активировать ту или иную опцию при старте либо во время воспроизведения. Метод оповещения зависит от того, какое API вы используете для управления движком:

  • для пользователей Engine API описание здесь
  • для пользователей HTTP API описание здесь

Активация опций пользователям

Для того, чтобы активировать опцию пользователю, реселлер должен вызвать метод API activateService с такими данными:

  • API key
  • APP_ID (идентификатор приложения)
  • ключ пользователя
  • идентификатор опции
  • идентификатор периода, на который необходимо активировать опцию

При успешном выполнении запроса с баланса реселлера будет списана определенная сумма, а у пользователя активируется опция на указанный период.

Если у пользователя в данный момент уже активирована указанная опция, то срок действия опции продлится на указанный срок.

API Key и APP_ID вы можете узнать на сайте в разделе Реселлер.

Идентификаторы опций и периодов описаны здесь

Как видно из описания, для активации опции реселлер должен знать ключ пользователя. Этот ключ можно получить двумя способами: либо по протоколу OAuth2, либо создать новый ключ с помощью API для реселлеров. Первый метод больше подходит для владельцев сайтов. Второй - для разработчиков приложений. Оба метода описаны ниже.

Схема работы для владельцев сайтов

Владельцы сайтов могут получить ключ пользователя с помощью протокола OAuth2. Для этого необходимо выполнить следующие шаги:

  • реселлер на своем сайте размещает кнопку "Войти через Ace Stream"
  • после нажатия на эту кнопку проходит авторизация пользователя согласно OAuth2:
    • пользователя перенаправляет на сайт Ace Stream
    • если он не зарегистрирован, то регистрируется
    • если зарегистрирован, но не залогинен, то выполняет процедуру входа
    • если пользователь первый раз входит на сайт реселлера через Ace Stream OAuth2, то он дает свое согласие на предоставление некоторых персональных данных сайту реселлера (email и ключ пользователя)
    • пользователь возвращается на сайт реселлера
    • сайт реселлера получает email и ключ пользователя согласно OAuth2
  • теперь пользователь авторизован на сайте реселлера и у реселлера есть ключ пользователя, по которому он может активировать ему опцию

Подробнее ознакомиться с OAuth2 вы можете здесь.

Схема работы для разработчиков приложений

Разработчики приложений, как правило, имеют доступ к сервисному API движка. Это дает им возможность загружать ключи пользователя напрямую в Ace Stream Engine и активировать опции без прямого участия пользователя.

Мы предлагаем такую схему работы:

  • приложение проверяет, активирована ли необходимая опция у пользователя (check_user_service)
  • если опция не активирована, приложение создает новый ключ пользователя (createUserKey) и загружает его в Ace Stream Engine (load_extension)
  • приложение активирует нужную опцию для нового ключа пользователя (activateService)

Описанная схема предполагает, что приложение реселлера и Ace Stream Engine запущены на одной и той же машине.