Isox.Camt060 (Isox v0.2.0)

Copy Markdown View Source

Consulta à Conta PI: saldo, extrato, relação de lançamentos ou detalhe de um lançamento.

Versão 1.9. reqd_msg_nm_id é o campo que despacha: ele decide se a resposta volta como Isox.Camt052, Isox.Camt053 ou Isox.Camt054. Junto com reqd_bal_tp_prtry, forma a pergunta completa.

O período

RptgPrd é opcional inteiro, e rptg_prd_fr_dt funciona como sinal de presença dele. Tp é fixo em "ALLL" e não vira campo.

O horário (rptg_prd_fr_tm e rptg_prd_to_tm) é opcional por conta própria dentro do período, não exigido junto com as datas. A planilha é explícita: horário só entra na relação de lançamentos. Consulta de saldo de dia anterior, de remuneração da Conta PI e de arquivo TRD ou TRT usam só data. Os exemplos oficiais confirmam (camt.060_SALDO_DATA_ANTERIOR, _SOLIC_REMUNERACAO_CONTA_PI, _SOLIC_ARQUIVO_TRD, todos com RptgPrd sem FrToTm).

Summary

Functions

Decodifica um XML de camt.060 de volta para a struct.

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

Types

t()

@type t() :: %Isox.Camt060{
  acct_ownr_ispb: String.t(),
  created_at: DateTime.t(),
  id: String.t() | nil,
  msg_id: String.t(),
  reqd_bal_tp_prtry: String.t() | nil,
  reqd_msg_nm_id: String.t(),
  rptg_prd_fr_dt: Date.t() | nil,
  rptg_prd_fr_tm: Time.t() | nil,
  rptg_prd_to_dt: Date.t() | nil,
  rptg_prd_to_tm: Time.t() | nil
}

version()

@type version() :: :v1_9

Functions

decode(xml)

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

Decodifica um XML de camt.060 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.