Resellers

From Ace Stream Wiki
Revision as of 15:27, 9 August 2013 by Anton (talk | contribs) (Термины)
Jump to: navigation, search

Термины

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

Что такое ключ пользователя

Ключ пользователя используется для идентификации пользователя в статистике, запросах API и т.п.

Пользователю автоматически присвается новый ключ при регистрации на сайте Ace Stream.

Реселлер может получить ключ пользователя с помощью протокола OAuth2.

Что такое API для реселлеров

API для реселлеров позволяет в автоматическом режиме активировать пользователям Ace Stream дополнительный услуги.

На данный момент API предоставляет такие функции:

  • узнать стоимость услуги
  • активировать услугу для конкретного пользователя
  • получить список услуг, активных для конкретного пользователя в данный момент

Техническую спецификацию API можно посмотреть здесь

Как получить доступ к API для реселлеров

Когда пользователь Ace Stream становится партнером, он автоматически становится клиентом API и ему предоставляется доступ к API в виде двух идентификаторов:

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

Секретный ключ партнер может поменять самостоятельно в админ-панели.

Как работает схема для реселлеров

Предположим, что пользователь test@someservice.com решил стать партнером Ace Stream и продавать пользователям услугу "No ADs" (отключение рекламы Ace Stream).

Для этого пользователю необходимо:

  • зарегистрироваться на в системе Ace Stream
  • стать партнером, подтвердив свое согласие с условиями "Партнерского соглашения"
  • создать новое приложение (партнер может создать несколько приложений; каждое приложение имеет свое название, адрес сайта и идентификатор OAuth2)

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

  • API key
  • OAuth2 Client ID
  • ключ пользователя
  • идентификатор услуги
  • идентификатор периода, на который необходимо активировать услугу

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

Как видно из описания, для активации услуги реселлер должен знать ключ пользователя. Этот ключ реселлер может получить по протоколу OAuth2. Для этого:

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