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

31
TEST_REAL_DATA.sh Executable file
View File

@@ -0,0 +1,31 @@
#!/bin/bash
# Тест с реальными данными из n8n
echo "🧪 Тест привязки документа с реальными данными"
echo "=============================================="
curl -X POST "https://crm.clientright.ru/api/n8n/documents/attach" \
-H "Content-Type: application/json" \
-d '[
{
"claim_id": "CLM-2025-11-02-WNRZZZ",
"event_type": "delay_flight",
"contact_id": "320096",
"project_id": "396868",
"ticket_id": "396936",
"filename": "flight_delay_boarding_or_ticket.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"
}
]' | jq .
echo ""
echo "✅ Тест завершен!"
echo ""
echo "Ожидаемый результат:"
echo " - success: true"
echo " - total_processed: 1"
echo " - successful: 1"
echo " - attached_to: ticket"
echo " - attached_to_id: 396936"