docs: Добавлена краткая шпаргалка для быстрого старта

This commit is contained in:
AI Assistant
2025-11-02 19:21:37 +03:00
parent efb0cd6f05
commit ec44f43ca0

116
QUICK_START_DOCUMENTS.md Normal file
View File

@@ -0,0 +1,116 @@
# 🚀 Быстрый старт: Привязка документов
## Эндпоинт
```
POST https://crm.clientright.ru/api/n8n/documents/attach
```
---
## 💡 Простейший пример (из n8n)
```json
[
{
"contact_id": "{{ $json.contact_id }}",
"project_id": "{{ $json.project_id }}",
"ticket_id": "{{ $json.ticket_id }}",
"filename": "{{ $json.filename }}",
"file_type": "{{ $json.file_type }}",
"file": "{{ $json.file }}"
}
]
```
**Важно:**
- ✅ Всегда передавать как **массив** `[...]`
- ✅ Поле `file` может быть без хоста (автоматически добавится `https://s3.twcstorage.ru`)
- ✅ Если `ticket_id` указан → документ привязывается к **заявке**
- ✅ Если `ticket_id` НЕ указан → документ привязывается к **проекту**
---
## 🧪 Тестирование
### Быстрый тест (в консоли сервера):
```bash
cd /var/www/fastuser/data/www/crm.clientright.ru/erv_platform
./TEST_REAL_DATA.sh
```
### Проверка логов:
```bash
# Backend логи
docker-compose logs -f backend | grep "Attaching document"
# CRM логи
tail -f /var/www/fastuser/data/www/crm.clientright.ru/logs/upload_documents.log
```
---
## ✅ Ожидаемый ответ
```json
{
"success": true,
"total_processed": 1,
"successful": 1,
"failed": 0,
"results": [
{
"document_id": "15x396941",
"attached_to": "ticket",
"attached_to_id": "396936",
"file_name": "boarding_pass.pdf",
"file_type": "flight_delay_boarding_or_ticket",
"s3_bucket": "...",
"s3_key": "...",
"file_size": 85320
}
],
"errors": null
}
```
---
## 🔧 Интеграция в n8n
### HTTP Request Node:
**Method:** `POST`
**URL:** `https://crm.clientright.ru/api/n8n/documents/attach`
**Authentication:** None
**Body Content Type:** JSON
**Body:**
```json
{{ $json.documents }}
```
Где `$json.documents` - это массив документов из предыдущего node.
---
## 📊 Типы документов (file_type)
| Код | Описание |
|-----|----------|
| `flight_delay_boarding_or_ticket` | Посадочный талон / билет |
| `flight_delay_confirmation` | Подтверждение задержки |
| `flight_cancel_confirmation` | Подтверждение отмены рейса |
| `medical_receipt` | Медицинский чек |
| `medical_report` | Медицинское заключение |
| `luggage_delay_report` | Акт о задержке багажа |
| `passport_scan` | Скан паспорта |
| `policy_scan` | Скан полиса |
---
## 🎯 Готово!
Эндпоинт работает и готов к использованию! 🚀
Подробная документация: `DOCUMENT_ATTACH_API.md`