Files
crm.clientright.ru/GET_COURT_STATUS_README.md

261 lines
8.4 KiB
Markdown
Raw Normal View History

# Эндпоинт получения статуса обращений в суд
**Файл:** `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