Class: FocusNfe::Recursos::NfesRecebidas

Inherits:
Base
  • Object
show all
Includes:
Concerns::Baixavel, Concerns::BaixavelEventos, Concerns::Eventavel, Concerns::Listavel, Concerns::Notificavel
Defined in:
lib/focus_nfe/recursos/nfes_recebidas.rb

Overview

Notas fiscais (NF-e) recebidas contra um CNPJ. Listagem com sincronização incremental, consulta por chave, downloads, manifestação do destinatário e eventos.

Constant Summary

Constants inherited from Base

Base::REFERENCIA

Instance Method Summary collapse

Methods included from Concerns::Notificavel

#reenviar_hook

Methods included from Concerns::BaixavelEventos

#download_xml_cancelamento, #download_xml_carta_correcao

Methods included from Concerns::Baixavel

#download, #download_json, #download_pdf, #download_xml

Methods included from Concerns::Listavel

#listar

Methods inherited from Base

caminho_base, #caminho_base, caminho_base_previa, #caminho_base_previa, #initialize

Constructor Details

This class inherits a constructor from FocusNfe::Recursos::Base

Instance Method Details

#cancelar_evento(chave) ⇒ FocusNfe::Modelos::Documento

Cancela o último evento emitido para a NF-e recebida.

Parameters:

  • chave (String)

    chave de acesso da NF-e

Returns:



51
52
53
# File 'lib/focus_nfe/recursos/nfes_recebidas.rb', line 51

def cancelar_evento(chave)
  cancelar_evento_em(chave, caminho: "evento")
end

#consultar(chave, completa: false) ⇒ Hash

Returns corpo cru da resposta.

Parameters:

  • chave (String)

    chave de acesso da NF-e

  • completa (Boolean) (defaults to: false)

    quando true, pede a resposta completa (+completa=1+)

Returns:

  • (Hash)

    corpo cru da resposta



20
21
22
23
# File 'lib/focus_nfe/recursos/nfes_recebidas.rb', line 20

def consultar(chave, completa: false)
  params = completa ? { completa: 1 } : {}
  connection.get(caminho_referencia(chave), params: params).body
end

#emitir_evento(chave, tipo_evento:, **dados) ⇒ FocusNfe::Modelos::Documento

Emite um evento sobre a NF-e recebida.

Parameters:

  • chave (String)

    chave de acesso da NF-e

  • tipo_evento (String)

    tipo do evento suportado pela API

  • dados (Hash)

    campos adicionais do evento

Returns:



43
44
45
# File 'lib/focus_nfe/recursos/nfes_recebidas.rb', line 43

def emitir_evento(chave, tipo_evento:, **dados)
  emitir_evento_em(chave, caminho: "evento", tipo_evento: tipo_evento, **dados)
end

#manifestar(chave, tipo:, justificativa: nil) ⇒ Hash

Registra a manifestação do destinatário.

Parameters:

  • chave (String)

    chave de acesso da NF-e

  • tipo (String)

    +ciencia+/+confirmacao+/+desconhecimento+/+nao_realizada+

  • justificativa (String, nil) (defaults to: nil)

    obrigatória apenas para nao_realizada

Returns:

  • (Hash)

    corpo cru da resposta



31
32
33
34
35
# File 'lib/focus_nfe/recursos/nfes_recebidas.rb', line 31

def manifestar(chave, tipo:, justificativa: nil)
  corpo = { tipo: tipo }
  corpo[:justificativa] = justificativa unless justificativa.nil?
  connection.post("#{caminho_referencia(chave)}/manifesto", body: corpo).body
end