Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Общая информация

Необходимый провайдеру функционал:

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

    Информация по API клиентских приложений : https://api.24h.tv/v2/

    Информация по API для провайдера : https://api.24h.tv/v2/doc/provider

    Регистрация пользователя.

    Для регистрации пользователя в платформе 24часаТВ необходимо использовать вызов


    Общая информация

    Необходимый провайдеру функционал:

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

    Информация по API клиентских приложений : https://api.24h.tv/v2/

    Информация по API для провайдера : https://api.24h.tv/v2/doc/provider

    Регистрация пользователя.

    Для регистрации пользователя в платформе 24часаТВ необходимо использовать вызов API: https://api.24h.tv/v2/doc/provider#!/Users/post_users

    В ответ вы получите идентификатор пользователя в платформе. Его можно сохранить и использовать для дальнейшей идентификации.

    POST /users

    Параметры запроса

    {

      "username": "superuser148", #имя пользователя для авторизации в клиентских приложениях

      "password": "supersecret"#пароль пользователя

      "first_name": "Имя", #имя пользователя

      "last_name": "Фамилия", #фамилия пользователя

      "phone": "70241234567", #телефон пользователя

      "email": "vasya@pupkin.ru", #e-mail пользователя

      "provider_uid": "324234", #идентификатор в системе провайдера

      "is_provider_free": true #признак того, что пользователь может заходить не из сети провайдера

    }

    Параметры ответа:

    {

      "id": 25265#идентификатор пользователя на платформе

      "username": "superuser148",

      "first_name": "Имя",

      "last_name": "Фамилия",

      "phone": "70241234567",

      "email": "vasya@pupkin.ru",

      "timezone": "Europe/Moscow"#часовой пояс пользователя (при создании выставляется по провайдеру)

      "provider": { 

        "id": 5#идентификатор провайдера

        "name": "Super-Provider" #имя провайдера

      },

      "provider_uid": "324234"

    }


    Авторизация подписки.

    При выборе пакета пользователем платформа может отправлять авторизацию (запрос на разрешение подписки) в биллинг провайдера. Для этого используется HTTP(S) POST запрос на предоставленный провайдером URL.

    Пример запроса:

    POST {provider_auth_uri}

    {

    "user_id": 6806,

    "provider_uid": 83466,

    "packet_id": 8,

    "packet_name": "VIP"

    }

    Необходимо вернуть разрешение или код ошибки + сообщение об ошибке. 

    200 OK

    {

    "status": "ok"

    }

    402 Payment Required

    {

    "status": "error",

    "code"32,

    "message": "Недостаточно средств на лицевом счете" 

    }

    Подписка пользователя

    При создании подписки на пакет со стороны провайдера необходимо использовать метод API: https://api.24h.tv/v2/doc/provider#!/Users/post_users

    В ответ вы получите идентификатор пользователя в платформе. Его можно сохранить и использовать для дальнейшей идентификации.

    POST /users 

    Параметры запроса

    • username - имя пользователя для авторизации в клиентских приложениях
    • password - пароль пользователя
    • first_name - имя пользователя 
    • last_name - фамилия пользователя
    • email - e-mail пользователя
    • phone - телефон пользователя
    • provider_uid - идентификатор в системе провайдера
    • is_provider_free - признак того, что пользователь может заходить не из сети провайдера

    Параметры ответа:

    id - идентификатор пользователя на платформе

    username, first_name, last_name, email, phone - переданные параметры

    Авторизация подписки.

    При выборе пакета пользователем платформа может отправлять авторизацию (запрос на разрешение подписки) в биллинг провайдера. Для этого используется HTTP(S) POST запрос на предоставленный провайдером URL.

    Пример запроса:

    POST {provider_auth_uri}

    {

    "user_id": 836,

    "provider_uid" : 83466,

    "packet_id": 8,

    "packet_name": "VIP"

    }

    Необходимо вернуть разрешение или код ошибки + сообщение об ошибке. 

    200 OK

    {

    "status": "ok"

    }

    402 Payment Required

    {

    "status": "error",

    "code"32,

    "message": "Недостаточно средств на лицевом счете" 

    }

    Подписка пользователя

    При создании подписки на пакет со стороны провайдера необходимо /post_users_user_id_subscriptions


    POST /users/{user-id}/subscriptions

    Параметры запроса:

    [{

    "id": 8, # Идентификатор пакета
    "renew": true # Обновлять ли подписку при окончании

    }]


    user-id : #идентификатор пользователя на платформе

    Ответ API:

    200 OK

    [{

    "id": "68061362047157199", # Идентификатор подписки

    "renew": true, # Автообновление подписки

    "is_paused": false, # Стоит ли подписка на паузе

    "packet": {

        "id": 87, # Идентификатор пакета

        "name": "VIP",  # Название пакета

        "price": "1000.00"  # Цена пакета

    },

    "start_at": "2017-09-04T20:15:30.065Z", # Время начала подписки

    "end_at": "2017-10-04T20:15:30.065Z"  # Время окончания подписки

    }]

    Обновление лицевого счета

    Платформа может хранить состояния лицевых счетов пользователя у провайдера

    Для обновления информации по лицевому счету можно использовать метод API: https://api.24h.tv/v2/doc/provider#!/Users/post_users_user_id_provider_subscriptionsaccount

    POST /users/{user-id}/provider/

    subscriptions

    account

    Параметры запроса:

    [{

      "packet_id": 8347446, # Идентификатор пакета
      "renew": true # Обновлять ли подписку при окончании

    }]

    200 OK

    [{

    "id": "68061362047157199", # Идентификатор подписки

    "renew": true, # Автообновление подписки

    "is_paused": false, # Стоит ли подписка на паузе

    "packet": {

        "id": 8, # Идентификатор пакета

        "name": "VIP",  # Название пакета

        "price": "1000.00"  # Цена пакета

    },

    "start_at": "2017-09-04T20:15:30.065Z", # Время начала подписки

    "end_at": "2017-10-04T20:15:30.065Z"  # Время окончания подписки

    }]# Номер лицевого счета пользователя у провайдера

      "amount": "567.03" # Сумма в рублях на счету провайдера

    }

    Ответ API:

    200 OK

    {

      "id": 347446# Номер лицевого счета пользователя у провайдера

      "source": {

        "id": 5# Идентификатор платежной системы

        "name": "Super-provider billing" # Имя платежной системы

      },

      "amount": "567.03# Сумма в рублях на счету провайдера

    }