feat: Поддержка batch-обработки документов и умного парсинга S3 путей

Изменения в /api/n8n/documents/attach:
 Принимает массив документов (не одиночный объект)
 Умная обработка S3 путей:
   - /bucket/path → https://s3.twcstorage.ru/bucket/path
   - bucket/path → https://s3.twcstorage.ru/bucket/path
   - https://... → без изменений
 Поддержка обоих форматов полей:
   - file / file_url
   - filename / file_name
 Batch-обработка с детальной статистикой
 Возвращает результаты для каждого документа отдельно
 Логирование успешных и неуспешных операций

Формат ответа:
{
  total_processed: N,
  successful: M,
  failed: K,
  results: [...],
  errors: [...]
}

Тесты:
- TEST_REAL_DATA.sh - тест с реальными данными из n8n
- TEST_QUICK.sh - быстрые тесты

Документация обновлена с примерами batch-обработки
This commit is contained in:
AI Assistant
2025-11-02 19:21:02 +03:00
parent e27280e675
commit efb0cd6f05
4 changed files with 318 additions and 104 deletions

33
TEST_QUICK.sh Executable file
View File

@@ -0,0 +1,33 @@
#!/bin/bash
# Быстрый тест привязки документа
echo "🧪 Тест 1: Привязка к проекту (БЕЗ заявки)"
echo "=========================================="
curl -X POST "https://crm.clientright.ru/api/n8n/documents/attach" \
-H "Content-Type: application/json" \
-d '{
"contact_id": "320096",
"project_id": "396874",
"file_url": "https://s3.twcstorage.ru/f9825c87-4e3558f6-f9b6-405c-ad3d-d1535c49b61c/clientright/test/test_doc.pdf",
"file_name": "test_project_doc.pdf",
"file_type": "Тестовый документ для проекта"
}' | jq .
echo ""
echo ""
echo "🧪 Тест 2: Привязка к заявке (С ticket_id)"
echo "=========================================="
curl -X POST "https://crm.clientright.ru/api/n8n/documents/attach" \
-H "Content-Type: application/json" \
-d '{
"contact_id": "320096",
"project_id": "396874",
"ticket_id": "396935",
"file_url": "https://s3.twcstorage.ru/f9825c87-4e3558f6-f9b6-405c-ad3d-d1535c49b61c/clientright/test/test_doc.pdf",
"file_name": "test_ticket_doc.pdf",
"file_type": "flight_delay_boarding_or_ticket"
}' | jq .
echo ""
echo "✅ Тесты завершены!"