docs: Добавлена краткая шпаргалка для быстрого старта
This commit is contained in:
116
QUICK_START_DOCUMENTS.md
Normal file
116
QUICK_START_DOCUMENTS.md
Normal 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`
|
||||
|
||||
Reference in New Issue
Block a user