Isox.Admi002 (Isox v0.2.0)

Copy Markdown View Source

Recusa de mensagem: o que o SPI responde quando nem chegou a entender o que recebeu.

Versão 1.5, a única do catálogo. A mensagem recusada é apontada por ref, que é o PI-ResourceId devolvido no ingresso dela (Manual VIII).

A admi.002 é a resposta de último recurso. Quando o SPI consegue ler a mensagem, ele responde no formato dela: pacs.002 para um pagamento, reda.016 para um pedido de cadastro. A admi.002 aparece quando isso não é possível, então ela não traz o conteúdo do que foi recusado, só a referência.

encode/3 mantém o parâmetro de versão mesmo havendo uma só, pela razão da ADR 0002: a unidade de versionamento é o par mensagem e versão, não o catálogo inteiro.

Summary

Functions

Decodifica um XML de admi.002 de volta para a struct.

Monta o XML (envelope completo, AppHdr + Document) para a versão dada.

Types

t()

@type t() :: %Isox.Admi002{
  addtl_data: String.t() | nil,
  err_lctn: String.t() | nil,
  ref: String.t(),
  rjctg_pty_rsn: String.t(),
  rjctn_dt_tm: DateTime.t() | nil,
  rsn_desc: String.t() | nil
}

version()

@type version() :: :v1_5

Functions

decode(xml)

@spec decode(binary()) :: {:ok, t(), version()} | {:error, term()}

Decodifica um XML de admi.002 de volta para a struct.

encode(message, header, version)

@spec encode(t(), Isox.AppHdr.t(), version()) ::
  {:ok, binary()} | {:error, String.t()}

Monta o XML (envelope completo, AppHdr + Document) para a versão dada.