Versions Compared

Key

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

Для доступа к описанию необходимо авторизоваться в кабинете оператора https://24htv.platform24.tv/admin/login .

Полное описание (SWAGGER) https://api.24h.tv/v2/doc/provider#!/

...

Для доступа к API необходимо зарегистрироваться в 24ТВ, через менеджера получить доступ к личному кабинету провайдера и сгенерировать там TOKEN https://24h24htv.platform24.tv/admin/settings/tokens/

Логи запросов от 24ТВ к партнёру по ссылке https://24htv.platform24.tv/admin/api-requests/

...

Обязательных к заполнению параметра параметров 2:

Code Block
{ 
  "username": "<username>",  
  "phone": "<телефон пользователя>"
}

...

{ "error": { "message": "{'email': ['User with this email already exists.'], 'phone': ['User with this phone already exists.'], 'username': ['User with this username already exists.']}" }, "status_code": 400, "detail": { "email": [ "User with this email already exists." ], "phone": [ "User with this phone already exists." ], "username": [ "User with this username already exists." ] } }

Поле email не является обязательным. Чтобы не было ошибки при передаче email пустым, это поле можно в параметрах не указывать.

Изменение информации о пользователе.

...

В случае неверных данных будет возвращена ошибка с описанием в json формате.

В случае блокировки пользователя, установкой флага is_active=false, данный пользователь не сможет войти в приложение 24ТВ. При этом подписки на пакеты не отключаются! Если вам необходимо блокировать пользователя, то перед этим остановите все его активные подписки!

Получение списка зарегистрированных пользователей.

...

Code Block
[
  {
  "packet_id": <ID пакета>, 
  "start_at": "2017-09-04T20:15:30.000Z",
  "end_at": "2017-10-04T20:15:29.000Z",
  "renew": true,
  "is_paused": true,
  "pauses": [
    {}
  ],
  "message": "string"
  }
]

Обязательные параметры:

Code Block
[
  {
  "packet_id

...

": <ID пакета>, 
  "renew": <true или false>
  }
]

В ответ будет возвращен json с информацией о подписке:

...

Описание - https://api.24h.tv/v2/doc/provider#!/Packets/post_users_user_id_packets

Тип запроса: POST

<http или https>://api.24h.tv/v2/users/<ID пользователя в платформе 24часаТВ>/packets?token=<TOKEN>

Передаваемые параметры:

{
"name": "<Название пакета для абонента>",
"price": "<Отображаемая стоимость для абонента>",
"description": "<Отображаемое описание пакета для абонента>",
"packet_id": <ID пакета для персонализации>
}

...

<http или https>://api.24h.tv/v2/users/<ID пользователя в платформе 24часаТВ>/provider/account?token=<TOKEN>

Параметры:

  • id - id лицевого счета в биллинговой системе провайдера

  • amount - значение отображаемого баланса в рублях

...

{ "status_code": 404, "error": { "message": "Не найдено." }, "detail": "Не найдено." }

Есть возможность отображать баланс напрямую из биллинга интеграционным запросом BALANCE. Данный запрос будет отправлен в сторону провайдера при входе абонента в личный кабинет или настройки в тв приложении. Запрос BALANCE описан ниже в следующем разделе.

Методы формируемые платформой в сторону интеграции оператора (биллинга).

...

На указанный провайдером интеграционный URL 24ТВ отправляет POST-запрос (параметры передаются в строке запроса):

<http или https>://<url для интеграции>:<порт>/auth?ip=<ip_address>&phone=<phone>&mbr_id=<user_id>&provider_id=<provider_id>

где:

  • url для интеграции: порт - url и порт указанный провайдером. Должен заканчиваться на "/" так как далее к этому URL добавляется "auth?ip=..." или "packet?user_id=..." или "cont?user_id=..."

  • ip_address - ip адрес абонента.

  • phone - номер мобильного телефона, с которого зарегистрировался абонент.

  • mbr_id (user_id) - id учетной записи в 24ТВ.

  • provider_id - id провайдера (админки) в 24ТВ.

...

  • Если у абонента уже подключен базовый пакет с большей стоимостью - необходимо отменить его автопродление (установкой флага renew=false) и подключить новый пакет с даты окончания текущего.

  • Если у абонента подключен базовый пакет с меньшей стоимостью - необходимо подключить новый с текущего времени. Для этого необходимо сначала остановить старый базовый пакет путем отправки запроса DELETE /users/{user-id}/subscriptions, после этого отправить запрос в 24часаТВ на подключение нового пакета.

Тип запроса: POST

