Nfse.Error exception (nfse v0.1.0)

Copy Markdown View Source

Erro devolvido por toda função pública da biblioteca.

messages é uma lista de message/0. A Sefin manda erros[] na emissão e um erro único nos eventos, e os dois viram essa lista. details carrega o dado específico de cada kind, e dps_id identifica a DPS de uma escrita para conferir o resultado em vez de reenviar.

kindQuando
:validationo documento não passa no schema; details traz os caminhos; sem rede
:certificatecertificado vencido, sem clientAuth ou ilegível; sem rede
:rejected400: regra de negócio (código E.... do Anexo I ou II)
:forbidden403: certificado recusado ou ator sem acesso ao documento
:not_found404
:server5xx
:timeout, :transportsem resposta; numa escrita, o resultado é incerto
:unexpectedresposta que não se consegue ler; com status 2xx, numa escrita, o resultado é incerto

Summary

Types

kind()

@type kind() ::
  :validation
  | :certificate
  | :rejected
  | :forbidden
  | :not_found
  | :server
  | :timeout
  | :transport
  | :unexpected

message()

@type message() :: %{
  code: String.t() | nil,
  description: String.t() | nil,
  complement: String.t() | nil
}

t()

@type t() :: %Nfse.Error{
  __exception__: true,
  details: term(),
  dps_id: String.t() | nil,
  kind: kind() | nil,
  messages: [message()],
  status: non_neg_integer() | nil
}