Files
crm.clientright.ru/ticket_form/QUICK_START_DOCUMENTS.md
Fedor de011efba9 fix: исправлен конфликт имён переменных в loadDraft (claimId -> finalClaimId)
- Исправлена ошибка ReferenceError при загрузке черновиков
- Переименована локальная переменная claimId в finalClaimId для избежания конфликта с параметром функции
- Обновлена логика извлечения claim_id из разных источников (claim.claim_id, payload.claim_id, body.claim_id, claim.id)
- Добавлен fallback на параметр claimId функции для надёжности
2025-11-19 23:33:52 +03:00

118 lines
2.9 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
```
---
## 💡 Простейший пример (из 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`