Resposta a um pedido de cadastro: o desfecho de uma Isox.Reda014,
Isox.Reda022 ou Isox.Reda031.
Versão 1.5. A correlação com o pedido é por orgnl_msg_id.
sts tem três valores, confirmados pelos três exemplos oficiais do BCB.
O do meio é o que costuma surpreender: "QUED" não é erro, é o pedido
de registro de um indireto que já tem liquidante. O liquidante atual
ganha 24 horas para confirmar o fim do relacionamento, e o prazo vem na
Isox.Reda017.
Regra cruzada que o XSD não expressa
rsn_prtry é obrigatório em "QUED" e "REJT", proibido em "COMP".
sys_pty_ispb é o inverso: obrigatório em "COMP", proibido nos outros
dois. Faz sentido, porque só o pedido que deu certo tem participante
para apontar. rspnsbl_pty_ispb mora dentro do bloco de sys_pty_ispb,
então não existe sem ele. encode/3 valida tudo isso.
Summary
Functions
Decodifica um XML de reda.016 de volta para a struct.
Monta o XML (envelope completo, AppHdr + Document) para a versão dada.
Types
Functions
Decodifica um XML de reda.016 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.