# πŸš€ Быстрый старт: ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ## Π­Π½Π΄ΠΏΠΎΠΈΠ½Ρ‚ ``` POST https://crm.clientright.ru/api/n8n/documents/attach ``` --- ## πŸ’‘ ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ (ΠΈΠ· n8n) ```json [ { "contact_id": "{{ $json.contact_id }}", "project_id": "{{ $json.project_id }}", "ticket_id": "{{ $json.ticket_id }}", "filename": "{{ $json.filename }}", "file_type": "{{ $json.file_type }}", "file": "{{ $json.file }}" } ] ``` **Π’Π°ΠΆΠ½ΠΎ:** - βœ… ВсСгда ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ **массив** `[...]` - βœ… ПолС `file` ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±Π΅Π· хоста (автоматичСски добавится `https://s3.twcstorage.ru`) - βœ… Если `ticket_id` ΡƒΠΊΠ°Π·Π°Π½ β†’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ привязываСтся ΠΊ **заявкС** - βœ… Если `ticket_id` НЕ ΡƒΠΊΠ°Π·Π°Π½ β†’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ привязываСтся ΠΊ **ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ** --- ## πŸ§ͺ ВСстированиС ### Быстрый тСст (Π² консоли сСрвСра): ```bash cd /var/www/fastuser/data/www/crm.clientright.ru/erv_platform ./TEST_REAL_DATA.sh ``` ### ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π»ΠΎΠ³ΠΎΠ²: ```bash # Backend Π»ΠΎΠ³ΠΈ docker-compose logs -f backend | grep "Attaching document" # CRM Π»ΠΎΠ³ΠΈ tail -f /var/www/fastuser/data/www/crm.clientright.ru/logs/upload_documents.log ``` --- ## βœ… ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ ```json { "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", "file_type": "flight_delay_boarding_or_ticket", "s3_bucket": "...", "s3_key": "...", "file_size": 85320 } ], "errors": null } ``` --- ## πŸ”§ Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ Π² n8n ### HTTP Request Node: **Method:** `POST` **URL:** `https://crm.clientright.ru/api/n8n/documents/attach` **Authentication:** None **Body Content Type:** JSON **Body:** ```json {{ $json.documents }} ``` Π“Π΄Π΅ `$json.documents` - это массив Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ node. --- ## πŸ“Š Π’ΠΈΠΏΡ‹ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² (file_type) | Код | ОписаниС | |-----|----------| | `flight_delay_boarding_or_ticket` | ΠŸΠΎΡΠ°Π΄ΠΎΡ‡Π½Ρ‹ΠΉ Ρ‚Π°Π»ΠΎΠ½ / Π±ΠΈΠ»Π΅Ρ‚ | | `flight_delay_confirmation` | ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ | | `flight_cancel_confirmation` | ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ рСйса | | `medical_receipt` | ΠœΠ΅Π΄ΠΈΡ†ΠΈΠ½ΡΠΊΠΈΠΉ Ρ‡Π΅ΠΊ | | `medical_report` | ΠœΠ΅Π΄ΠΈΡ†ΠΈΠ½ΡΠΊΠΎΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ | | `luggage_delay_report` | Акт ΠΎ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ΅ Π±Π°Π³Π°ΠΆΠ° | | `passport_scan` | Π‘ΠΊΠ°Π½ паспорта | | `policy_scan` | Π‘ΠΊΠ°Π½ полиса | --- ## 🎯 Π“ΠΎΡ‚ΠΎΠ²ΠΎ! Π­Π½Π΄ΠΏΠΎΠΈΠ½Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Π³ΠΎΡ‚ΠΎΠ² ΠΊ использованию! πŸš€ ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π°Ρ докумСнтация: `DOCUMENT_ATTACH_API.md`