Запрос: <http или https>://<Интергационный урл>/packet?user_id=<Provider_user_id>&trf_id=<ID платного пакета в платформе 24часаТВ>

В теле запроса будет json такого типа:

...

 {"status":-1,"errmsg":"Недостаточно средств на счету"}

Важно! В случае нехватки денежных средств, запрос PACKET всегда должен возвращать status = -1
В случае других причин используйте любые другие коды с отрицательным значением (-2, -3 и т.п.)

...

Обращаем внимание, что в сервисе 24часаТВ по агентской схеме пакеты подключаются на срок не менее месяца. Поэтому биллинговая система при запросе пользователя на отключение должен снять автопродление пакета в собственной базе и проинформировать об этом сервис установкой флага renew=false в соответствующей подписке.

Тип запроса: POST

Запрос: <http или https>://<Интергационный урл>/delete_subscription?user_id=<Provider_user_id>&sub_id=<ID подписки в платформе 24часаТВ>

В теле запроса будет json такого типа:

...

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

Запрос: <http или https>://<Интергационный урл>/balance?user_id=<Provider_user_id>

В теле запроса будет json такого типа:

...

Тестирование схемы интеграции.

Тест (бизнес-процесс)

Действие

Результат

Замечания

Действия через тв-приложение

1

Саморегистрация абонента через тв-приложение (реальный ip адрес)

Появление в биллинге договора/учетки/услуги на тв, привязанной к интернет-договору абонента с этим ip адресом и общим балансом. Проставление provider_uid в системе 24ТВ



2

Саморегистрация абонента через тв-приложение (серый ip адрес)

Появление в биллинге договора/учетки/услуги на тв, привязанной к интернет-договору абонента с этим ip адресом и общим балансом. Проставление provider_uid в системе 24ТВ



3

Саморегистрация абонента через тв-приложение (динамический ip адрес)

Появление в биллинге договора/учетки/услуги на тв, привязанной к интернет-договору абонента, которому выдан данный динамический-ip адрес в текущий момент, и общим балансом. Проставление provider_uid в системе 24ТВ



4

Подключение через тв-приложение базового пакета

В биллинге должно произойти списание денежных средств с договора/учетки/услуги и подключен этот пакет в биллинге и в 24ТВ



5

Подключение через тв-приложение дополнительного пакета

В биллинге должно произойти списание денежных средств с договора/учетки/услуги и подключен этот пакет в биллинге и в 24ТВ



6

Переход через тв-приложение на более дорогой пакет

В биллинге должно произойти списание денежных средств и подключен этот пакет в биллинге и в 24ТВ (см. также действия через биллинг п. 12)



7

Переход через тв-приложение на дешевый пакет

В биллинге должно произойти планирование перехода на более дешевый пакет после окончания более дорогого (см. действия через биллинг п. 13, 14)



8

Отключение подписки через тв-приложение

Отключения флага автопродления в системе 24ТВ и биллинге провайдера



Действия через биллинг

9

Создание тв договора/учетки/услуги через биллинг

Абонент должен появиться в системе 24ТВ с корректным номером телефона и provider_uid



10

Подключение базового пакета через биллинг

В системе 24ТВ должна появиться подписка на данный пакет



11

Подключение дополнительного пакета через биллинг

В системе 24ТВ должна появиться подписка на данный пакет



12

Переход на более дорогой базовый пакет

В системе 24ТВ должна появиться подписка на данный пакет, предыдущий дешевый должна быть отключен. Если у абонента вместе с дешевым был включен доп. пакет, который входит в запрошенный дорогой (см. также запрос иерархичного списка пакетов, includes=availables и получение списка подписок на пакеты пользователя), то его также необходимо отключить.



13

Переход на более дешевый базовый пакет

В билинге должна быть запланирована подписка на более дешевый пакет после окончания более дорогого. Пример: с Премиум (999 ₽) на Оптимум+ (399 ₽).



14

Переход на другой более дешевый базовый пакет

В билинге должна быть запланирована подписка на новый более дешевый пакет после окончания более дорогого. Пример: с Премиум (999 ₽) на Оптимум+ (399 ₽) и не дожидаясь его включения, на Лайт+(199 ₽).



15

Постановка подписки на паузу через биллинг

В системе 24ТВ подписка должна быть приостановлена



16

Снятие подписки с паузы через биллинг

В системе 24ТВ подписка должна быть возобновлена



17

Остановка/закрытие подписки через биллинг

Подписка в системе 24ТВ должна быть остановлена



18

Проверка корректного отображения баланса из биллинга в тв-приложении

Должен отображаться правильный баланс из билинга в тв-приложении



...