# πŸ“Ž ВСстированиС привязки Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ/заявкС ## Π­Π½Π΄ΠΏΠΎΠΈΠ½Ρ‚ ``` POST https://crm.clientright.ru/api/n8n/documents/attach ``` ## πŸ“‹ Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ### ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля: - `contact_id` - ID ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° - `project_id` - ID ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° - `file_url` - URL Ρ„Π°ΠΉΠ»Π° Π² S3 - `file_name` - Имя Ρ„Π°ΠΉΠ»Π° ### ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ поля: - `ticket_id` - ID заявки (Ссли ΡƒΠΊΠ°Π·Π°Π½ β†’ привязываСм ΠΊ заявкС) - `file_type` - ОписаниС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: "flight_delay_boarding_or_ticket") --- ## πŸ§ͺ ВСст 1: ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ ```bash 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_document.pdf", "file_name": "boarding_pass.pdf", "file_type": "flight_delay_boarding_or_ticket" }' ``` **ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:** ```json { "success": true, "result": { "document_id": "15x396940", "document_numeric_id": "396940", "attached_to": "project", "attached_to_id": "396874", "file_name": "boarding_pass.pdf", "file_type": "flight_delay_boarding_or_ticket", "s3_bucket": "f9825c87-4e3558f6-f9b6-405c-ad3d-d1535c49b61c", "s3_key": "clientright/test/test_document.pdf", "file_size": 12345, "message": "Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ создан с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ S3 ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ привязан ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ" } } ``` --- ## πŸ§ͺ ВСст 2: ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ заявкС (HelpDesk) ```bash 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_document.pdf", "file_name": "flight_delay_confirmation.pdf", "file_type": "flight_delay_confirmation" }' ``` **ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:** ```json { "success": true, "result": { "document_id": "15x396941", "document_numeric_id": "396941", "attached_to": "ticket", "attached_to_id": "396935", "file_name": "flight_delay_confirmation.pdf", "file_type": "flight_delay_confirmation", "s3_bucket": "f9825c87-4e3558f6-f9b6-405c-ad3d-d1535c49b61c", "s3_key": "clientright/test/test_document.pdf", "file_size": 12345, "message": "Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ создан с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ S3 ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ привязан ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ" } } ``` --- ## πŸ“Š Π›ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ 1. **Если `ticket_id` НЕ ΡƒΠΊΠ°Π·Π°Π½:** - Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ создаСтся Π² vTiger CRM (ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Documents) - ΠŸΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊ **Project** (ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ) - `attached_to = "project"` 2. **Если `ticket_id` ΡƒΠΊΠ°Π·Π°Π½:** - Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ создаСтся Π² vTiger CRM (ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Documents) - ΠŸΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊ **HelpDesk** (заявкС) - `attached_to = "ticket"` 3. **S3 ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅:** - АвтоматичСски ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ Π² Π±Π°Π·Π΅ vTiger - `filelocationtype = 'E'` (External URL) - Π‘ΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ `s3_bucket`, `s3_key`, `file_size` --- ## πŸ” Π“Π΄Π΅ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ ### Backend Π»ΠΎΠ³ΠΈ: ```bash docker-compose logs -f backend | grep "Attaching document" ``` ### CRM Π»ΠΎΠ³ΠΈ: ```bash tail -f /var/www/fastuser/data/www/crm.clientright.ru/logs/upload_documents.log ``` --- ## βœ… Π“ΠΎΡ‚ΠΎΠ²ΠΎ! Π­Π½Π΄ΠΏΠΎΠΈΠ½Ρ‚ Π³ΠΎΡ‚ΠΎΠ² ΠΊ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π² n8n workflow!