Difference between revisions of "Resellers"

From Ace Stream Wiki
Jump to: navigation, search
Line 1: Line 1:
 
==Термины==
 
==Термины==
 
* '''Реселлер''' – пользователь Ace Stream, который получил права на продажу платных опций Ace Stream   
 
* '''Реселлер''' – пользователь Ace Stream, который получил права на продажу платных опций Ace Stream   
* '''Клиент API''' - Реселлер, который имеет доступ к API
 
 
* '''Ключ пользователя''' - идентификатор пользователя Ace Stream
 
* '''Ключ пользователя''' - идентификатор пользователя Ace Stream
 
* '''Опция''' - дополнительная сервисная/программная услуга Ace Stream, которая может быть активирована для конкретного ключа пользователя  
 
* '''Опция''' - дополнительная сервисная/программная услуга Ace Stream, которая может быть активирована для конкретного ключа пользователя  
* '''Маркет''' - продукт (как правило, сайт) реселлера, через который осуществляется продажа опций
+
* '''Приложение''' - продукт реселлера (сайт, мобильное, либо десктопное приложение), через который осуществляется продажа опций
  
 
==Как стать реселлером==
 
==Как стать реселлером==
Нужно зайти на страницу https://accounts.acestream.net/partnership и нажать кнопку "Стать реселлером"
+
* войти на сайт https://accounts.acestream.net под своим логином (если у вас нет логина, необходимо [https://accounts.acestream.net/register зарегистрироваться])
 +
