Files
aiform_dev/SUMMARY_DOCUMENTS_API.md
AI Assistant 4c8fda5f55 Добавлено логирование для отладки черновиков
- Добавлены логи в frontend (ClaimForm.tsx) для отслеживания unified_id и запросов к API
- Добавлены логи в backend (claims.py) для отладки SQL запросов
- Создан лог сессии с описанием проблемы и текущего состояния
- Проблема: API возвращает 0 черновиков, хотя в БД есть данные
2025-11-19 18:46:48 +03:00

3.8 KiB
Raw Permalink Blame History

📎 ИТОГ: API привязки документов готов!

Что сделано

1 Backend Endpoint

URL: POST https://crm.clientright.ru/api/n8n/documents/attach

Возможности:

  • Batch-обработка массива документов
  • Умный парсинг S3 путей (автоматически добавляет хост)
  • Поддержка двух форматов полей (file/file_url, filename/file_name)
  • Привязка к HelpDesk (заявке) или Project (проекту)
  • Детальная статистика по каждому документу
  • Полное логирование всех операций

2 PHP Backend

Файл: /var/www/fastuser/data/www/crm.clientright.ru/upload_documents_to_crm.php

Доработки:

  • Поддержка ticket_id для привязки к HelpDesk
  • Логика: если ticket_id → HelpDesk, иначе → Project
  • Обновление S3 метаданных в базе vTiger
  • Прямая привязка через relateEntities если webservice не работает

3 Документация

  • 📄 DOCUMENT_ATTACH_API.md - полная документация API
  • 📄 QUICK_START_DOCUMENTS.md - краткая шпаргалка
  • 📄 TEST_ATTACH_DOCUMENT.md - примеры тестирования

4 Тесты

  • 🧪 TEST_REAL_DATA.sh - тест с реальными данными
  • 🧪 TEST_QUICK.sh - быстрые тесты

🚀 Формат входных данных

[
  {
    "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/to/file.pdf"
  }
]

Важно:

  • Всегда массив [...] (даже для одного документа)
  • Поле file без хоста → автоматически добавится https://s3.twcstorage.ru
  • ticket_id опционально (если есть → HelpDesk, иначе → Project)

📊 Формат ответа

{
  "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
}

🧪 Тестирование

cd /var/www/fastuser/data/www/crm.clientright.ru/erv_platform
./TEST_REAL_DATA.sh

📝 Git коммиты

ec44f43 - docs: Добавлена краткая шпаргалка для быстрого старта
efb0cd6 - feat: Поддержка batch-обработки документов и умного парсинга S3 путей
e27280e - docs: Добавлена полная документация API привязки документов
936cea6 - feat: Добавлен эндпоинт для привязки документов к проекту/заявке
d3b7b3b - feat: Добавлены все N8N webhook URLs в config.py
5f4f992 - feat: Добавлена поддержка привязки документов к HelpDesk (CRM)

🎯 Готово к боевому использованию!

Эндпоинт протестирован и готов к интеграции в n8n workflow! 🚀