ЭДО: сертификат компании нужен только для mTLS, портал больше не разбирает awaiting_certificate

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
gorbenko.pavel
2026-10-02 17:36:03 +05:00
parent 7aacc1730f
commit 16a478053c
2 changed files with 5 additions and 11 deletions
@@ -45,9 +45,9 @@
массиве `file_company_bins`, общий `company_bin` не передаётся. Подписант один — сам сотрудник, от массиве `file_company_bins`, общий `company_bin` не передаётся. Подписант один — сам сотрудник, от
имени физического лица; БИН нужны ЭДО только чтобы выбрать сертификат Sigex (mTLS) нужной компании. имени физического лица; БИН нужны ЭДО только чтобы выбрать сертификат Sigex (mTLS) нужной компании.
Запрос один на все файлы: ЭДО принимает его целиком или отклоняет целиком (например, если у какой-то Запрос один на все файлы: ЭДО принимает его целиком или отклоняет целиком (например, если у какой-то
компании не распознан), поэтому повтор безопасен. Если у компании нет сертификата Sigex, ЭДО всё равно компании не распознан), поэтому повтор безопасен. Сертификат Sigex компании нужен ЭДО только для mTLS
сохраняет её документ, но подписать его нельзя, пока администратор не загрузит сертификат. Ответ 200 (карточка документа): без него документ принимается и подписывается как обычно. Ответ 200 значит
значит «принято»: в зелёном сообщении просто «Документы отправлены на подписание в ЭДО». «принято»: в зелёном сообщении просто «Документы отправлены на подписание в ЭДО».
- **ИИН** берётся из `GET /Employee/ByEmail` (поле `Iin`), **БИН компаний** — из `GET /Dictionary/Companies` - **ИИН** берётся из `GET /Employee/ByEmail` (поле `Iin`), **БИН компаний** — из `GET /Dictionary/Companies`
по `CompanyId` каждой записи сотрудника (`shared/edo/signingTarget.ts`). Компания без БИН в справочнике по `CompanyId` каждой записи сотрудника (`shared/edo/signingTarget.ts`). Компания без БИН в справочнике
пропускается и показывается в сообщении; остальные уходят. пропускается и показывается в сообщении; остальные уходят.
@@ -31,17 +31,13 @@ export interface IEdoSigningResult {
documents: Array<{ documents: Array<{
id: string; id: string;
fileName: string; fileName: string;
/** БИН компании файла. */
companyBin: string;
/** У компании нет сертификата Sigex: файл сохранён, но подписать его нельзя до загрузки сертификата. */
awaitingCertificate: boolean;
}>; }>;
} }
/** Ответ ЭДО в snake_case — только поля, которые читаем. */ /** Ответ ЭДО в snake_case — только поля, которые читаем. */
interface IEdoResponseBody { interface IEdoResponseBody {
cabinet_url?: string; cabinet_url?: string;
documents?: Array<{ id?: string; file_name?: string; company_bin?: string; awaiting_certificate?: boolean }>; documents?: Array<{ id?: string; file_name?: string }>;
} }
/** /**
@@ -93,9 +89,7 @@ export async function submitSigningRequest(
cabinetUrl: body.cabinet_url || '', cabinetUrl: body.cabinet_url || '',
documents: (body.documents || []).map((d) => ({ documents: (body.documents || []).map((d) => ({
id: d.id || '', id: d.id || '',
fileName: d.file_name || '', fileName: d.file_name || ''
companyBin: d.company_bin || '',
awaitingCertificate: d.awaiting_certificate === true
})) }))
}; };
} }