Class: NfsePrefeituraSp::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/nfse_prefeitura_sp/client.rb

Overview

Handles communication with Prefeitura de São Paulo web services.

Instance Method Summary collapse

Constructor Details

#initialize(cert_path:, cert_password:) ⇒ Client

Returns a new instance of Client.



5
6
7
8
9
10
# File 'lib/nfse_prefeitura_sp/client.rb', line 5

def initialize(cert_path:, cert_password:)
  raise "[NfsePrefeituraSp] Certificate path missing" if !File.exist?(cert_path)
  OpenSSL::Provider.load("legacy") if defined?(OpenSSL::Provider)
  @cert   = OpenSSL::PKCS12.new(File.read(cert_path), cert_password)
  @signer = NfsePrefeituraSp::Signer.new(@cert)
end

Instance Method Details

#sync_cancelamento_nfe(data) ⇒ Object

CANCELAMENTO DE NF-E



23
24
25
# File 'lib/nfse_prefeitura_sp/client.rb', line 23

def sync_cancelamento_nfe(data)
  call_service(NfsePrefeituraSp::Services::Sync::CancelamentoNfe.new(data, @signer))
end

#sync_consulta_cnpj(data) ⇒ Object

CONSULTA DE CNPJ



28
29
30
# File 'lib/nfse_prefeitura_sp/client.rb', line 28

def sync_consulta_cnpj(data)
  call_service(NfsePrefeituraSp::Services::Sync::ConsultaCnpj.new(data, @signer))
end

#sync_envio_rps(data) ⇒ Object

ENVIO DE RPS



18
19
20
# File 'lib/nfse_prefeitura_sp/client.rb', line 18

def sync_envio_rps(data)
  call_service(NfsePrefeituraSp::Services::Sync::EnvioRps.new(data, @signer))
end

#sync_teste_envio_lote_rps(data) ⇒ Object

TESTE DE ENVIO DE LOTE DE RPS



13
14
15
# File 'lib/nfse_prefeitura_sp/client.rb', line 13

def sync_teste_envio_lote_rps(data)
  call_service(NfsePrefeituraSp::Services::Sync::TesteEnvioLoteRPS.new(data, @signer))
end