Files
crm.clientright.ru/GET_COURT_STATUS_README.md
Fedor 75d3f7942b feat: Обновлены все URL Nextcloud с office.klientprav.tech на office.clientright.ru
Обновленные файлы:
- crm_extensions/nextcloud_api.php (2 места)
- modules/Documents/actions/NcPrepareEdit.php
- crm_extensions/nextcloud_editor/js/nextcloud-editor.js
- crm_extensions/file_storage/api/get_edit_urls.php
- crm_extensions/file_storage/api/simple_edit.php
- crm_extensions/README.md
- NEXTCLOUD_EDIT_BUTTON_IMPLEMENTATION.md
- crm_extensions/docs/NEXTCLOUD_EDITOR.md
- test_syntax_check.html
- crm_extensions/tests/test_edit_button.html

Все ссылки теперь указывают на новый сервер office.clientright.ru
Backup файлы и тестовые директории не изменены
2025-10-20 17:17:34 +03:00

264 lines
8.4 KiB
Markdown
Raw 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.

# Эндпоинт получения статуса обращений в суд
**Файл:** `GetCourtStatus.php`
**Создан:** 15 октября 2025
## 🎯 Назначение
Получение статуса обращения из системы ej.sudrf.ru через API Debexpert.
Позволяет отслеживать:
- Текущий статус обращения
- Историю изменений статуса
- Документы от суда (определения, решения)
- Информацию о суде
## 📡 Использование
### Базовый запрос (с тестовым номером)
```bash
curl https://crm.clientright.ru/GetCourtStatus.php
```
По умолчанию использует тестовый номер: `41RS0001-201-25-0001140`
### Запрос с конкретным номером
```bash
curl "https://crm.clientright.ru/GetCourtStatus.php?registrationId=41RS0001-201-25-0001140"
```
### Запрос с фильтрацией по датам
```bash
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`
## 📤 Формат ответа
### Успешный ответ
```json
{
"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"
}
}
```
### Ответ с ошибкой
```json
{
"status": "ERROR",
"message": "Описание ошибки",
"http_code": 400,
"response_body": "..."
}
```
## 📊 Возможные статусы обращения
- `Отправлено в суд` - документы отправлены
- `Проверка ЭП пройдена` - электронная подпись проверена
- `Доставлено в суд` - документы получены судом
- `Зарегистрировано в суде` - обращение зарегистрировано
- `Передано на рассмотрение судье` - назначен судья
- `Принято к производству` - дело принято к рассмотрению
- `Назначено к слушанию` - назначена дата слушания
- `Отказано в принятии` - отказ в принятии обращения
- И другие...
## 📁 Логирование
Все запросы логируются в файл:
```
logs/court_status.log
```
Содержимое лога:
- Время запроса
- Регистрационный номер
- Параметры fillData
- HTTP статус код ответа
- Тело ответа от API
- Ошибки (если были)
### Просмотр логов
```bash
# Последние записи
tail -n 50 logs/court_status.log
# В реальном времени
tail -f logs/court_status.log
# Поиск ошибок
grep "ошибка" logs/court_status.log
```
## 🔧 Интеграция в CRM
### Вариант 1: AJAX запрос из интерфейса
```javascript
// Получить статус по номеру
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: Базовый запрос (с тестовым номером)
```bash
curl https://crm.clientright.ru/GetCourtStatus.php
```
Ожидается: JSON с данными или сообщение об ошибке
### Тест 2: Запрос с реальным номером
```bash
curl "https://crm.clientright.ru/GetCourtStatus.php?registrationId=41RS0001-201-25-0001140"
```
Ожидается: Информация по конкретному обращению
### Тест 3: Проверка логов
```bash
tail -n 20 logs/court_status.log
```
Ожидается: Записи о запросах и ответах
## 🔄 Следующие шаги
1. **Протестировать эндпоинт** с реальным номером
2. **Определить, как часто проверять** статусы (раз в час, день?)
3. **Решить, где хранить** историю статусов в CRM
4. **Добавить функционал** скачивания документов от суда
5. **Создать уведомления** при изменении статуса
## ⚙️ Настройка
### Изменить тестовый номер
Отредактируйте строку 23 в `GetCourtStatus.php`:
```php
$registrationId = '41RS0001-201-25-0001140'; // <- Ваш номер
```
### Изменить таймаут
Отредактируйте строку 17 в `GetCourtStatus.php`:
```php
set_time_limit(60); // секунды
```
## 📞 Поддержка
При проблемах проверьте:
1. `logs/court_status.log` - логи эндпоинта
2. Наличие cookies в `cookies.txt`
3. Корректность API ключа в функции `GetKey()`
---
**Статус:** ✅ Готов к использованию
**Версия:** 1.0
**Последнее обновление:** 15 октября 2025