Интеграция с 24hTV (24часаТВ)

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (28)

просмотр истории страницы
Он доступен по следующим адресам:
* Для HTTP
{code}http://169.254.14.44:1444/integration_iptv24htv.php{code}
http://169.254.14.44:1444/integration_iptv24htv.php
{code}
* Для HTTPS
{code}https://169.254.14.43:1443/integration_iptv24htv.php
https://169.254.14.43:2443/integration_iptv24htv.php{code} https://169.254.14.43:1443/integration_iptv24htv.php
https://169.254.14.43:2443/integration_iptv24htv.php
{code}

Порты могут быть изменены по статье "[CarbonBilling:Основные настройки платежных систем]". Рекомендуется использовать "*Защищенный внешний порт платежных систем, без необходимости передачи сертификата*"

{info}
{info}* Адреса *Адреса 169.254.14.44 и 169.254.14.43 в примере необходимо заменить на внешний адрес биллинга, по которому он доступен из сети интернет. Если биллинг не имеет белого адреса, используемые порты требуется [перенаправить на маршрутизаторе|https://ru.wikipedia.org/wiki/NAT]*
* При регистрации из приложения, учетная запись в биллинге создаётся при смене тарифа или подключении первого дополнительного пакета{info}
{info}

C 2025 года 24ТВ перешли на работу по портам 80 и 443. Для интеграции по этим портам необхлдимо добавить правил в фаерволл по статье "[CarbonBilling:Дополнительные настройки. hooks. Хуки. Свои правила в firewall]".
В приведенных правилах подсеть 192.0.2.0/24 указана для ознакомлени. Перед добавлением правил уточните актуальные адреса у 24ТВ.

Файл */app/asr_fiscal/cfg/hooks*
{code}
#!/bin/bash

if [ "$1" == "/etc/init.d/firewall" -a "$2" == "start" ]; then
source /cfg/config
echo "========================================="
set -x
iptables -t nat -I asr_fiscal_prerouting -p tcp -m tcp -s 192.0.2.0/24 --dport 80 -m addrtype --dst-type LOCAL -j DNAT --to-destination 169.254.14.44:${app[apache.port]}
iptables -t nat -I asr_fiscal_prerouting -s 192.0.2.0/24 -p tcp -m tcp --dport 443 -m addrtype --dst-type LOCAL -j DNAT --to-destination 169.254.14.43:${app[apache.sslport]}
set +x
fi
{code}

h4. Механизм работы

{note}

!Схема_Клиен_Сервер.png|border=0! !24ТВ_server.png|border=0!

h4. Бандлы
h4. Запрос AUTH

Поиск абонента происходит по IP. Если в биллинге несколько абонентов с одинаковым IP-адресом, то происходит уточнённый поиск по номеру телефона. В ответ сервису биллинг отправляет ID абонента. Дальнейшее взаимодействие с 24часаТВ и биллинга будет происходить по "provider_uid" - id абонента из биллинговой системы.
В ответ сервису биллинг отправляет ID абонента.

{note}При запросе AUTH, учётная запись в биллинге не создаётся! Она будет создана автоматически, когда абонент подключит первый пакет ТВ,{note}

Отладить передачу данных со стороны сервиса телевидения к биллингу Вы можете по следующим файлам журналов:
# Журнал веб сервера
{code}/app/asr_fiscal/var/log/httpd/error_log
/app/asr_fiscal/var/log/rest_api_v2.log /app/asr_fiscal/var/log/httpd/error_log
{code}
# Журнал службы интеграции 24часаТВ
{code}
/app/asr_fiscal/var/log/integrations/IntegrationIptv24htv.log
/app/asr_billing/var/log/django/api_v2.log {code}
# Журнал закросов к API v2 со контейнера платёжных систем
{code}
/app/asr_fiscal/var/log/rest_api_v2.log
{code}
# Журнал API v2 со стороны контейнера биллинга
{code}
/app/asr_billing/var/log/django/api_v2.log
{code}
Из биллинга к сервису по этому логу:
{code}/app/asr_billing/var/log/nas_event_daemon/iptv24tv.log
/app/asr_billing/var/log/nas_event_daemon/iptv24tv.log
/app/asr_billing/var/log/nas_event_daemon/24hTV_1.1.1.1.log
/app/asr_billing/var/log/oss.log{code}
{code}
{note}1.1.1.1 - это IP с которым NAS добавлен в биллинг.{note}

{code}

Это происходит, когда в биллинге есть несколько услуг создания учётной записи (usluga.create_login=1) привязанных к одному NAS.

Посмотреть колличество услуг и их ID можно в [отчётах|Конструктор отчетов]:
{code:title=НАС и количество услуг создающих учутную запись}
select nas_id, count(nas_id) from usluga where create_login=1 group by nas_id
Например: {code}
{code}[root@TvoiTelecom ~]# sqlexec -l -r "select count(*) from usluga where create_login=1 and nas_id=1117"
COUNT 13 {code}

{code:title=НАС и перечень услуг создающих учётную запись}
select nas_id, id from usluga where create_login=1
{code}

Если необходимо несколько таких услуг, то абоненту нужно заранее создать учётную запись IPTV любым способом, тогда обратная интеграция не будет пытаться подключить услугу создания учётной записи.