Save all currently accumulated repository changes as a backup snapshot for Gitea so no local work is lost.
73 lines
5.8 KiB
Markdown
73 lines
5.8 KiB
Markdown
# fillData для Send2Court (Debex): полный набор полей и откуда они берутся
|
||
|
||
## Откуда сейчас летит запрос из CRM
|
||
|
||
**Сейчас** при вызове эндпоинта `send2court_from_n8n.php` запрос уходит **на тестовый вебхук**, а не в Debex:
|
||
|
||
- URL: `https://n8n.clientright.pro/webhook/test_debix`
|
||
- В коде: `send2court_from_n8n.php`, строки 247–248 (`$debugWebhookUrl`).
|
||
|
||
Чтобы снова слать в Debex, нужно вернуть вызов `SendRequest(GetUrl('Prod'), ...)` вместо отправки на вебхук.
|
||
|
||
---
|
||
|
||
## Изначальный набор fillData из PHP (Send2Court / PrepareSend2Court)
|
||
|
||
Источник: `include/utils/Debexpert-guzzle.php` (Send2Court ~стр. 115–203, PrepareSend2Court ~1168–1227).
|
||
|
||
| Поле 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`.
|