Modelo ISO 20022 do camt.025 (recibo, resposta a trck.002),
versão 1.0 — até 500 confirmações por mensagem (RctDtls é
max: ilimitado no schema real, modelado como lista de verdade).
Cada confirmação correlaciona com um trck.002 por OrgnlMsgId/
OrgnlPmtId e traz um status (aceite/rejeição), com motivo opcional.
StsRsn (o bloco de motivo) é preenchido quando Sts.Cd == "RJCT"
(planilha do catálogo): rsn_prtry é quem decide se o bloco aparece
— Rsn é obrigatório dentro dele no schema real, AddtlInf que é
opcional. addtl_inf sem rsn_prtry é rejeitado explicitamente
(encode/3), já que não tem como virar StsRsn válido sem Rsn.
Summary
Functions
Decodifica um XML de camt.025 de volta para a struct.
Monta o XML (envelope completo, AppHdr + Document) para a versão dada.
Types
@type t() :: %Isox.Camt025{ confirmations: [confirmation()], created_at: DateTime.t(), msg_id: String.t() }
@type version() :: :v1_0
Functions
Decodifica um XML de camt.025 de volta para a struct.
@spec encode(t(), Isox.AppHdr.t(), version()) :: {:ok, binary()} | {:error, String.t()}
Monta o XML (envelope completo, AppHdr + Document) para a versão dada.