- Исправлена ошибка ReferenceError при загрузке черновиков - Переименована локальная переменная claimId в finalClaimId для избежания конфликта с параметром функции - Обновлена логика извлечения claim_id из разных источников (claim.claim_id, payload.claim_id, body.claim_id, claim.id) - Добавлен fallback на параметр claimId функции для надёжности
2.3 KiB
2.3 KiB
✅ ИТОГОВОЕ РЕШЕНИЕ: Привязка документов
🎯 Прямой PHP эндпоинт (рекомендуется)
URL для n8n:
POST https://crm.clientright.ru/api_attach_documents.php
Почему этот вариант:
- ✅ Нет лишних прокси-слоев
- ✅ Не зависит от backend контейнера
- ✅ Прямое взаимодействие с CRM
- ✅ Проще в отладке
📋 Формат запроса
[
{
"claim_id": "CLM-2025-11-02-WNRZZZ",
"event_type": "delay_flight",
"contact_id": "320096",
"project_id": "396868",
"ticket_id": "396936",
"filename": "boarding_pass.pdf",
"file_type": "flight_delay_boarding_or_ticket",
"file": "/bucket/path/file.pdf"
}
]
Обязательные поля:
contact_id- ID контактаproject_id- ID проекта (полиса)filename(илиfile_name) - имя файлаfile(илиfile_url) - путь к файлу в S3
Опциональные поля:
ticket_id- ID заявки (если указан → привязка к HelpDesk, иначе → к Project)file_type- описание типа документаclaim_id,event_type- для логирования
📊 Ответ
{
"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",
"...": "..."
}
],
"errors": null
}
🔧 Интеграция в n8n
HTTP Request Node:
Method: POST
URL: https://crm.clientright.ru/api_attach_documents.php
Authentication: None
Body Content Type: JSON
Body:
{{ $json.documents }}
Где $json.documents - массив из предыдущей ноды.
🔍 Логи
tail -f /var/www/fastuser/data/www/crm.clientright.ru/logs/api_attach_documents.log
✅ Готово к использованию!
Эндпоинт протестирован и готов к production! 🚀
Полная документация: /var/www/fastuser/data/www/crm.clientright.ru/API_ATTACH_DOCS_README.md