Contents
Термины
- Реселлер – пользователь 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
- теперь пользователь авторизирован на сайте реселлера и у реселлера есть ключ пользователя, по которому он может активироватьему услугу