Files
crm.clientright.ru/GET_COURT_STATUS_README.md
Fedor ac7467f0b4 Major CRM updates: AI Assistant, Court Status API, S3 integration improvements, and extensive file storage system
- Added comprehensive AI Assistant system (aiassist/ directory):
  * Vector search and embedding capabilities
  * Typebot proxy integration
  * Elastic search functionality
  * Message classification and chat history
  * MCP proxy for external integrations

- Implemented Court Status API (GetCourtStatus.php):
  * Real-time court document status checking
  * Integration with external court systems
  * Comprehensive error handling and logging

- Enhanced S3 integration:
  * Improved file backup system with metadata
  * Batch processing capabilities
  * Enhanced error logging and recovery
  * Copy operations with URL fixing

- Added Telegram contact creation API
- Improved error logging across all modules
- Enhanced callback system for AI responses
- Extensive backup file storage with timestamps
- Updated documentation and README files

- File storage improvements:
  * Thousands of backup files with proper metadata
  * Fix operations for broken file references
  * Project-specific backup and recovery systems
  * Comprehensive file integrity checking

Total: 26,461+ files added/modified including AWS SDK, vendor dependencies, and extensive backup system.
2025-10-16 11:17:21 +03:00

8.4 KiB
Raw Blame History

Эндпоинт получения статуса обращений в суд

Файл: GetCourtStatus.php
Создан: 15 октября 2025

🎯 Назначение

Получение статуса обращения из системы ej.sudrf.ru через API Debexpert.

Позволяет отслеживать:

  • Текущий статус обращения
  • Историю изменений статуса
  • Документы от суда (определения, решения)
  • Информацию о суде

📡 Использование

Базовый запрос (с тестовым номером)

curl https://crm.clientright.ru/GetCourtStatus.php

По умолчанию использует тестовый номер: 41RS0001-201-25-0001140

Запрос с конкретным номером

curl "https://crm.clientright.ru/GetCourtStatus.php?registrationId=41RS0001-201-25-0001140"

Запрос с фильтрацией по датам

curl "https://crm.clientright.ru/GetCourtStatus.php?registrationId=41RS0001-201-25-0001140&startDate=01.10.2025&endDate=31.10.2025"

Из браузера

Просто откройте URL:

https://crm.clientright.ru/GetCourtStatus.php?registrationId=41RS0001-201-25-0001140

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

Параметр Тип Обязательный Описание Пример
registrationId string Нет* Регистрационный номер обращения 41RS0001-201-25-0001140
startDate string Нет Начальная дата (dd.mm.yyyy) 01.10.2025
endDate string Нет Конечная дата (dd.mm.yyyy) 31.10.2025

* Если не указан, используется тестовый номер 41RS0001-201-25-0001140

📤 Формат ответа

Успешный ответ

{
  "status": "OK",
  "registrationId": "41RS0001-201-25-0001140",
  "data": {
    "data": [
      {
        "court": {
          "VNKOD": "41RS0001",
          "ZNACHATR": "Петропавловск-Камчатский городской суд",
          "ADRESS": "683049, г. Петропавловск-Камчатский, ул. Звездная, д. 7",
          ...
        },
        "created": "2025-10-15T16:41:20.000+03:00",
        "current_state_text": "Зарегистрировано в суде",
        "id": "process123",
        "number": "41RS0001-201-25-0001140",
        "status": 200,
        "status_description": "В обработке",
        "type": "201.01",
        "type_title": "Исковое заявление",
        "history": [
          {
            "id": 123456,
            "direction": "OUT",
            "status_text": "Отправлено в суд",
            "created": "2025-10-15T16:41:20.000+03:00",
            "files": []
          },
          {
            "id": 123457,
            "direction": "IN",
            "status_text": "Доставлено в суд",
            "created": "2025-10-16T10:00:00.000+03:00",
            "files": []
          },
          {
            "id": 123458,
            "direction": "IN",
            "status_text": "Зарегистрировано в суде",
            "created": "2025-10-17T14:30:00.000+03:00",
            "files": []
          }
        ]
      }
    ],
    "request_id": "uuid-...",
    "status": "200"
  }
}

Ответ с ошибкой

{
  "status": "ERROR",
  "message": "Описание ошибки",
  "http_code": 400,
  "response_body": "..."
}

📊 Возможные статусы обращения

  • Отправлено в суд - документы отправлены
  • Проверка ЭП пройдена - электронная подпись проверена
  • Доставлено в суд - документы получены судом
  • Зарегистрировано в суде - обращение зарегистрировано
  • Передано на рассмотрение судье - назначен судья
  • Принято к производству - дело принято к рассмотрению
  • Назначено к слушанию - назначена дата слушания
  • Отказано в принятии - отказ в принятии обращения
  • И другие...

📁 Логирование

Все запросы логируются в файл:

logs/court_status.log

Содержимое лога:

  • Время запроса
  • Регистрационный номер
  • Параметры fillData
  • HTTP статус код ответа
  • Тело ответа от API
  • Ошибки (если были)

Просмотр логов

# Последние записи
tail -n 50 logs/court_status.log

# В реальном времени
tail -f logs/court_status.log

# Поиск ошибок
grep "ошибка" logs/court_status.log

🔧 Интеграция в CRM

Вариант 1: AJAX запрос из интерфейса

// Получить статус по номеру
fetch('GetCourtStatus.php?registrationId=41RS0001-201-25-0001140')
    .then(response => response.json())
    .then(data => {
        if (data.status === 'OK') {
            console.log('Текущий статус:', data.data.data[0].current_state_text);
            console.log('История:', data.data.data[0].history);
        } else {
            console.error('Ошибка:', data.message);
        }
    });

Вариант 2: Автоматическая проверка по крону

Создать скрипт, который:

  1. Берёт все проекты со статусом "отправлено в суд"
  2. Для каждого проекта вызывает GetCourtStatus.php
  3. Обновляет статус в CRM
  4. Скачивает новые документы от суда

Вариант 3: Кнопка в интерфейсе проекта

Добавить кнопку "Проверить статус в суде", которая:

  1. Вызывает GetCourtStatus.php с номером из проекта
  2. Показывает актуальную информацию
  3. Предлагает скачать документы от суда

🧪 Тестирование

Тест 1: Базовый запрос (с тестовым номером)

curl https://crm.clientright.ru/GetCourtStatus.php

Ожидается: JSON с данными или сообщение об ошибке

Тест 2: Запрос с реальным номером

curl "https://crm.clientright.ru/GetCourtStatus.php?registrationId=41RS0001-201-25-0001140"

Ожидается: Информация по конкретному обращению

Тест 3: Проверка логов

tail -n 20 logs/court_status.log

Ожидается: Записи о запросах и ответах

🔄 Следующие шаги

  1. Протестировать эндпоинт с реальным номером
  2. Определить, как часто проверять статусы (раз в час, день?)
  3. Решить, где хранить историю статусов в CRM
  4. Добавить функционал скачивания документов от суда
  5. Создать уведомления при изменении статуса

⚙️ Настройка

Изменить тестовый номер

Отредактируйте строку 23 в GetCourtStatus.php:

$registrationId = '41RS0001-201-25-0001140'; // <- Ваш номер

Изменить таймаут

Отредактируйте строку 17 в GetCourtStatus.php:

set_time_limit(60); // секунды

📞 Поддержка

При проблемах проверьте:

  1. logs/court_status.log - логи эндпоинта
  2. Наличие cookies в cookies.txt
  3. Корректность API ключа в функции GetKey()

Статус: Готов к использованию
Версия: 1.0
Последнее обновление: 15 октября 2025