diff --git a/QUICK_START_DOCUMENTS.md b/QUICK_START_DOCUMENTS.md new file mode 100644 index 0000000..af70674 --- /dev/null +++ b/QUICK_START_DOCUMENTS.md @@ -0,0 +1,116 @@ +# πŸš€ Быстрый старт: ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² + +## Π­Π½Π΄ΠΏΠΎΠΈΠ½Ρ‚ +``` +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` +