Save all currently accumulated repository changes as a backup snapshot for Gitea so no local work is lost.
5.8 KiB
5.8 KiB
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) | да |
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.