feat: Прямой PHP эндпоинт для привязки документов

Создан api_attach_documents.php:
 Прямой эндпоинт без backend proxy
 URL: https://crm.clientright.ru/api_attach_documents.php
 Принимает массив документов из n8n
 Умная обработка S3 путей (добавляет хост если нужно)
 Поддержка file/file_url, filename/file_name
 Привязка к HelpDesk или Project (зависит от ticket_id)
 Проксирует к upload_documents_to_crm.php
 Полное логирование в logs/api_attach_documents.log

Готово к использованию в n8n!
This commit is contained in:
Fedor
2025-11-02 19:25:04 +03:00
parent 5f4f99245d
commit 546ce83763
2 changed files with 339 additions and 0 deletions

89
API_ATTACH_DOCS_README.md Normal file
View File

@@ -0,0 +1,89 @@
# 📎 API для привязки документов
## ✅ Прямой эндпоинт (готов к использованию!)
```
POST https://crm.clientright.ru/api_attach_documents.php
```
---
## 🚀 Формат запроса (из n8n)
```json
[
{
"contact_id": "320096",
"project_id": "396868",
"ticket_id": "396936",
"filename": "boarding_pass.pdf",
"file_type": "flight_delay_boarding_or_ticket",
"file": "/f9825c87-4e3558f6-f9b6-405c-ad3d-d1535c49b61c/crm2/CRM_Active_Files/Documents/HelpDesk/ЗАЯВКА_827_396936/flight_delay_boarding_or_ticket.pdf"
}
]
```
**Важно:**
- ✅ Массив `[...]` (даже для одного документа)
-`file` без хоста → автоматически добавится `https://s3.twcstorage.ru`
-`ticket_id` опционально (если есть → HelpDesk, иначе → Project)
---
## 📊 Формат ответа
```json
{
"success": true,
"total_processed": 1,
"successful": 1,
"failed": 0,
"results": [
{
"document_id": "15x396941",
"document_numeric_id": "396941",
"attached_to": "ticket",
"attached_to_id": "396936",
"file_name": "boarding_pass.pdf",
"file_type": "flight_delay_boarding_or_ticket",
"s3_bucket": "f9825c87-...",
"s3_key": "crm2/CRM_Active_Files/...",
"file_size": 85320,
"message": "Документ создан и привязан..."
}
],
"errors": null
}
```
---
## 🧪 Тест
```bash
curl -X POST "https://crm.clientright.ru/api_attach_documents.php" \
-H "Content-Type: application/json" \
-d '[
{
"contact_id": "320096",
"project_id": "396868",
"ticket_id": "396936",
"filename": "test.pdf",
"file_type": "flight_delay_boarding_or_ticket",
"file": "/bucket/path/to/file.pdf"
}
]'
```
---
## 🔍 Логи
```bash
tail -f /var/www/fastuser/data/www/crm.clientright.ru/logs/api_attach_documents.log
```
---
## 🎯 Готово к использованию в n8n!