Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

01. CONTEÚDO

Índice
minLevel2
stylelist-group-item

02. VISÃO GERAL

A APIOne é ferramenta que integra a Plataforma Fiscal com a sua aplicação de automação comercial. Nossa API conta com um amplo conjunto de funções que permite a emissão de documentos fiscais (NFC-e e CF-e). Trabalhando com a tecnologia JSON, a integração de sua aplicação com a nossa plataforma fiscal agora pode ser executada de maneira direta, sem a necessidade de uso de middleware para interface com o Fiscal Manager. Ao utilizar a API você terá mais controle sobre o processo de emissão de notas, trazendo benefícios para a gestão de informações dentro da aplicação.

03. COMO REALIZAR A INTEGRAÇÃO COM APIONE

Por ser uma ferramenta versátil, você pode usar a API de forma direta, consumindo os recursos disponibilizados por ela, ou ainda se preferir você também pode usar a API através da BemaOne.dll, esta, por sua vez, atuará diretamente como uma interface entre o seu software e a Plataforma Fiscal a API.

...

No gráfico abaixo apresentamos os componentes para integração através da API.

diagrama APIOne

04. VANTAGENS EM SE UTILIZAR A APIONE

  • Flexibilidade: Você pode usar a APIOne de forma nativa, consumindo os serviços REST para integração da Plataforma Fiscal com sua automação comercial. Mas se preferir também é possível utilizar a BemaOne.dll que através de um conjunto de funções também consumirá os serviços da APIOne. Utilizando os serviços REST ou a BemaOne.dll abrimos um leque de possibilidades para que o processo de desenvolvimento e integração atenda as principais necessidades do mercado de Software.

  • Integração MultiPlataforma: Uma única ferramenta, várias plataformas! A APIOne por permitir a integração nativa através de serviços RestFul, você poderá atender novas demandas do mercado de maneira rápida.

  • Várias legislações uma única ferramenta: Através da API você pode de maneira unificada emitir NFC-e e CF-e permitindo que a administração e atualização de componentes dentro do software ocorra de forma simplificada.

  • Maior controle para aplicação: Sua aplicação passa a ter maior controle sobre o processo de emissão de notas. Este controle ocorre desde a gestão da numeração de notas, data e hora de emissão até a gestão de tributos necessários nas operações de venda, bem como rotinas de cálculo de acréscimo e desconto.

  • Facilidade e agilidade na integração : A APIOne utiliza a tecnologia JSON, facilitando o envio e recebimento de comandos e reduzindo o tempo gasto no processo de integração.

05. USANDO APIONE

Agora que já apresentamos a você as vantagens e a arquitetura da nova API, vamos ver em detalhes como iniciar a integração da Plataforma Fiscal através da APIOne.

05.01. Integração da Plataforma Fiscal usando APIOne + BemaOne.dll

Neste método de integração a dll torna-se uma camada intermediária entre a sua aplicação e o Fiscal Manager e a API.

...

Uma vez que o Fiscal Manager esteja instalado e configurado corretamente, as rotinas de integração podem ser iniciadas.

06. O QUE É A BEMAONE.DLL

A BemaOne.dll é um middleware intermediário que através de suas funções fará a integração entre a sua aplicação e o Fiscal Manager. Neste modelo de integração é a dll (através de seu conjunto de funções) quem consome os serviços disponibilizados na API.

...

Para baixar a biblioteca BemaOne.dll acesse nosso Portal: https://suporte.totvs.com/portal/p/10098/download?e=812690


07. DECLARAÇÃO DAS FUNÇÕES DA BEMAONE.DLL

Antes de conhecermos em detalhes as funções da biblioteca, listamos a declaração das funções da dll em alguns exemplos de linguagens, como Delphi, Java e etc.

Aviso

A BemaOne.dll está diretamente vinculada a APIOne portanto, o Fiscal Manager (NFC-e ou SAT) deve estar atualizado para o correto funcionamento da Plataforma Fiscal.

07.01. JAVA (JNA)

Bloco de código
languagejava
themeDJango
firstline1
titleDeclarando as funções em JAVA (JNA)
linenumberstrue
collapsetrue
package nome_do_pacote;
 import com.sun.jna.Library;
 import com.sun.jna.Native;
 import com.sun.jna.ptr.PointerByReference;
 
 public interface Bematech extends Library {
 
       public Bematech instance = (Bematech) Native.loadLibrary("BemaOne32.dll", Bematech.class);
       public String Bematech_Fiscal_AbrirNota (String dados);
       public String Bematech_Fiscal_EstornarNota ();
       public String Bematech_Fiscal_FecharNota (String dados);
       public String Bematech_Fiscal_VenderItem (String dados);
       public String Bematech_Fiscal_EstornarVendaItem (String dados);
       public String Bematech_Fiscal_EfetuarPagamento (String dados);
       public String Bematech_Fiscal_EstornarPagamento (String dados);
       public String Bematech_Fiscal_ListarNotas (String dados);
       public String Bematech_Fiscal_InutilizarNumeracao (String dados);
       public String Bematech_Fiscal_ConsultarNota (String dados);
       public String Bematech_Fiscal_EnviarNotaEmail (String dados);
       public String Bematech_Fiscal_CancelarNota (String dados);
       public String Bematech_Fiscal_ObterStatusImpressora ();
       public String Bematech_Fiscal_ImprimirTextoLivre (String dados);
       public String Bematech_Fiscal_ImprimirDocumentoFiscal (String dados);
       public String Bematech_Fiscal_AcionarGaveta (String dados);
       public String Bematech_Fiscal_ObterInformacoesSistema ();
       public String Bematech_Fiscal_ListarConfiguracoes ();
       public String Bematech_Fiscal_EfetuarConfiguracoes (String dados);
       public String Bematech_Fiscal_ObterInformacoesContingencia ();
       public String Bematech_Fiscal_TrocarEstadoContingencia ();
}

07.02. JAVA (JNI)

