Metadata-Version: 2.1
Name: fnsapi
Version: 0.0.1
Summary: Russian Federal Tax Service API connector
Home-page: https://github.com/QortexDevs/fnsapi
Author: Qortex Devs
Author-email: it@qortex.ru
License: UNKNOWN
Description: # Коннектор к апи ФНС для проверки чеков от ОФД в ФНС
        
        Проверяет данные чеков, полученных от оператора фискальных данных в Федерельной налоговой службе.
        
        ## Установка и настройка
        
        [Получите](https://www.nalog.ru/files/kkt/pdf/%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5%20%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%B8%D1%8F%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F.pdf) `master token` в Федеральной налоговой службе.
        <br>
        <br>
        Установите пакет
        ```sh
        pip install fnsapi
        ```
        
        <br>
        
        Добавьте переменную окружения в своё виртуально окружение
        ```sh
        FNS_API_MASTER_TOKEN=master_token_from_fns
        ```
        
        <br>
        
        Если базовый адрес апи ФНС отличается от `https://openapi.nalog.ru:8090/`, то укажите его через перменную окружения
        ```sh
        FNS_API_BASE_URL=https://openapi.nalog.ru:8090/
        ```
        
        ## Принцип работы
        
        Чтобы запросить информацию о чеке в ФНС, нужно
        1. Получить токен сессии
        2. Сгенерерировать имя пользователя в вашей системе, от имени которого осуществляется запрос
        3. Вызвать функцию проверки чека или получения информации о чеке
        
        ## Пример использования
        <br>
        Например, данные получены из qr-кода: `t=20201225T1016&s=1113.99&fn=9282440300829880&i=10556&fp=189504453&n=1`
        ```
        t — timestamp, нужно переформатировать в %Y-%m-%dT%H:%M:%S
        s — sum, нужно умножить на  100
        fn - fiscal_number
        i - fiscal_document_id
        fp - fiscal_sign
        n - operation_type
        ```
        
        <br>
        
        ```python
        from fnsapi import api as fnsapi
        
        # получение сессионного токена
        session_token = get_session_token()
        user_id = 'ofd_user' # любое текстовое значение на ваш вкус
        
        # проверка существования чека
        result = fnsapi.check_ticket(
            session_token, 
            user_id, 
            sum, # сумма чека в формате РРРКК, 12 рублей 23 копейки передавайте как 1223
            timestamp, # дата и время в формате %Y-%m-%dT%H:%M:%S
            fiscal_number, # код ККТ
            operation_type, # тип операции
            fiscal_document_id, # номер фискального документа
            fiscal_sign # фискальный признак
        )
        
        # в результате придёт структура
        status = result['status'] # success, если апи фНС отработало запрос, еrror, если нет.
        code = result['code'] # код ошибки от апи ФНС.
        message= result['message'] # сообщение от ФНС.
        
        
        # получение информации о чеке
        result = fnsapi.get_ticket(
            session_token, 
            user_id, 
            sum, # сумма чека в формате РРРКК, 12 рублей 23 копейки передавайте как 1223
            timestamp, # дата и время в формате %Y-%m-%dT%H:%M:%S
            fiscal_number, # код ККТ
            operation_type, # тип операции
            fiscal_document_id, # номер фискального документа
            fiscal_sign # фискальный признак
        )
        
        # в результате придёт структура
        status = result['status'] # success, если апи фНС отработало запрос, еrror, если нет.
        code = result['code'] # код ошибки от апи ФНС.
        message= result['message'] # сообщение от ФНС в случае ошибки или JSON-строка с информацией о чеке.
        ```
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
