open-nfse / SubstituirResult
Type Alias: SubstituirResult
ts
type SubstituirResult =
| {
novaNfse: NfseEmitResult;
status: "ok";
}
| {
error: Error;
pending: PendingEmission;
status: "retry_pending";
};Defined in: src/eventos/cancelar.ts:161
Resultado da substituição — discriminated union sobre status, idêntico em forma ao EmitirResult. Enviar a nova DPS com infDPS/subst para POST /nfse faz o sistema gerar o evento 105102 (autor=MEmis) cancelando a original (atômico). Como há um único write:
'ok'— nota substituta autorizada (novaNfse); a original foi cancelada server-side pelo 105102.'retry_pending'— falha transiente noPOST /nfse; a emissão foi persistida noretryStorepara replay idempotente viareplayPendingEvents(dedup porinfDPS.Id). Nada foi alterado no SEFIN ainda.
Rejeição permanente (regra fiscal / validação local) lança exceção.