Files
crm.clientright.ru/crm_extensions/court_parser_api.py
Fedor dabcd43a00 Добавлены скрипты для парсинга судебных документов и обновления проектов в CRM
- court_document_parser.py: парсер судебных документов с извлечением ФИО, номера дела, УИД, суда
- court_parser_api.py: API для вызова парсера из n8n
- pdf_court_parser.py: парсер PDF документов с извлечением текста
- simple_project_updater.php: обновление проектов через CRM API
- simple_project_updater_v2.php: обновленная версия с прямыми SQL запросами и S3Client
- update_project_from_document.php: альтернативный скрипт обновления
- test_input.json: тестовые данные для парсера
- README файлы с документацией для всех скриптов

Скрипты поддерживают:
- Поиск проектов по ФИО, номеру дела, УИД, названию суда
- Создание документов в CRM с загрузкой в S3
- Привязку документов к проектам
- Логирование всех операций
- Работу с n8n через SSH команды
2025-09-30 19:54:37 +03:00

55 lines
1.6 KiB
Python
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
API endpoint для парсера судебных документов
Использование: python3 court_parser_api.py "текст документа"
"""
import json
import sys
import os
from court_document_parser import CourtDocumentParser
def main():
"""API endpoint для вызова из n8n через SSH"""
# Создаем парсер
document_parser = CourtDocumentParser()
try:
# Получаем текст документа из аргумента командной строки
if len(sys.argv) < 2:
error_result = {
'error': 'Не указан текст документа',
'status': 'error'
}
print(json.dumps(error_result, ensure_ascii=False, indent=2))
return 1
# Берем текст из первого аргумента
document_text = sys.argv[1]
# Создаем объект документа
input_data = {"combinedText": document_text}
# Парсим документ
results = document_parser.parse_documents([input_data])
# Выводим результаты в stdout
print(json.dumps(results, ensure_ascii=False, indent=2))
return 0
except Exception as e:
error_result = {
'error': f'Ошибка обработки: {str(e)}',
'status': 'error'
}
print(json.dumps(error_result, ensure_ascii=False, indent=2))
return 1
if __name__ == '__main__':
sys.exit(main())