ЭДО: сертификат компании нужен только для mTLS, портал больше не разбирает awaiting_certificate
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -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
|
|
||||||
}))
|
}))
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user