Bloco de código
languagejava
themeDJango
firstline1
titleDeclarando as funções em JAVA (JNI)
linenumberstrue
collapsetrue
package nome_do_pacote;

public class Bematech {

       public static native int AlteraSimboloMoeda(String simboloMoeda);
       public static native String Bematech_Fiscal_AbrirNota (String dados);
       public static native String Bematech_Fiscal_EstornarNota ();
       public static native String Bematech_Fiscal_FecharNota (String dados);
       public static native String Bematech_Fiscal_VenderItem (String dados);
       public static native String Bematech_Fiscal_EstornarVendaItem (String dados);
       public static native String Bematech_Fiscal_EfetuarPagamento (String dados);
       public static native String Bematech_Fiscal_EstornarPagamento (String dados);
       public static native String Bematech_Fiscal_ListarNotas (String dados);
       public static native String Bematech_Fiscal_InutilizarNumeracao (String dados);
       public static native String Bematech_Fiscal_ConsultarNota (String dados);
       public static native String Bematech_Fiscal_EnviarNotaEmail (String dados);
       public static native String Bematech_Fiscal_CancelarNota (String dados);
       public static native String Bematech_Fiscal_ObterStatusImpressora ();
       public static native String Bematech_Fiscal_ImprimirTextoLivre (String dados);
       public static native String Bematech_Fiscal_ImprimirDocumentoFiscal (String dados);
       public static native String Bematech_Fiscal_AcionarGaveta (String dados);
       public static native String Bematech_Fiscal_ObterInformacoesSistema ();
       public static native String Bematech_Fiscal_ListarConfiguracoes ();
       public static native String Bematech_Fiscal_EfetuarConfiguracoes (String dados);
       public static native String Bematech_Fiscal_ObterInformacoesContingencia ();
       public static native String Bematech_Fiscal_TrocarEstadoContingencia ();

static

{
               String OSName = System.getProperty("os.name");
               OSName = OSName.toLowerCase();
                       System.loadLibrary("BemaOne32");
       }
}

07.03. C#

