...
Dica |
---|
Para informações sobre o processo de instalação do Fiscal Manager, consulte: Pré-Requisitos da Plataforma Fiscal+Instalação da Plataforma Fiscal (Fiscal Manager)Manual de Instalação |
Uma vez que o Fiscal Manager esteja instalado e configurado corretamente, as rotinas de integração podem ser iniciadas.
...
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
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 |
...
Descrição: | Utilize esta função para listar as notas emitidas através de um intervalo de datas. |
Tipo: | String. |
Exemplo: | Bematech_Fiscal_EstornarPagamentoListarNotas(dados) |
Observações: | dados é uma string em formato JSON contendo os parâmetros listados abaixo: |
...
Descrição: | Utilize esta função para consultar uma nota emitida. A consulta pode ser executada através do identificador d anota da nota ou através da série e número da mesma. |
Tipo: | String. |
Exemplo: | Bematech_Fiscal_InutilizarNumeracaoConsultarNota(dados) |
Observações: | dados é uma string em formato JSON contendo os parâmetros listados abaixo: |
Retorno: | String de retorno em formato JSON. |
...
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_InutilizarNumeracaoEnviarNotaEmail(dados) |
Observações: | dados é uma string em formato JSON contendo os parâmetros listados abaixo: |
Retorno: | String de retorno em formato JSON. |
...
Descrição: | Utilize esta função para executar o cancelamento de uma nota. |
Tipo: | String. |
Exemplo: | Bematech_Fiscal_InutilizarNumeracaoCancelarNota(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 | ||||||
---|---|---|---|---|---|---|
|
...
| |||||
{
|
...
"id": "string", |
...
"xJust": "string", |
...
"dhEvento": "string" |
...
} |
...
Bloco de código | |||||
---|---|---|---|---|---|
|
|
...
| |||||
{
|
...
"sucesso": false, |
...
"codigo": 0, |
...
"descricao": "string" |
...
} |
Descrição: | Utilize esta função para a executar a leitura de status da impressora. |
Tipo: | String. |
Exemplo: | Bematech_Fiscal_InutilizarNumeracaoObterSatusImpressora(dados) |
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 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
{ "ovr": "string", |
...
"offline": "string", |
...
"wait": "string", |
...
"bufStat": "string", |
...
"pnes": "string", |
...
"ps": "string", |
...
"drawer": "string", |
...
"noPaper": "string", |
...
"error": "string", |
...
"cover": "string", |
...
"ca": "string", |
...
"ce": "string", |
...
"nre": "string", |
...
"re": "string", |
...
"hoh": "string", |
...
"cmd": "string", |
...
"firmwareVersion": "string" |
...
} |
08.14. Bematech_Fiscal_ImprimirTextoLivre
Descrição: | Utilize esta função para impressão de um texto livre, bem como inclusão de comandos para corte de papel e formatação de texto. |
Tipo: | String. |
Exemplo: | Bematech_Fiscal_ImprimirTextoLivre(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 | ||||||
---|---|---|---|---|---|---|
|
...
| |||||
{
|
...
"dados": 0, |
...
"base64": false |
...
} |
Bloco de código | ||||||
---|---|---|---|---|---|---|
|
...
| |||||
{
|
...
"sucesso": false, |
...
"codigo": 0, |
...
"descricao": "string", |
...
"numeroSessao": "string" |
...
} |
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 | ||||||
---|---|---|---|---|---|---|
|
...
| |||||
{
|
...
"chave": "string" |
...
} |
...
Bloco de código | |||||
---|---|---|---|---|---|
|
...
|
...
|
{
|
...
"serie": 0, |
...
"numero": 0 |
...
} |
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
{ "sucesso": false, |
...
"codigo": 0, |
...
"descricao": "string", |
...
"numeroSessao": "string" |
...
} |
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 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
{
|
...
"numero": 0 |
...
} |
Bloco de código | ||||||
---|---|---|---|---|---|---|
|
...
| |||||
{
|
...
"sucesso": false, |
...
"codigo": 0, |
...
"descricao": "string", |
...
"numeroSessao": "string" |
...
} |
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 | ||||||
---|---|---|---|---|---|---|
|
...
| |||||
|
...
{ |
...
"versao": "string", |
...
"totalNotasRejeitadas": 0, |
...
"totalNotasRejeitasEmitidasContingencia": 0, |
...
"certificado": { |
...
"situacao": "string", |
...
"dataExpiracao": "2016-08-23T20:24:30.672Z", |
...
"diasParaExpiracao": 0 |
...
}
|
...
} |
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 | ||||||
---|---|---|---|---|---|---|
|
...
|
{
|
...
"configuracao": [ |
...
{
|
...
"nome": "string", |
...
"valor": "string" |
...
}
|
...
]
|
...
} |
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 | ||||||
---|---|---|---|---|---|---|
|
...
| |||||
|
...
{ |
...
"sistema": |
...
{ |
...
"path": "string", |
...
"nivelLog": "string" |
...
} |
...
"nfe": |
...
{ |
...
"timeoutWebservice": "string", |
...
}
|
...
} |
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
|
...
|
{
|
...
"configuracao": [ |
...
{
|
...
"nome": "string", |
...
"valor": "string" |
...
}
|
...
]
|
...
} |
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
|
...
|
{
|
...
"sucesso": false, |
...
"codigo": 0, |
...
"descricao": "string", |
...
} |
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 | ||||||
---|---|---|---|---|---|---|
|
...
| |||||
{
|
...
"situacao": "string", |
...
"codigo": 0, |
...
"notasEmContingencia": 0, |
...
"dataEntradaContingencia": "2016-08-23T20:24:30.680Z", |
...
"minutosEmContingencia": 0, |
...
"minutosRestantesEmContingencia": 0 |
...
} |
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 | ||||||
---|---|---|---|---|---|---|
|
...
| |||||
{
|
...
"situacao": "string", |
...
"codigo": 0, |
...
"notasEmContingencia": 0, |
...
"dataEntradaContingencia": "2016-08-23T20:24:30.681Z", |
...
"minutosEmContingencia": 0, |
...
"minutosRestantesEmContingencia": 0 |
...
} |
...
...
6. Bematech_Fiscal_ImprimirDocumentoFiscal (via chave)
Nota | ||
---|---|---|
| ||
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. |
...
Considere a execução da leitura das informações do certificado digital, para tal utilize a seguinte função:
...
Nota | ||
---|---|---|
| ||
A dll receberá o JSON de retorno dentro de uma variável String. O tratamento do JSON deverá ser efetuado de acordo com a definição da linguagem utilizada para o desenvolvimento da aplicação. |
Em caso de sucesso o retorno recebido pela função seguirá o seguinte padrão:
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
{ "versao": "string", "totalNotasRejeitadas": 0, "totalNotasRejeitasEmitidasContingencia": 0, "certificado": { "situacao": "string", "dataExpiracao": "2016-08-23T20:24:30.672Z", "diasParaExpiracao": 0 } } |
Aviso | ||
---|---|---|
| ||
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. |
...
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 | ||
---|---|---|
| ||
É imprescindível que o Fiscal Manager esteja instalado e em execução para que você tenha acesso a lista de serviços da API. |
Nos próximos tópicos abordaremos em detalhes cada um dos serviços RestFul disponíveis na API de integração com o Fiscal Manager.
Neste tópico, apresentamos todos os recursos disponíveis para a detalhes de cada um dos serviços RestFul disponíveis na API de integração com o Fiscal Manager NFC-E e SAT.
Método: | POST |
Descrição: | Utilize este recurso da API para iniciar/abrir um novo |
Modelo JSON (Envio e Retorno): |
...
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 |
Os exemplos foram categorizados através do tipo de método utilizado.
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. |
Exemplo:
Bloco de código |
---|
...
| ||||||||||
{ |
...
"versao": "02.00.00 build 01", |
...
"totalNotasRejeitadas": 1, |
...
"totalNotasRejeitasEmitidasContingencia": 0, |
...
"certificado": { |
...
"situacao": "No prazo", |
...
"dataExpiracao": "03/04/2017", |
...
"diasParaExpiracao": 97 |
...
}
|
...
} |
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. |
Exemplo de JSON de envio
Bloco de código | ||||||
---|---|---|---|---|---|---|
|
...
| |||||
{
"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 " |
...
} |
...
} |
...
Exemplo de JSON de Retorno:
Bloco de código | ||||||
---|---|---|---|---|---|---|
|
...
| |||||
{
|
...
"sucesso": true, |
...
"codigo": 9500, |
...
"descricao": "Operação realizada com sucesso" |
...
} |
Os exemplos foram categorizados através do tipo de método utilizado.
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. |
Exemplo:
Bloco de código | ||||||
---|---|---|---|---|---|---|
|
...
| |||||
|
...
{ |
...
"versao": "02.00.00 build 01", |
...
"totalNotasRejeitadas": 1, |
...
"totalNotasRejeitasEmitidasContingencia": 0, |
...
"certificado": { |
...
"situacao": "No prazo", |
...
"dataExpiracao": "03/04/2017", |
...
"diasParaExpiracao": 97 |
...
}
|
...
} |
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. |
Exemplo de JSON de envio
Bloco de código | ||||||
---|---|---|---|---|---|---|
|
...
| |||||
{ |
...
|
...
"configuracao": [{ |
...
"nome": "PROXY", |
...
"valor": "0" |
...
|
...
}, { |
...
|
...
"nome": "PRINT_LOGO", |
...
"valor": "1" |
...
}]
|
...
} |
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. |
Exemplo de JSON de envio
Bloco de código | ||||||
---|---|---|---|---|---|---|
|
...
| |||||
{ "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" |
...
} |
...
} |
...
} |
...
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. |
Exemplo de JSON de Retorno
Bloco de código | ||||||
---|---|---|---|---|---|---|
|
...
| |||||
{
|
...
"sucesso": true |
...
} |
...
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:
A listagem abaixo apresenta somente o nome dos métodos, para maiores informações sobre "URL Request" e conteúdo do JSON, consulte neste manual o tópico: "Recursos da API"
1. Abrir cupom
2. Adicionar Item de Venda
3. Adicionar Item de Venda
4. Adicionar Pagamento
5. Fechar cupom
...
6. Impressão de DANFE (via chave)
7. Impressão de DANFE (via número e série)
Nota | ||
---|---|---|
| ||
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. |
...
A dll receberá o JSON de retorno dentro de uma variável String. O tratamento do JSON deverá ser efetuado de acordo com a definição da linguagem utilizada para o desenvolvimento da aplicação.
Em caso de sucesso o retorno recebido pela função seguirá o seguinte padrão:
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
{ "versao": "Fiscal Manager SAT - 3.0.0", "totalNotasRejeitadas": 0, "totalNotasRejeitasEmitidasContingencia": 0 } |
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:
...