* выбрать раздел [https://accounts.acestream.net/partnership "Сотрудничество"] в верхнем меню
 +
* нажать кнопку "Стать реселлером"
  
==Как получить доступ к API для Реселлеров==
+
==API для реселлеров==
Когда пользователь Ace Stream становится реселлером, он автоматически становится клиентом API и ему предоставляется доступ к API в виде двух идентификаторов:
+
API для реселлеров позволяет вам активировать различные дополнительные опции пользователям своих приложений.
 +
 
 +
Общая схема работы API для реселлеров выглядит так:
 +
* для активации необходимой опции пользователю ваше приложение (сайт, мобильное либо десктопное приложение) отправляет на сервер Ace Stream запрос, в котором указывает идентификатор пользователя, опцию и период активации
 +
* с вашего баланса в системе Ace Stream списывается стоимость указанной опции на указанный период
 +
* указанная опция активируется для пользователя, идентификатор которого вы передали в запросе
 +
 
 +
Полное описание API для реселлеров можно найти [[Reseller_API|здесь]].
 +
 
 +
Для работы с API вам понадобятся следующие два идентификатора:
 
* '''API key''' - строка, которая используется для идентификации реселлера в запросах API
 
* '''API key''' - строка, которая используется для идентификации реселлера в запросах API
 
* '''API secret''' - секретный ключ, который используется для цифровой подписи запросов API
 
* '''API secret''' - секретный ключ, который используется для цифровой подписи запросов API
  
Секретный ключ реселлер может поменять самостоятельно в админ-панели.
+
Данные идентификаторы можно увидеть в разделе Реселлер -> Настройки API в меню слева. Секретный ключ реселлер может поменять самостоятельно (кнопка "Редактировать настройки API" ).
  
==Как работает схема для Реселлеров==
+
==Создание приложений==
Предположим, что Вы решили стать реселлером Ace Stream и продавать пользователям опцию "No ADs" (отключение рекламы Ace Stream).
+
Для начала работы с API для реселлеров вам необходимо создать как минимум одно приложение. Для этого в разделе Реселлер -> Приложения в меню слева нажимаем кнопку "Создать новое приложение". После это вам будет предложено заполнить поля "Название" (обязательное) и "Сайт приложения" (необязательное).
  
Для этого Вам необходимо:
+
Все ваши приложения отображаются в разделе Реселлер -> Приложения в виде таблицы с такими полями:
* зарегистрироваться в системе Ace Stream
+
* Название - название приложения, которое вы указали при создании
* через специальную форму в разделе «Партнерка» подать заявку.
+
* APP_ID - идентификатор приложения (используется в запросах API)
* после подтверждения заявки, создать новый маркет (партнер может создать несколько маркетов; каждый из которых имеет свое название, адрес сайта и идентификатор OAuth2)
+
* Редактировать - редактировать приложение (можно изменить название и сайт приложения)
* провести тестирование работы маркета
+
* OAuth - редактировать настройки OAuth данного приложения
* внести деньги на баланс и активировать маркет
+
* API - открыть API-консоль для данного приложения
  
Для того, чтобы продать услугу пользователю, реселлер должен отправить API-запрос с такими данными:
+
Настройки OAuth вам понадобятся только в том случае, если вы планируете идентифицировать пользователей с помощью технологии OAuth2 (как правило, это необходимо для владельцев сайтов).
 +
 
 +
API-консоль позволяет отсылать запросы от имени вашего приложения прямо со страницы сайта. Консоль предназвачена в первую очередь для того, чтобы наглядно показать формирование запросов к API (каждый запрос и ответ появляются в текстовых полях внизу страницы).
 +
 
 +
<span style="color: #a00;">Внимание!</span> API-консоль не является эмулятором запросов - все запросы настоящие и отсылаются на продакшн-сервера. Это значит, что при активации какой-либо платной опции через консоль с вашего баланса будут сняты средства. Если вы хотите поработать с API для реселлеров в тестовой среде, воспользуйтесь [[Reseller_API_Sandbox|песочницей]].
 +
 
 +
==Активация опций пользователям==
 +
Для того, чтобы активировать опцию пользователю, реселлер должен вызвать метод API [[Reseller_API#activateService|activateService]] с такими данными:
 
* API key
 
* API key
* OAuth2 Client ID
+
* APP_ID (идентификатор приложения)
 
* ключ пользователя
 
* ключ пользователя
* идентификатор услуги
+
* идентификатор опции
* идентификатор периода, на который необходимо активировать услугу
+
* идентификатор периода, на который необходимо активировать опцию
 +
 
 +
При успешном выполнении запроса с баланса реселлера будет списана определенная сумма, а у пользователя активируется опция на указанный период.
 +
 
 +
Если у пользователя в данный момент уже активирована указанная опция, то срок действия опции продлится на указанный срок.
 +
 
 +
API Key и APP_ID вы можете узнать на сайте в разделе [https://accounts.acestream.net/reseller Реселлер].
 +
 
 +
Идентификаторы опций и периодов описаны [[Reseller_API|здесь]]
  
При успешном выполнении запроса с баланса реселлера будет списана определенная сумма, а у пользователя активируется услуга на указанный период.
+
Как видно из описания, для активации опции реселлер должен знать ключ пользователя. Этот ключ можно получить двумя способами: либо по протоколу OAuth2, либо создать новый ключ с помощью API для реселлеров. Первый метод больше подходит для владельцев сайтов. Второй - для разработчиков приложений. Оба метода описаны ниже.
  
Как видно из описания, для активации услуги реселлер должен знать ключ пользователя. Этот ключ реселлер может получить по протоколу OAuth2.
+
==Схема работы для владельцев сайтов==
Для этого:
+
Владельцы сайтов могут получить ключ пользователя с помощью протокола OAuth2. Для этого необходимо выполнить следующие шаги:
* реселлер на своем сайте размещает кнопку "Войти через Ace Stream", которая выполняет авторизацию пользователя по протоколу OAuth2
+
* реселлер на своем сайте размещает кнопку "Войти через Ace Stream"
* после нажатия на эту кнопку все проходит согласно OAuth2:
+
* после нажатия на эту кнопку проходит авторизация пользователя согласно OAuth2:
 
** пользователя перенаправляет на сайт Ace Stream
 
** пользователя перенаправляет на сайт Ace Stream
 
** если он не зарегистрирован, то регистрируется
 
** если он не зарегистрирован, то регистрируется
Line 45: Line 70:
 
** пользователь возвращается на сайт реселлера
 
** пользователь возвращается на сайт реселлера
 
** сайт реселлера получает email и ключ пользователя согласно OAuth2
 
** сайт реселлера получает 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 запущены на одной и той же машине.

Revision as of 09:13, 27 November 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 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 запущены на одной и той же машине.