Bloco de código
languagec#
themeDJango
firstline1
titleDeclarando as funções em C#
linenumberstrue
collapsetrue
[DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_AbrirNota(string dados);
 [DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_EstornarNota();
 [DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_FecharNota(string dados);
 [DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_VenderItem(string dados);
 [DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_EstornarVendaItem(string dados);
 [DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_EfetuarPagamento(string dados);
 [DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_EstornarPagamento(string dados);
 [DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_ListarNotas(string dados);
 [DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_InutilizarNumeracao(string dados);
 [DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_ConsultarNota(string dados);
 [DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_EnviarNotaEmail(string dados);
 [DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_CancelarNota(string dados);
 [DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_ObterStatusImpressora();
 [DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_ImprimirTextoLivre(string dados);
 [DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_ImprimirDocumentoFiscal(string dados);
 [DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_AcionarGaveta(string dados);
 [DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_ObterInformacoesSistema();
 [DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_ListarConfiguracoes();
 [DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_EfetuarConfiguracoes(string dados);
 [DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_ObterInformacoesContingencia();
 [DllImport("BemaOne32.dll")]
 public static extern string Bematech_Fiscal_TrocarEstadoContingencia();

07.04. DELPHI

Bloco de código
languagedelphi
themeDJango
firstline1
titleDeclarando as Funções em Delphi
linenumberstrue
collapsetrue
function Bematech_Fiscal_AbrirNota (dados:String) : PChar ; stdcall; External 'BemaOne32.dll';
function Bematech_Fiscal_EstornarNota () : PChar ; stdcall; External 'BemaOne32.dll';
function Bematech_Fiscal_FecharNota (dados:String) : PChar ; stdcall; External 'BemaOne32.dll';
function Bematech_Fiscal_VenderItem (dados:String) : PChar ; stdcall; External 'BemaOne32.dll';
function Bematech_Fiscal_EstornarVendaItem (dados:String) : PChar ; stdcall; External 'BemaOne32.dll';
function Bematech_Fiscal_EfetuarPagamento (dados:String) : PChar ; stdcall; External 'BemaOne32.dll';
function Bematech_Fiscal_EstornarPagamento (dados:String) : PChar ; stdcall; External 'BemaOne32.dll';
function Bematech_Fiscal_ListarNotas (dados:String) : PChar ; stdcall; External 'BemaOne32.dll';
function Bematech_Fiscal_InutilizarNumeracao (dados:String) : PChar ; stdcall; External 'BemaOne32.dll';
function Bematech_Fiscal_ConsultarNota (dados:String) : PChar ; stdcall; External 'BemaOne32.dll';
function Bematech_Fiscal_EnviarNotaEmail (dados:String) : PChar ; stdcall; External 'BemaOne32.dll';
function Bematech_Fiscal_CancelarNota (dados:String) : PChar ; stdcall; External 'BemaOne32.dll';
function Bematech_Fiscal_ObterStatusImpressora () : PChar ; stdcall; External 'BemaOne32.dll';
function Bematech_Fiscal_ImprimirTextoLivre (dados:String) : PChar ; stdcall; External 'BemaOne32.dll';
function Bematech_Fiscal_ImprimirDocumentoFiscal (dados:String) : PChar ; stdcall; External 'BemaOne32.dll';
function Bematech_Fiscal_AcionarGaveta (dados:String) : PChar ; stdcall; External 'BemaOne32.dll';
function Bematech_Fiscal_ObterInformacoesSistema () : PChar ; stdcall; External 'BemaOne32.dll';
function Bematech_Fiscal_ListarConfiguracoes () : PChar ; stdcall; External 'BemaOne32.dll';
function Bematech_Fiscal_EfetuarConfiguracoes (dados:String) : PChar ; stdcall; External 'BemaOne32.dll';
function Bematech_Fiscal_ObterInformacoesContingencia () : PChar ; stdcall; External 'BemaOne32.dll';
function Bematech_Fiscal_TrocarEstadoContingencia () : PChar ; stdcall; External 'BemaOne32.dll';


07.05. VB

Bloco de código
languagevb
firstline1
titleDeclarando as funções em Visual Basic
linenumberstrue
collapsetrue
private Declare function Bematech_Fiscal_AbrirNota Lib "BemaOne32.dll" (ByVal dados as string) as string
private Declare function Bematech_Fiscal_EstornarNota Lib "BemaOne32.dll"() as string
private Declare function Bematech_Fiscal_FecharNota Lib "BemaOne32.dll"(ByVal dados as string) as string
private Declare function Bematech_Fiscal_VenderItem Lib "BemaOne32.dll"(ByVal dados as string) as string
private Declare function Bematech_Fiscal_EstornarVendaItem Lib "BemaOne32.dll"(ByVal dados as string) as string
private Declare function Bematech_Fiscal_EfetuarPagamento Lib "BemaOne32.dll"(ByVal dados as string) as string
private Declare function Bematech_Fiscal_EstornarPagamento Lib "BemaOne32.dll"(ByVal dados as string) as string
private Declare function Bematech_Fiscal_ListarNotas Lib "BemaOne32.dll"(ByVal dados as string) as string
private Declare function Bematech_Fiscal_InutilizarNumeracao Lib "BemaOne32.dll"(ByVal dados as string) as string
private Declare function Bematech_Fiscal_ConsultarNota Lib "BemaOne32.dll"(ByVal dados as string) as string
private Declare function Bematech_Fiscal_EnviarNotaEmail Lib "BemaOne32.dll"(ByVal dados as string) as string
private Declare function Bematech_Fiscal_CancelarNota Lib "BemaOne32.dll"(ByVal dados as string) as string
private Declare function Bematech_Fiscal_ObterStatusImpressora Lib "BemaOne32.dll"() as string
private Declare function Bematech_Fiscal_ImprimirTextoLivre Lib "BemaOne32.dll"(ByVal dados as string) as string
private Declare function Bematech_Fiscal_ImprimirDocumentoFiscal Lib "BemaOne32.dll"(ByVal dados as string) as string
private Declare function Bematech_Fiscal_AcionarGaveta Lib "BemaOne32.dll"(ByVal dados as string) as string
private Declare function Bematech_Fiscal_ObterInformacoesSistema Lib "BemaOne32.dll"() as string
private Declare function Bematech_Fiscal_ListarConfiguracoes Lib "BemaOne32.dll"() as string
private Declare function Bematech_Fiscal_EfetuarConfiguracoes Lib "BemaOne32.dll"(ByVal dados as string) as string
private Declare function Bematech_Fiscal_ObterInformacoesContingencia Lib "BemaOne32.dll"() as string
private Declare function Bematech_Fiscal_TrocarEstadoContingencia Lib "BemaOne32.dll"() as string

08. FUNÇÕES DA BIBLIOTECA BEMAONE.DLL

Todas as funções presentes na dll estão listadas abaixo, apresentando uma breve descrição e também exemplos com o conteúdo do JSON utilizado em cada uma delas.

Aviso

Todas as funções listadas abaixo, utilizam em seus parâmetros de envio e/ou retorno o padrão JSON dentro de uma variável do tipo String.

08.01. Bematech_Fiscal_AbrirNota

Descrição:

Utilize esta função para iniciar a emissão de uma nova nota.

Tipo:

String.

Exemplo:

Bematech_Fiscal_AbrirNota(dados)

Observações:

dados é uma string em formato JSON contendo os parâmetros listados abaixo:

Retorno:

String de retorno em formato JSON.

...

Bloco de código
languagexml
firstline1
titleParâmetros de retorno da função
linenumberstrue
collapsetrue
{
	"sucesso": false,
	"codigo": 0,
	"descricao": "string",
	"numeroSessao": "string"
}

08.02. Bematech_Fiscal_EstornarNota

Descrição:

Esta função executa o estorno da ultima nota emitida.

Tipo:

String.

Exemplo:

Bematech_Fiscal_EstornarNota()

Observações:

Obs: Esta funçao não possui parâmetros de envio.

Retorno:

String de retorno em formato JSON.

...

Bloco de código
languagexml
firstline1
titleParâmetros de retorno da funçao
linenumberstrue
collapsetrue
{
	"sucesso": false,
	"codigo": 0,
	"descricao": "string",
	"numeroSessao": "string"
}

08.03. Bematech_Fiscal_FecharNota

Descrição:

Utilize esta função para fechar, ou seja concluir a emissão de uma nota.

Tipo:

String.

Exemplo:

Bematech_FecharNota(dados)

Observações:

dados é uma string em formato JSON contendo os parâmetros listados abaixo:

Retorno:

String de retorno em formato JSON.

...

Bloco de código
languagexml
firstline1
titleParâmetros de retorno da função
linenumberstrue
collapsetrue
{
"sucesso": false,
"codigo": 0,
"descricao": "string",
}

08.04. Bematech_Fiscal_VenderItem

Descrição:

Utilize esta função para o registro de um item dentro na nota.

Tipo:

String.

Exemplo:

Bematech_Fiscal_VenderItem(dados)

Observações:

dados é uma string em formato JSON contendo os parâmetros listados abaixo:

Retorno:

String de retorno em formato JSON.

...

Bloco de código
languagexml
firstline1
titleParâmetros de retorno da Função
linenumberstrue
collapsetrue
{
"sucesso": false,
"codigo": 0,
"descricao": "string"
}

08.05. Bematech_Fiscal_EstornarVendaItem

Descrição:

Utilize esta função para estornar itens registrados para a venda.

Tipo:

String.

Exemplo:

Bematech_Fiscal_EstornarVendaItem(dados)

Observações:

dados é uma string em formato JSON contendo os parâmetros listados abaixo:

Retorno:

String de retorno em formato JSON.

...

Bloco de código
languagexml
firstline1
titleParâmetros de retorno da função
linenumberstrue
collapsetrue
{
"sucesso": false,
"codigo": 0,
"descricao": "string"
}

08.06. Bematech_Fiscal_EfetuarPagamento

Descrição:

Utilize esta função para registrar na nota a forma de pagamento utilizada na mesma

Tipo:

String.

Exemplo:

Bematech_Fiscal_EfetuarPagamento(dados)

Observações:

dados é uma string em formato JSON contendo os parâmetros listados abaixo:

Retorno:

String de retorno em formato JSON. Obs. é possível utilizar mais de uma forma de pagamento na mesma nota, desde que a somatória total das mesmas seja igual ou maior que o valor total da nota.

...

Bloco de código
languagexml
firstline1
titleParâmetros de retorno da função
linenumberstrue
collapsetrue
{
"sucesso": false,
"codigo": 0,
"descricao": "string"
}

08.07. Bematech_Fiscal_EstornarPagamento

Descrição:

Utilize esta função para estornar (cancelar) uma forma de pagamento registrada.

Tipo:

String.

Exemplo:

Bematech_Fiscal_EstornarPagamento(dados)

Observações:

dados é uma string em formato JSON contendo os parâmetros listados abaixo:

Retorno:

String de retorno em formato JSON.

...

Bloco de código
languagexml
firstline1
titleParâmetros de retorno da função
linenumberstrue
collapsetrue
{
  "sucesso": false,
  "codigo": 0,
  "descricao": "string"
}

08.08. Bematech_Fiscal_ListarNotas

Descrição:

Utilize esta função para listar as notas emitidas através de um intervalo de datas.

Tipo:

String.

Exemplo:

Bematech_Fiscal_EstornarPagamento(dados)

Observações:

dados é uma string em formato JSON contendo os parâmetros listados abaixo:

...

Bloco de código
languagexml
firstline1
titleParâmetros de retorno da função
linenumberstrue
collapsetrue
{
"sucesso": false,
"codigo": 0,
"descricao": "string"
}

08.09. Bematech_Fiscal_InutilizarNumeracao

Descrição:

Utilize esta Função para inutilizar a numeração de uma nota.

Tipo:

String.

Exemplo:

Bematech_Fiscal_InutilizarNumeracao(dados)

Observações:

dados é uma string em formato JSON contendo os parâmetros listados abaixo:

Retorno:

String de retorno em formato JSON.

...

Bloco de código
languagexml
firstline1
titleParâmetros de retorno da função
linenumberstrue
collapsetrue
{
  "sucesso": false,
  "codigo": 0,
  "descricao": "string"
}

08.10. Bematech_Fiscal_ConsultarNota

Descrição:

Utilize esta função para consultar uma nota emitida. A consulta pode ser executada através do identificador d anota ou através da série e número da mesma.

Tipo:

String.

Exemplo:

Bematech_Fiscal_InutilizarNumeracao(dados)

Observações:

dados é uma string em formato JSON contendo os parâmetros listados abaixo:

Retorno:

String de retorno em formato JSON.

...

Bloco de código
languagexml
firstline1
titleParâmetros de retorno da função
linenumberstrue
collapsetrue
{
"serie": 0,
"numero": 0,
"formato": "string"
}

08.11. Bematech_Fiscal_EnviarNotaEmail

Descrição:

Utilize esta função para transmitir via email uma nota. Para localizar é filtro de pesquisa por série ou número.

Tipo:

String.

Exemplo:

Bematech_Fiscal_InutilizarNumeracao(dados)

Observações:

dados é uma string em formato JSON contendo os parâmetros listados abaixo:

Retorno:

String de retorno em formato JSON.

...

Bloco de código
languagexml
firstline1
titleParâmetros de retorno da função
linenumberstrue
collapsetrue
{
"id": "string",
"email": "string"
}

08.12. Bematech_Fiscal_CancelarNota

Descrição:

Utilize esta função para executar o cancelamento de uma nota.

Tipo:

String.

Exemplo:

Bematech_Fiscal_InutilizarNumeracao(dados)

Observações:

dados é uma string em formato JSON contendo os parâmetros listados abaixo:

Retorno:

String de retorno em formato JSON.

...

Bloco de código
languagexml
firstline1
titleParâmetros de retorno da função
linenumberstrue
collapsetrue
{
"sucesso": false,
"codigo": 0,
"descricao": "string"
}

08.13. Bematech_Fiscal_ObterStatusImpressora

Descrição:

Utilize esta função para a executar a leitura de status da impressora.

Tipo:

String.

Exemplo:

Bematech_Fiscal_InutilizarNumeracao()

Observações:

Para uma impressora spooler o retorno será "online" para não quebrar a compatibilidade, pois o Fiscal Manager não tem acesso às informações do spooler.

dados é uma string em formato JSON contendo os parâmetros listados abaixo:

Retorno:

String de retorno em formato JSON.

...

Bloco de código
languagexml
firstline1
titleParâmetros de retorno da função
linenumberstrue
collapsetrue
{
"sucesso": false,
"codigo": 0,
"descricao": "string",
"numeroSessao": "string"
}

08.15. Bematech_Fiscal_ImprimirDocumentoFiscal

Descrição:

Utilize esta função para impressão de uma nota emitida, com ela é possível: Imprimir uma nota através de sua chave de acesso. Imprimir uma nota através da série e número do documento.

Tipo:

String.

Exemplo:

Bematech_Fiscal_ImprimirDocumentoFiscal(dados)

Observações:

dados é uma string em formato JSON contendo os parâmetros listados abaixo:

Retorno:

String de retorno em formato JSON.

...

Bloco de código
languagexml
firstline1
title1
linenumberstrue
collapsetrue
{
"sucesso": false,
"codigo": 0,
"descricao": "string",
"numeroSessao": "string"
}

08.16. Bematech_Fiscal_AcionarGaveta

Descrição:

Utilize esta função para acionar a abertura de gaveta quando esta estiver conectada a impressora.

Tipo:

String.

Exemplo:

Bematech_Fiscal_AcionarGaveta(dados)

Observações:

Com impressora spooler a gaveta deve ser configurada diretamente no driver, em Propriedades da Impressora>Configurações do Dispositivo>Opções instaláveis.

dados é uma string em formato JSON contendo os parâmetros listados abaixo:

Retorno:

String de retorno em formato JSON.

...

Bloco de código
languagexml
firstline1
titleParâmetros de retorno da função
linenumberstrue
collapsetrue
{
"sucesso": false,
"codigo": 0,
"descricao": "string",
"numeroSessao": "string"
}

08.17. Bematech_Fiscal_ObterInformacoesSistema

Descrição:

Utilize esta função para obter informações relacionadas ao sistema tais como: Dados do certificado digital, Quantidade de notas emitidas e Quantidade de notas rejeitadas.

Tipo:

String.

Exemplo:

Bematech_Fiscal_ObterInformacoesSistema()

Observações:

Obs.Função não possui parâmetros de envio.

Retorno:

String de retorno em formato JSON.

Bloco de código
languagexml
firstline1
titleParâmetros de retorno da função
linenumberstrue
collapsetrue
 {
 "versao": "string",
 "totalNotasRejeitadas": 0,
 "totalNotasRejeitasEmitidasContingencia": 0,
 "certificado": {
   "situacao": "string",
   "dataExpiracao": "2016-08-23T20:24:30.672Z",
   "diasParaExpiracao": 0
 }
}

08.18. Bematech_Fiscal_ListarConfiguracoes

Descrição:

Utilize esta função para listar informações sobre o sistema.

Tipo:

String.

Exemplo:

Bematech_Fiscal_ListarConfiguracoes()

Observações:

Função não possui parâmetros de envio.

Retorno:

String de retorno em formato JSON.

Bloco de código
languagexml
firstline1
titleParâmetros de retorno da função
linenumberstrue
collapsetrue
{
"configuracao": [
  {
    "nome": "string",
    "valor": "string"
  }
]
}

08.19. Bematech_EfetuarConfiguracoes

Descrição:

Utilize esta função para efetuar configurações na BemaOne.dll ou também aplicar configurações relacionadas ao sistema.

Tipo:

String.

Exemplo:

Bematech_Fiscal_EfetuarConfiguracoes(dados)

Observações:

dados é uma string em formato JSON contendo os parâmetros listados abaixo:

Retorno:

String de retorno em formato JSON.

...

Bloco de código
languagexml
firstline1
titleParâmetros retornados pela função
linenumberstrue
collapsetrue
{
"sucesso": false,
"codigo": 0,
"descricao": "string",
}

08.20. Bematech_Fiscal_ObterInformacoesContingencia

Descrição:

Utilize esta função para obter informações relacionadas ao estado de contingência da aplicação.

Tipo:

String.

Exemplo:

Bematech_Fiscal_ObterInformacoesContingencia()

Observações:

Obs.Função não possui parâmetros de envio.

Retorno:

String de retorno em formato JSON.

Bloco de código
languagexml
firstline1
titleParâmetros retornados pela função
linenumberstrue
collapsetrue
{
"situacao": "string",
"codigo": 0,
"notasEmContingencia": 0,
"dataEntradaContingencia": "2016-08-23T20:24:30.680Z",
"minutosEmContingencia": 0,
"minutosRestantesEmContingencia": 0
}

08.21. Bematech_Fiscal_TrocaEstadoContingencia

Descrição:

Utilize esta função para efetuar a troca do modo de contingência da aplicação entre os modos: Operação ON-LINE e Resolução de contingências.

Tipo:

String.

Exemplo:

Bematech_Fiscal_TrocaEstadoContingencia()

Observações:

Obs.Função não possui parâmetros de envio.

Retorno:

String de retorno em formato JSON.

Bloco de código
languagexml
firstline1
titleParâmetros retornados pela função
linenumberstrue
collapsetrue
{
"situacao": "string",
"codigo": 0,
"notasEmContingencia": 0,
"dataEntradaContingencia": "2016-08-23T20:24:30.681Z",
"minutosEmContingencia": 0,
"minutosRestantesEmContingencia": 0
}

09. FLUXOS DE OPERAÇÃO USANDO A BEMAONE.DLL + APIONE

Para entender melhor o fluxo de integração mostramos abaixo,através de um passo a passo a ordem de execução das funções em uma rotina de venda, bem como a execução de uma função que irá consultar informações diretamente do Fiscal Manager.

09.01. VENDA SIMPLES

Considerando uma venda (NFC-e ou SAT), que possua 2 produtos e uma única forma de pagamento, as seguintes funções serão utilizadas:

...

Nota
titleNOTA

Lembrando que cada uma das funções recebe um retorno de execução através de uma string com conteúdo em formato JSON, o tratamento destes retornos é de extrema importância para eventuais situações adversas durante a operação da aplicação.

09.02. Obter informações do Sistema.

Nos casos onde serão capturadas informações do sistema, o fluxo operacional também é parecido, veja:

...

Aviso
titleIMPORTANTE

A string de retorno não possui quebra de linhas, a apresentação acima "identada" tem como objetivo facilitar a visualização do conteúdo retornado.

10. USANDO SERVIÇOS RESTFUL

A nova versão do Fiscal Manager contempla recursos para utilização de uma API RestFul.

...

  • Emitir Cupons.

  • Registrar Pagamentos.

  • Enviar emails.

  • Obter informações diversas, como número de notas e etc.

10.01. O QUE SÃO SERVIÇOS RESTFUL

Antes de prosseguirmos com mais detalhes sobre este novo método de integração, é importante apresentarmos um breve resumo do que é uma API RestFul.

...

Serviços RestFul são largamente utilizados em web services através de uso APIS que por sua vez, permitem acesso aos serviços disponibilizados.

10.02. ENTENDENDO O FUNCIONAMENTO

Um dos principais itens na arquitetura RestFul são as URLs do sistema e os seus resources. Um recurso (resource), usa os métodos do protocolo HTTP para se comunicar: No gráfico abaixo, ilustramos esta interação.
Arquitetura RestFul.

...

As ações executadas para estes serviços, utilizam a tecnologia JSON para troca de informações entre a Plataforma Fiscal (APIOne) e sua aplicação comercial.

10.03. LISTA DE SERVIÇOS RESTFUL

Cada recurso da API possui uma URL que dá acesso aos detalhes do mesmo, esta documentação está vinculada ao Fiscal Manager para acessá-la utilize a URL: http://localhost:9999/docs/#/

Nota
titleNOTA

É imprescindível que o Fiscal Manager esteja instalado e em execução para que você tenha acesso a lista de serviços da API.
Para melhor visualização utilize o Google Chrome.


11. RECURSOS DA API

Neste tópico, apresentamos todos os detalhes de cada um dos serviços RestFul disponíveis na API de integração com o Fiscal Manager. 

11.01. Abrir Cupom

Método:

POST

Descrição:

Utilize este recurso da API para iniciar/abrir um novo

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/cupom/abrirCupom

11.02. Adicionar Item de venda

Método:

POST

Descrição:

Utilize este recurso para o registro de itens na venda, lembrando que o registro de um item envolve informações relacionadas ao produto e também ao imposto vinculado a ele.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/cupom/adicionarItem

11.03. Estornar Item de venda

Método:

DELETE

Descrição:

Utilize este recurso da API quando houver a necessidade de estorno de um item registrado na venda.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/cupom/estornarItem

11.04. Adicionar Pagamento

Método:

POST

Descrição:

Utilize este recurso para registrar as formas de pagamento a serem utilizadas para a totalização da nota. Obs. É possível dentro da nota o registro de mais de um meio de pagamento.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/cupom/adicionarPagamento

11.05. Estornar Pagamento

Método:

DELETE

Descrição:

Utilize este recurso quando houver necessidade de estorno de um meio de pagamento registrado na venda.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/cupom/estornarPagamento

11.06. Fechar Cupom

Método:

POST

Descrição:

Utilize este recurso para fechar (concluir) a operação de venda.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/cupom/fecharCupom

11.07. Estornar Cupom

Método:

POST

Descrição:

Utilize este recurso caso seja necessário o estorno/cancelamento de uma venda.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/cupom/estornarCupom

11.08. Listar Documentos

Método:

POST

Descrição:

Utilize este recurso quando houver necessidade de inutilização de uma determinada faixa de notas perante a Sefaz. Obs. Tal operação só é permitida para documentos NFC-e e NF-e, não sendo válida para documentos CF-e (SAT).

Modelo JSON (Envio e Retorno):_

http://localhost:9999/docs/#!/documento/inutilizar

11.09. Listar Documentos (Paginada)

Método:

GET

Descrição:

Utilize este recurso para listar documentos emitidos através dos filtros de pesquisa disponibilizados. Obs. Essa função permite a listagem dos documentos de forma paginada.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/documento/search

11.10. Buscar documento por ID

Método:

GET

Descrição:

Utilize este recurso para efetuar a consulta de um documento através do seu ID de identificação.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/documento/getFromIdentificador

11.11. Cancelar um documento

Método:

POST

Descrição:

Utilize este recurso para cancelar um documento.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/documento/cancelar

11.12. Enviar documento por email (ID)

Método:

POST

Descrição:

Utilize este recurso para transmissão da nota via email. Obs. para localização da nota podem ser utilizados: seu identificador ou série e número da mesma.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/documento/enviarDocumentoPorEmail

11.13. Buscar documento através de série/número

Método:

GET

Descrição:

Utilize este recurso para consultar uma determinada nota através de seu número e série.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/documento/getFromIdentificador_0

11.14. Enviar documento por email (série/número)

Método:

POST

Descrição:

Utilize este recurso para transmissão da nota por email pesquisando a mesma através de seu número e série.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/documento/enviarDocumentoPorEmail_0

11.15. Consultar status de uma impressora Bematech

Método:

GET

Descrição:

Utilize este recurso para consulta de status de uma impressora Bematech que esteja instalada e configurada no Fiscal Manager. A consulta retornará informações sobre os sensores de papel, tampa e estado da impressora.

Observação:

Para uma impressora spooler o retorno será "online" para não quebrar a compatibilidade, pois o Fiscal Manager não tem acesso às informações do spooler.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/impressora/consultarStatus

11.16. Impressão de documento genérico

Método:

POST

Descrição:

Utilize este recurso para a impressão de um documento na impressora configurada no Fiscal Manager. Obs. Esta operação recebe um conteúdo binário para a impressão, e caso receba um cabeçalho Content-Transfer-Enconding com o valor base64, o conteúdo recebido será também codificado em base64.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/impressora/impressaoGenerica

11.17. Impressão de DANFE (Chave de acesso)

Método:

POST

Descrição:

Utilize este recurso para realizar a impressão de uma DANFE através de sua chave de acesso.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/impressora/imprimirPorChave

11.18. Impressão de DANFE (Série/Número)

Método:

POST

Descrição:

Utilize este recurso para realizar a impressão de uma DANFE através de sua chave de acesso.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/impressora/imprimirPorNumeracao

11.19. Realizar abertura de gaveta

Método:

POST

Descrição:

Utilize este recurso para realizar o acionamento da gaveta conectada a impressora. É imprescindível que a impressora esteja corretamente instalada e também configurada no Fiscal Manager.

Observação:

Com impressora spooler a gaveta deve ser configurada diretamente no driver, em Propriedades da Impressora>Configurações do Dispositivo>Opções instaláveis.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/impressora/abrirGaveta

11.20. Informações sobre o sistema

Nome

Informações sobre o sistema

Método:

GET

Descrição:

Utilize este recurso para consultar informações do Fiscal Manager, como: Quantidade de notas rejeitadas e dados do certificado digital.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/sistema/getInformacoesDoSistema

11.21. Listagem de configurações do sistema

Método:

GET

Descrição:

Utilize este recurso para consultar e visualizar as configurações do Fiscal Manager.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/sistema/getConfiguracoes

11.22. Realizar alteração de configurações do Fiscal Manager

Método:

POST

Descrição:

Utilize este recurso para aplicar ajustar configurações específicas do Fiscal Manager.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/sistema/editarConfiguracao

11.23. Localizar configuração específica do Fiscal Manager

Método:

GET

Descrição:

Utilize este recurso para pesquisar uma configuração específica do Fiscal Manager, baseada em seu nome.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/sistema/getConfiguracao

11.24. Obter informações sobre contingência

Método:

GET

Descrição:

Utilize este recurso para obter informações do modo de contingência. Obs. O retorno da função sempre indicará o estado atual do sistema em relação a situação de operação ON-LINE ou Contingência.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/sistema/getInformacoesDeContingencia

11.25. Alterar o modo de contingência

Método:

GET

Descrição:

Utilize este recurso para alterar a forma do modo de tratamento do modo de contingência do Fiscal Manager, onde basicamente: Se a aplicação estiver ON-LINE ao executar o método a resolução das notas mudará para emissão em contingência e vice-versa.

Modelo JSON (Envio e Retorno):

http://localhost:9999/docs/#!/sistema/alterarModoDeContingencia

12. EXEMPLOS JSON NFC-E

Os exemplos foram categorizados através do tipo de método utilizado.

12.01. Método: GET (Fiscal Manager NFC-E e SAT)

Recurso utilizado:

Informações sobre o sistema

Tipo de dados de Envio:

application/JSON

Tipo de dados de Retorno:

application/JSON

Detalhes da operação:

Este método deve consultar informações do Fiscal Manager retornando um JSON com as seguintes informações: Versão do Fiscal Manager. Número total de notas rejeitadas. Número total de Notas rejeitas emitidas em contingência. Situação do Certificado digital. Data de expiração do certificado. Dias restantes para expirar.

_Observação _:

Em caso de sucesso a resposta será: (Status 200) SuccessFull Operation.

...

Bloco de código
languagexml
firstline1
titleJSON de Retorno
linenumberstrue
collapsetrue
 {
   "versao": "02.00.00 build 01",
   "totalNotasRejeitadas": 1,
   "totalNotasRejeitasEmitidasContingencia": 0,
   "certificado": {
     "situacao": "No prazo",
     "dataExpiracao": "03/04/2017",
     "diasParaExpiracao": 97
   }
}

12.02. Método: POST (Utilizando Fiscal Manager NFC-e)

Recurso utilizado:

Abrir um cupom para venda.

Tipo de dados de Envio:

application/JSON

Tipo de dados de Retorno:

application/JSON

Detalhes da operação:

Este método abrirá o registro de uma venda.

_Observação _:

Em caso de sucesso a resposta será: (Status 200) SuccessFull Operation.

...

Bloco de código
languagexml
firstline1
titleJSON de envio (NFCe)
linenumberstrue
collapsetrue
{
	"versao": "3.10",
	"configuracao": {
		"imprimir": true,
		"email": true
	},
	"identificacao": {
		"cuf": "41",
		"cnf": "00005000",
		"natOp": "VENDA",
		"indPag": 0,
		"mod": "65",
		"serie": "768",
		"nnf": "5000",
		"dhEmi": "2016-12-29T14:06:57-02:00",
		"tpNF": "1",
		"idDest": 1,
		"tpImp": 4,
		"tpEmis": 1,
		"cdv": 8,
		"tpAmb": 2,
		"finNFe": 1,
		"indFinal": 1,
		"indPres": 1,
		"procEmi": 0,
		"verProc": "1.0.0.0",
		"cMunFG": "4106902"
	},
	"emitente": {
		"cnpj": "82373077000171",
		"endereco": {
			"nro": "0",
			"uf": "PR",
			"cep": "81320400",
			"fone": "4184848484",
			"xBairro": "CABRAL",
			"xLgr": "AV Teste",
			"cMun": "4106902",
			"cPais": "1058",
			"xPais": "BRASIL",
			"xMun": "Curitiba"
		},
		"ie": "1018146530",
		"crt": 3,
		"xNome": "BEMATECH SA",
		"xFant": "BEMATECH"
	},
	"destinatario": {
		"cpf": "76643539129",
		"endereco": {
			"nro": "842",
			"uf": "PR",
			"cep": "80020320",
			"fone": "41927598874",
			"xBairro": "Centro",
			"xLgr": "Marechal Deodoro",
			"cMun": "4106902",
			"cPais": "1058",
			"xPais": "Brasil",
			"xMun": "Curitiba"
		},
		"indIEDest": 9,
		"email": "[email protected]",
		"xNome": "NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL "
	}
}

12.03. Método: DELETE (Utilizando Fiscal Manager NFC-E)

Recurso utilizado:

Estornar o registro de uma venda (cupom/nota).

Tipo de dados de Envio:

URL Request

Tipo de dados de Retorno:

application/JSON

Detalhes da operação:

Este irá estornar uma nota gerada.

Parâmetros de envio:

Número da sessão do cupom URL REQUEST: http://localhost:9999/api/v1/documento/cupom/ Exemplo: http://localhost:9999/api/v1/documento/cupom/67d60984590b40e5a7218e77d1fbdfd6

_Observação _:

Em caso de sucesso a resposta será: (Status 200) SuccessFull Operation.

...

Bloco de código
languagexml
firstline1
titleJSON de retorno (NFC-E)
linenumberstrue
collapsetrue
{
  "sucesso": true,
  "codigo": 9500,
  "descricao": "Operação realizada com sucesso"
}

13. EXEMPLOS JSON SAT

Os exemplos foram categorizados através do tipo de método utilizado.

13.01. Método: GET (Fiscal Manager NFC-E e SAT)

Recurso utilizado: Informações sobre o sistema

Tipo de dados de Envio:application/JSON

Tipo de dados de Retorno: application/JSON

Detalhes da operação: Este método deve consultar informações do Fiscal Manager retornando um JSON com as seguintes informações: Versão do Fiscal Manager. Número total de notas rejeitadas. Número total de Notas rejeitas emitidas em contingência. Situação do Certificado digital. Data de expiração do certificado. Dias restantes para expirar.

_Observação _:

Em caso de sucesso a resposta será: (Status 200) SuccessFull Operation.

...

Bloco de código
languagexml
firstline1
titleJSON de retorno
linenumberstrue
collapsetrue
 {
   "versao": "02.00.00 build 01",
   "totalNotasRejeitadas": 1,
   "totalNotasRejeitasEmitidasContingencia": 0,
   "certificado": {
     "situacao": "No prazo",
     "dataExpiracao": "03/04/2017",
     "diasParaExpiracao": 97
   }
}

13.02. Método: POST (Utilizando Fiscal Manager SAT)

Recurso utilizado: Atualizar configurações do Fiscal Manager SAT.

Tipo de dados de Envio:application/vnd+Bematech.fmsatconf-v1+json

Tipo de dados de Retorno: application/vnd+Bematech.resposta-v1+json

Detalhes da operação: Este irá cancelar uma nota gerada.

_Observação _:

Em caso de sucesso a resposta será: (Status 200) SuccessFull Operation. Este método não possui Parâmetros de retorno.

...

Bloco de código
languagexml
firstline1
titleJSON de envio (SAT)
linenumberstrue
collapsetrue
{
        "configuracao": [{
                "nome": "PROXY",
                "valor": "0"
        }, {
                "nome": "PRINT_LOGO",
                "valor": "1"
        }]
}

13.03. Método: POST (Utilizando Fiscal Manager SAT)

Recurso utilizado: Abrir um cupom para venda.

Tipo de dados de Envio:application/JSON

Tipo de dados de Retorno: application/JSON

Detalhes da operação: Este método abrirá o registro de uma venda.

_Observação _:

Em caso de sucesso a resposta será: (Status 200) SuccessFull Operation.

...

Bloco de código
languagexml
firstline1
titleJSON de envio (SAT)
linenumberstrue
collapsetrue
{
	"identificacao": {
		"cnpj": "16716114000172",
		"numeroCaixa": "001",
		"signAC": "SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT"
	},
	"emitente": {
		"cnpj": "61099008000141",
		"ie": "111111111111",
		"indRatISSQN": "S"
	},
	"destinatario": {
		"cpf": "09324114107",
		"xNome": "Paulo"
	},
	"entrega": {
		"cpf": "09324114107",
		"endereco": {
			"xLgr": "Rua Teste",
			"nro": "450",
			"xCpl": "teste",
			"xBairro": "Fazendinha",
			"xMun": "Curitiba",
			"uf": "PR"
		}
	}
}

3.04. Método: DELETE (Utilizando Fiscal Manager SAT)

Recurso utilizado: Estornar o registro de uma venda (cupom/nota).

Tipo de dados de Envio:application/JSON

Tipo de dados de Retorno: application/JSON

Detalhes da operação: Este irá estornar uma nota gerada.

_Observação _:

Em caso de sucesso a resposta será: (Status 200) SuccessFull Operation.

...

Bloco de código
languagexml
firstline1
titleJSON de retorno (NFC-E)
linenumberstrue
collapsetrue
{
  "sucesso": true
}

14. FLUXOS DE OPERAÇÃO USANDO A INTEGRAÇÃO DIRETA ATRAVÉS DA APIONE

Para entender melhor o fluxo de integração quando somente a APIOne é utilizada no processo, apresentamos também alguns fluxos operacionais que ilustram as rotinas de integração.

14.01. Venda Simples.

Considerando uma venda (NFC-e ou SAT), que possua 2 produtos e uma única forma de pagamento, os seguintes recursos da API serão utilizados:

...

Nota
titleNOTA

Lembrando que cada uma dos recursos/serviços da API recebe um retorno de execução também no formato JSON o tratamento destes retornos é de extrema importância para eventuais situações adversas durante a operação da aplicação.

14.02. Obter informações do Sistema.

Considere a execução da leitura de informações do sistema. para tal utilize o seguinte recurso da APIOne:

...

Bloco de código
languagexml
firstline1
titleRetorno da função Bematech_Fiscal_ObterInformacoesSistema
linenumberstrue
collapsetrue
{
  "versao": "Fiscal Manager SAT - 3.0.0",
  "totalNotasRejeitadas": 0,
  "totalNotasRejeitasEmitidasContingencia": 0
}

15. LEGISLAÇÃO

Para maiores informações e detalhes sobre a legislação, tanto em relação a NFC-E quanto ao SAT, você consultar os links abaixo:

...

16. TERMOS E ABREVIAÇÕES

  • API: Acrônimo para "Application Programming Interface",ou em português Interface de Programação de Aplicativos. De modo resumido, trata-se de uma API é um conjunto de funções ou padrões de programação para acesso a um software ou aplicativo web.

  • CSC: Código de Segurança do Contribuinte. Código gerado pela Sefaz para fins de identificação digital do contribuinte.

  • CF-e: Cupom Fiscal Eletrônico, documento fiscal eletrônico utilizado no estado de São Paulo e vinculado ao SAT.

  • DANFE: Documento auxiliar da Nota Fiscal Eletrônica, representação gráfica da NF-e ou NFC-e.

  • ECF: Emissor de cupom fiscal, ou Impressora Fiscal.

  • JSON: Formato para troca de informações e dados entre aplicações, sendo similar ao XML, porém mais leveutilizado para troca de informações entre "Cliente <> Servidor".

  • NFC-e: Nota Fiscal ao Consumidor Eletrônica.

  • NF-e: Nota Fiscal Eletrônica.

  • SAT: Conjunto de hardware e software embarcado, usado na autenticação e transmissão do Cupom Fiscal Eletrônico para a Sefaz.

  • SEFAZ: Abreviação para Secretaria da Fazenda.

...