Files
aiform_dev/TEST_ATTACH_DOCUMENT.md
AI Assistant 4c8fda5f55 Добавлено логирование для отладки черновиков
- Добавлены логи в frontend (ClaimForm.tsx) для отслеживания unified_id и запросов к API
- Добавлены логи в backend (claims.py) для отладки SQL запросов
- Создан лог сессии с описанием проблемы и текущего состояния
- Проблема: API возвращает 0 черновиков, хотя в БД есть данные
2025-11-19 18:46:48 +03:00

131 lines
3.8 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.

# 📎 Тестирование привязки документов к проекту/заявке
## Эндпоинт
```
POST https://crm.clientright.ru/api/n8n/documents/attach
```
## 📋 Входные данные
### Обязательные поля:
- `contact_id` - ID контакта
- `project_id` - ID проекта
- `file_url` - URL файла в S3
- `file_name` - Имя файла
### Опциональные поля:
- `ticket_id` - ID заявки (если указан → привязываем к заявке)
- `file_type` - Описание документа (например: "flight_delay_boarding_or_ticket")
---
## 🧪 Тест 1: Привязка к проекту
```bash
curl -X POST "https://crm.clientright.ru/api/n8n/documents/attach" \
-H "Content-Type: application/json" \
-d '{
"contact_id": "320096",
"project_id": "396874",
"file_url": "https://s3.twcstorage.ru/f9825c87-4e3558f6-f9b6-405c-ad3d-d1535c49b61c/clientright/test/test_document.pdf",
"file_name": "boarding_pass.pdf",
"file_type": "flight_delay_boarding_or_ticket"
}'
```
**Ожидаемый результат:**
```json
{
"success": true,
"result": {
"document_id": "15x396940",
"document_numeric_id": "396940",
"attached_to": "project",
"attached_to_id": "396874",
"file_name": "boarding_pass.pdf",
"file_type": "flight_delay_boarding_or_ticket",
"s3_bucket": "f9825c87-4e3558f6-f9b6-405c-ad3d-d1535c49b61c",
"s3_key": "clientright/test/test_document.pdf",
"file_size": 12345,
"message": "Документ создан с правильными S3 метаданными и привязан к проекту"
}
}
```
---
## 🧪 Тест 2: Привязка к заявке (HelpDesk)
```bash
curl -X POST "https://crm.clientright.ru/api/n8n/documents/attach" \
-H "Content-Type: application/json" \
-d '{
"contact_id": "320096",
"project_id": "396874",
"ticket_id": "396935",
"file_url": "https://s3.twcstorage.ru/f9825c87-4e3558f6-f9b6-405c-ad3d-d1535c49b61c/clientright/test/test_document.pdf",
"file_name": "flight_delay_confirmation.pdf",
"file_type": "flight_delay_confirmation"
}'
```
**Ожидаемый результат:**
```json
{
"success": true,
"result": {
"document_id": "15x396941",
"document_numeric_id": "396941",
"attached_to": "ticket",
"attached_to_id": "396935",
"file_name": "flight_delay_confirmation.pdf",
"file_type": "flight_delay_confirmation",
"s3_bucket": "f9825c87-4e3558f6-f9b6-405c-ad3d-d1535c49b61c",
"s3_key": "clientright/test/test_document.pdf",
"file_size": 12345,
"message": "Документ создан с правильными S3 метаданными и привязан к проекту"
}
}
```
---
## 📊 Логика работы
1. **Если `ticket_id` НЕ указан:**
- Документ создается в vTiger CRM (модуль Documents)
- Привязывается к **Project** (проекту)
- `attached_to = "project"`
2. **Если `ticket_id` указан:**
- Документ создается в vTiger CRM (модуль Documents)
- Привязывается к **HelpDesk** (заявке)
- `attached_to = "ticket"`
3. **S3 метаданные:**
- Автоматически обновляются в базе vTiger
- `filelocationtype = 'E'` (External URL)
- Сохраняются `s3_bucket`, `s3_key`, `file_size`
---
## 🔍 Где смотреть логи
### Backend логи:
```bash
docker-compose logs -f backend | grep "Attaching document"
```
### CRM логи:
```bash
tail -f /var/www/fastuser/data/www/crm.clientright.ru/logs/upload_documents.log
```
---
## ✅ Готово!
Эндпоинт готов к интеграции в n8n workflow!