2.9 KiB
2.9 KiB
🚀 Быстрый старт: Привязка документов
Эндпоинт
POST https://crm.clientright.ru/api/n8n/documents/attach
💡 Простейший пример (из n8n)
[
{
"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НЕ указан → документ привязывается к проекту
🧪 Тестирование
Быстрый тест (в консоли сервера):
cd /var/www/fastuser/data/www/crm.clientright.ru/erv_platform
./TEST_REAL_DATA.sh
Проверка логов:
# Backend логи
docker-compose logs -f backend | grep "Attaching document"
# CRM логи
tail -f /var/www/fastuser/data/www/crm.clientright.ru/logs/upload_documents.log
✅ Ожидаемый ответ
{
"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.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