Files
crm.clientright.ru/docs/send2court_fillData_fields.md
Fedor 01c4fe80b5 chore: snapshot current working tree changes
Save all currently accumulated repository changes as a backup snapshot for Gitea so no local work is lost.
2026-03-26 14:19:01 +03:00

73 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# fillData для Send2Court (Debex): полный набор полей и откуда они берутся
## Откуда сейчас летит запрос из CRM
**Сейчас** при вызове эндпоинта `send2court_from_n8n.php` запрос уходит **на тестовый вебхук**, а не в Debex:
- URL: `https://n8n.clientright.pro/webhook/test_debix`
- В коде: `send2court_from_n8n.php`, строки 247248 (`$debugWebhookUrl`).
Чтобы снова слать в Debex, нужно вернуть вызов `SendRequest(GetUrl('Prod'), ...)` вместо отправки на вебхук.
---
## Изначальный набор fillData из PHP (Send2Court / PrepareSend2Court)
Источник: `include/utils/Debexpert-guzzle.php` (Send2Court ~стр. 115203, PrepareSend2Court ~11681227).
| Поле fillData | Откуда в PHP | Есть в SQL n8n? | В n8n заполняется? |
|---------------|--------------|------------------|--------------------|
| **appealType** | константа `2` (представитель) | — | да |
| **mySelfAdditionalData** | | | |
| → courtNoticesAddressIndex | `u.index_notice` | да (index_notice) | да |
| → courtNoticesAddress | `u.addr_notice` | да (addr_notice) | да |
| → email | `u.email1` (usermail) | да (usermail) | да |
| → authorizationDocument | fileIndex 0, description, pagesCount | из auth_doc | да |
| **additionalForRepresentativeApplicants[0]** | представитель = контрагент (account) | | |
| → dataType | `'entity'` | — | да |
| → entity.name | accountname | да (accountname) | да |
| → entity.inn, kpp, ogrn/ogrnip | из account | да | да |
| → entity.legalIndex, legalAddress | bill_code, bill_city, bill_street | да | да |
| → entity.actualResidenceIndex, actualResidenceAddress | ship_*, ra.* | да | да |
| → entity.email, phoneNumber | a.email1, a.phone | да | да |
| **court** | **getCourt(contactid, address, price)** | **нет** | **нет** |
| → region | первые 2 цифры кода суда | — | пусто |
| → judicialAuthority | код суда | — | пусто |
| **appealDocument** | fileIndex 1, claim description/pages | из claim_201/217 | да |
| **additionalAppealDocuments[]** | прочие доки, fileIndex 2..N | из other_docs | да |
| **tax.type** | `'1'` | — | да |
| **processType** | 201.01 / 217.01 | да | да |
| **caseNumber** (217.01) | casenumber | да (casenumber) | при 217.01 |
---
## Что в n8n не дособиралось
### 1. Суд (court) — точно не заполняется
- В PHP: `court` заполняется из **getCourt($contactid, $address, $price)**.
- getCourt: либо бесплатный API по адресу, либо Debex jurisdiction API; на выходе `region` (2 цифры) и `code` (judicialAuthority).
- В n8n: результат одного MySQL-запроса **не содержит** court. В воркфлоу нет шага «подсудность» / вызов API суда, поэтому в fillData уходит `"court": { "region": "", "judicialAuthority": "" }`.
- **Что сделать:** в n8n добавить шаг «подсудность» (по адресу + цене иска): вызов того же API, что и в getCourt, получение `region` и кода суда, и подстановка их в fillData перед отправкой (в CRM или в ноде, которая собирает fillData).
### 2. Истец (физлицо) и ответчик
- В **текущем** PHP (Send2Court / PrepareSend2Court) в `$data` **нет** отдельных блоков:
- «истец-физлицо» (контакт по проекту: ФИО, адрес),
- «ответчик» (юрлицо/физлицо по acc1/acc2, адрес offaddress).
- Есть только **additionalForRepresentativeApplicants** — это представитель (юрлицо, контрагент cf_1994).
- Если в форме ГАС/Debex обязательны отдельные разделы «заявители (физлица)» и «ответчик», то:
- в **SQL** нужно добавить поля контакта (firstname, lastname, mailingstreet и т.д.) и при необходимости данные ответчика (account по cf_2274/cf_2276, offaddress уже есть);
- в **n8n** (или в CRM при сборке fillData) нужно маппить их в те ключи fillData, которые ожидает API (названия ключей нужно взять из документации Debex/ГАС или из разбора успешной отправки из интерфейса).
Итого: «какой изначально набор мы слали до переделки» — ровно этот (без суда в n8n, без отдельных истца/ответчика и в PHP). Что точно не дособрано в n8n — **суд (court)**. Истец (физлицо) и ответчик в текущем PHP тоже не формируются; если API их требует, их нужно добавить и в данные (SQL/ноды), и в структуру fillData.
---
## Где что лежит
- **Эндпоинт:** `send2court_from_n8n.php` (сейчас режет на тестовый вебхук).
- **Полная сборка fillData в PHP:** `include/utils/Debexpert-guzzle.php` — функция Send2Court (старый поток) и PrepareSend2Court (для n8n/API).
- **Подсудность (суд):** `getCourt()` в том же файле (~стр. 738); вход: contactid, address, price.
- **Один запрос для n8n:** `docs/send2court_single_query.sql`.