Árvore de páginas

Versões comparadas

Chave

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

...

Índice
minLevel2
indent10px
stylenone

  1. Visão Geral
  2. Como realizar a integração com APIOne
  3. Vantagens de se utilizar a APIOne
  4. Usando a APIOne
    1. Integração da Plataforma Fiscal usando a BemaAPIOne + BemaOne.dll
  5. O que é a BemaOne.dll
  6. Declaração das funções da BemaOne.dll
    1. JAVA (JNA)
    2. JAVA (JNI)
    3. C#
  1. Funções da biblioteca BemaOne.dll:
    1. Bematech_Fiscal_AbrirNota
    2. Bematech_Fiscal_EstornarNota
    3. Bematech_Fiscal_FecharNota
    4. Bematech_Fiscal_VenderItem
    5. Bematech_Fiscal_EstornarVendaItem
    6. Bematech_Fiscal_EfetuarPagamento
    7. Bematech_Fiscal_EstornarPagamento
    8. Bematech_Fiscal_ListarNotas
    9. Bematech_Fiscal_InutilizarNumeracao
    10. Bematech_Fiscal_ConsultarNota
    11. Bematech_Fiscal_EnviarNotaEmail
    12. Bematech_Fiscal_CancelarNota
    13. Bematech_Fiscal_ObterStatusImpressora
    14. Bematech_Fiscal_ImprimirTextoLivre
    15. Bematech_Fiscal_ImprimirDocumentoFiscal
    16. Bematech_Fiscal_AcionarGaveta
    17. Bematech_Fiscal_ObterInformacoesSistema
    18. Bematech_Fiscal_ListarConfiguracoes
    19. Bematech_EfetuarConfiguracoes
    20. Bematech_Fiscal_ObterInformacoesContingencia
    21. Bematech_Fiscal_TrocaEstadoContingencia
  2. Fluxos de operação usando a BemaOne.dll + APIOne.
    1. Venda Simples.
    2. Obter informações do Sistema.
  3. Usando Serviços RestFul
    1. O que são Serviços RestFul?
    2. Entendendo o Funcionamento
    3. Lista de Serviços RestFul
  4. Recursos da API
    1. Abrir Cupom
    2. Adicionar Item de venda
    3. Estornar Item de venda
    4. Adicionar Pagamento
    5. Estornar Pagamento
    6. Fechar Cupom
    7. Estornar Cupom
    8. Listar Documentos
    9. Listar Documentos (Paginada)
    10. Buscar documento por ID
    11. Cancelar um documento
    12. Enviar documento por email (ID)
    13. Buscar documento através de série/número
    14. Enviar documento por email (série/número)
    15. Consultar status de uma impressora Bematech
    16. Impressão de documento genérico
    17. Impressão de DANFE (Chave de acesso)
    18. Impressão de DANFE (Série/Número)
    19. Realizar abertura de gaveta
    20. Informações sobre o sistema
    21. Listagem de configurações do sistema
    22. Realizar alteração de configurações do Fiscal Manager
    23. Localizar configuração específica do Fiscal Manager
    24. Obter informações sobre contingência
    25. Alterar o modo de contingência
  5. Exemplos JSON NFC-E
    1. Método: GET (Fiscal Manager NFC-E e SAT)
    2. Método: POST (Utilizando Fiscal Manager NFC-e)
    3. Método: DELETE (Utilizando Fiscal Manager NFC-E)
  6. Exemplos JSON SAT
    1. Método: GET (Fiscal Manager NFC-E e SAT)
    2. Método: POST (Utilizando Fiscal Manager SAT)
    3. Método: POST (Utilizando Fiscal Manager SAT)
    4. Método: DELETE (Utilizando Fiscal Manager SAT)
  7. Fluxos de operação usando a integração direta através da APIOne.
    1. Venda Simples.
    2. Obter informações do Sistema.
  8. Plataforma Fiscal Bematech.
    1. Componentes da plataforma fiscal:
    2. Pré-Requisitos da Plataforma Fiscal
  9. LEGISLAÇÃO
  10. TERMOS E ABREVIAÇÕES
  11. CONTATO E SUPORTE TÉCNICO

01. 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.

...

Declarando as funções em Visual Basic.

 1private Declare function Bematech_Fiscal_AbrirNota Lib "BemaOne32.dll" (ByVal dados as string) as string
 2private Declare function Bematech_Fiscal_EstornarNota Lib "BemaOne32.dll"() as string
 3private Declare function Bematech_Fiscal_FecharNota Lib "BemaOne32.dll"(ByVal dados as string) as string
 4private Declare function Bematech_Fiscal_VenderItem Lib "BemaOne32.dll"(ByVal dados as string) as string
 5private Declare function Bematech_Fiscal_EstornarVendaItem Lib "BemaOne32.dll"(ByVal dados as string) as string
 6private Declare function Bematech_Fiscal_EfetuarPagamento Lib "BemaOne32.dll"(ByVal dados as string) as string
 7private Declare function Bematech_Fiscal_EstornarPagamento Lib "BemaOne32.dll"(ByVal dados as string) as string
 8private Declare function Bematech_Fiscal_ListarNotas Lib "BemaOne32.dll"(ByVal dados as string) as string
 9private Declare function Bematech_Fiscal_InutilizarNumeracao Lib "BemaOne32.dll"(ByVal dados as string) as string
10private Declare function Bematech_Fiscal_ConsultarNota Lib "BemaOne32.dll"(ByVal dados as string) as string
11private Declare function Bematech_Fiscal_EnviarNotaEmail Lib "BemaOne32.dll"(ByVal dados as string) as string
12private Declare function Bematech_Fiscal_CancelarNota Lib "BemaOne32.dll"(ByVal dados as string) as string
13private Declare function Bematech_Fiscal_ObterStatusImpressora Lib "BemaOne32.dll"() as string
14private Declare function Bematech_Fiscal_ImprimirTextoLivre Lib "BemaOne32.dll"(ByVal dados as string) as string
15private Declare function Bematech_Fiscal_ImprimirDocumentoFiscal Lib "BemaOne32.dll"(ByVal dados as string) as string
16private Declare function Bematech_Fiscal_AcionarGaveta Lib "BemaOne32.dll"(ByVal dados as string) as string
17private Declare function Bematech_Fiscal_ObterInformacoesSistema Lib "BemaOne32.dll"() as string
18private Declare function Bematech_Fiscal_ListarConfiguracoes Lib "BemaOne32.dll"() as string
19private Declare function Bematech_Fiscal_EfetuarConfiguracoes Lib "BemaOne32.dll"(ByVal dados as string) as string
20private Declare function Bematech_Fiscal_ObterInformacoesContingencia Lib "BemaOne32.dll"() as string
21private Declare function Bematech_Fiscal_TrocarEstadoContingencia Lib "BemaOne32.dll"() as string

...

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.


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.


...

8.1. 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.


Parâmetros de entrada da função.

 1{
 2"versao": "string",
 3"configuracao": {
 4  "imprimir": false,
 5  "email": false
 6},
 7"identificacao": {
 8  "cuf": "string",
 9  "cnf": "string",
10  "natOp": "string",
11  "indPag": 0,
12  "mod": "string",
13  "serie": "string",
14  "nnf": "string",
15  "dhEmi": "string",
16  "tpNF": "string",
17  "idDest": 0,
18  "tpImp": 0,
19  "tpEmis": 0,
20  "cdv": 0,
21  "tpAmb": 0,
22  "finNFe": 0,
23  "indFinal": 0,
24  "indPres": 0,
25  "procEmi": 0,
26  "verProc": "string",
27  "cMunFG": "string"
28},
29"emitente": {
30  "cnpj": "string",
31  "endereco": {
32    "nro": "string",
33    "uf": "string",
34    "cep": "string",
35    "fone": "string",
36    "xBairro": "string",
37    "xLgr": "string",
38    "cMun": "string",
39    "cPais": "string",
40    "xPais": "string",
41    "xMun": "string"
42  },
43  "ie": "string",
44  "crt": 0,
45  "xNome": "string",
46  "xFant": "string"
47},
48"destinatario": {
49  "cpf": "string",
50  "endereco": {
51    "nro": "string",
52    "uf": "string",
53    "cep": "string",
54    "fone": "string",
55    "xBairro": "string",
56    "xLgr": "string",
57    "cMun": "string",
58    "cPais": "string",
59    "xPais": "string",
60    "xMun": "string"
61  },
62  "indIEDest": 0,
63  "email": "string",
64  "xNome": "string"
65}
66}


Parâmetros de retorno da função.

1{
2"sucesso": false,
3"codigo": 0,
4"descricao": "string",
5"numeroSessao": "string"
6}

...

8.2. 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.


Parâmetros de retorno da função.

1{
2"sucesso": false,
3"codigo": 0,
4"descricao": "string",
5"numeroSessao": "string"
6}

...

8.3. 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.


Parâmetros de entrada da função.

 1{
 2"total": {
 3  "icmsTotal": {
 4    "vbc": 0.00,
 5    "vicms": 0.00,
 6    "vicmsDeson": 0.00,
 7    "vbcst": 0.00,
 8    "vst": 0.00,
 9    "vii": 0.00,
10    "vipi": 0.00,
11    "vpis": 0.00,
12    "vcofins": 0.00,
13    "vnf": 0.00,
14    "vtotTrib": 0.00,
15    "vdesc": 0.00,
16    "vprod": 0.00,
17    "voutro": 0.00,
18    "vseg": 0.00,
19    "vfrete": 0.00
20  }
21},
22"informacaoAdicional": {
23  "infCpl": "string",
24  "observacoesContribuintes": [
25    {
26"xtexto": "string",
27"xcampo": "string"
28    }
29  ]
30}
31}


Parâmetros de retorno da função.

1{
2"sucesso": false,
3"codigo": 0,
4"descricao": "string",
5}

...

8.4. 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.


Parâmetros de entrada da função.

  1{
  2"nItem": 0,
  3"produto": {
  4  "cProd": "string",
  5  "cean": "string",
  6  "xProd": "string",
  7  "ncm": "string",
  8  "nve": "string",
  9  "extipi": "string",
 10  "cfop": "string",
 11  "uCom": "string",
 12  "qCom": "string",
 13  "vUnCom": 0,
 14  "vProd": 0,
 15  "indRegra": 0,
 16  "ceanTrib": "string",
 17  "uTrib": "string",
 18  "qTrib": 0,
 19  "vUnTrib": "string",
 20  "vFrete": 0,
 21  "vSeg": 0,
 22  "vDesc": 0,
 23  "vOutro": 0,
 24  "vItem": 0,
 25  "vRatDesc": 0,
 26  "vRatAcr": 0,
 27  "indTot": 0,
 28  "cest": "string",
 29  "declaracoesImportacao": [
 30    {
 31"ndi": "string",
 32"ddi": "2016-08-23T20:24:30.570Z",
 33"xLocDesemb": "string",
 34"ufDesemb": "string",
 35"dDesemb": "2016-08-23T20:24:30.570Z",
 36"tpViaTransp": 0,
 37"vafrmm": 0,
 38"tpIntermedio": 0,
 39"cnpj": "string",
 40"ufTerceiro": "string",
 41"cExportador": "string",
 42"adicoes": [
 43{
 44  "nAdicao": 0,
 45  "nSeqAdic": 0,
 46  "cFabricante": "string",
 47  "vDescDI": 0,
 48  "nDraw": 0
 49}
 50]
 51    }
 52  ],
 53  "detsExportacao": [
 54    {
 55"nDraw": 0,
 56"exportacaoIndireta": {
 57"nre": "string",
 58"chNFe": "string",
 59"qExport": 0
 60}
 61    }
 62  ],
 63  "xPed": "string",
 64  "nItemPed": "string",
 65  "nfci": "string",
 66  "veiculo": {
 67    "tpOp": 0,
 68    "chassi": "string",
 69    "cCor": "string",
 70    "xCor": "string",
 71    "pot": "string",
 72    "cilin": "string",
 73    "pesoL": "string",
 74    "pesoB": "string",
 75    "nSerie": "string",
 76    "tpComb": "string",
 77    "nMotor": "string",
 78    "cmt": "string",
 79    "dist": "string",
 80    "anoMod": 0,
 81    "anoFab": 0,
 82    "tpPint": "string",
 83    "tpVeic": 0,
 84    "espVeic": 0,
 85    "vin": "string",
 86    "condVeic": 0,
 87    "cMod": "string",
 88    "cCorDENATRAN": 0,
 89    "lota": 0,
 90    "tpRest": 0
 91  },
 92  "medicamentos": [
 93    {
 94"nLote": "string",
 95"qLote": 0,
 96"dFab": "2016-08-23T20:24:30.570Z",
 97"dVal": "2016-08-23T20:24:30.570Z",
 98"vpmc": 0
 99    }
100  ],
101  "armamentos": [
102    {
103"tpArma": 0,
104"nSerie": "string",
105"nCano": "string",
106"descr": "string"
107    }
108  ],
109  "combustivel": {
110    "cProdANP": "string",
111    "pMixGN": 0,
112    "codif": "string",
113    "qTemp": 0,
114    "ufCons": "string",
115    "cide": {
116"qbcProd": 0,
117"vAliqProd": 0,
118"vcide": 0
119    },
120    "encerrante": {
121"nBico": "string",
122"nBomba": "string",
123"nTanque": "string",
124"vEncIni": "string",
125"vEncFin": "string"
126    }
127  },
128  "nrecopi": "string",
129  "obsFiscoDetalhamento": [
130    {
131"getxCampoDet": "string",
132"getxTextoDet": "string"
133    }
134  ]
135},
136"imposto": {
137  "vTotTrib": 0,
138  "icms": {
139    "icms00": {
140"orig": 0,
141"cst": "string",
142"modBC": 0,
143"vbc": 0,
144"picms": 0,
145"vicms": 0
146    },
147    "icms10": {
148"orig": 0,
149"cst": "string",
150"modBC": 0,
151"vbc": 0,
152"picms": 0,
153"vicms": 0,
154"modBCST": 0,
155"pmvast": 0,
156"pRedBCST": 0,
157"vBCST": 0,
158"picmsst": 0,
159"vicmsst": 0
160    },
161    "icms20": {
162"orig": 0,
163"cst": "string",
164"modBC": 0,
165"vbc": 0,
166"picms": 0,
167"vicms": 0,
168"pRedBC": 0,
169"vicmsDeson": 0,
170"motDesICMS": 0
171    },
172    "icms30": {
173"orig": 0,
174"cst": "string",
175"modBC": 0,
176"vbc": 0,
177"picms": 0,
178"vicms": 0,
179"modBCST": 0,
180"pmvast": 0,
181"pRedBCST": 0,
182"vBCST": 0,
183"picmsst": 0,
184"vicmsst": 0,
185"vicmsDeson": 0,
186"motDesICMS": 0
187    },
188    "icms40": {
189"orig": 0,
190"cst": "string",
191"vicmsDeson": 0,
192"motDesICMS": 0
193    },
194    "icms41": {
195"orig": 0,
196"cst": "string",
197"vicmsDeson": 0,
198"motDesICMS": 0
199    },
200    "icms50": {
201"orig": 0,
202"cst": "string",
203"vicmsDeson": 0,
204"motDesICMS": 0
205    },
206    "icms51": {
207"orig": 0,
208"cst": "string",
209"modBC": 0,
210"vbc": 0,
211"picms": 0,
212"vicms": 0,
213"vicmsDeson": 0,
214"motDesICMS": 0,
215"pRedBCST": 0,
216"vicmsOp": 0,
217"pDif": 0,
218"vicmsDif": 0
219    },
220    "icms60": {
221"orig": 0,
222"cst": "string",
223"vbcstRet": 0,
224"vicmsstRet": 0
225    },
226    "icms70": {
227"orig": 0,
228"cst": "string",
229"modBC": 0,
230"vbc": 0,
231"picms": 0,
232"vicms": 0,
233"modBCST": 0,
234"pmvast": 0,
235"pRedBCST": 0,
236"vBCST": 0,
237"picmsst": 0,
238"vicmsst": 0,
239"vicmsDeson": 0,
240"motDesICMS": 0,
241"pRedBC": 0
242    },
243    "icms90": {
244"orig": 0,
245"cst": "string",
246"modBC": 0,
247"vbc": 0,
248"picms": 0,
249"vicms": 0,
250"modBCST": 0,
251"pmvast": 0,
252"pRedBCST": 0,
253"vBCST": 0,
254"picmsst": 0,
255"vicmsst": 0,
256"vicmsDeson": 0,
257"motDesICMS": 0,
258"pRedBC": 0
259    },
260    "icmsPart": {
261"orig": 0,
262"cst": "string",
263"modBC": 0,
264"vbc": 0,
265"picms": 0,
266"vicms": 0,
267"modBCST": 0,
268"pmvast": 0,
269"pRedBCST": 0,
270"vBCST": 0,
271"picmsst": 0,
272"vicmsst": 0,
273"pRedBC": 0,
274"pbcOp": 0,
275"ufst": "string"
276    },
277    "icmsst": {
278"orig": 0,
279"cst": "string",
280"vbcstRet": "string",
281"vicmsstRet": "string",
282"vbcstDest": "string",
283"vicmsstDest": "string"
284    },
285    "icms101": {
286"orig": 0,
287"csosn": 0,
288"pCredSN": 0,
289"vCredICMSSN": 0
290    },
291    "icms102": {
292"orig": 0,
293"csosn": 0
294    },
295    "icms201": {
296"orig": 0,
297"csosn": 0,
298"modBCST": 0,
299"pmvast": 0,
300"pRedBCST": 0,
301"vbcst": 0,
302"picmsst": 0,
303"vicmsst": 0,
304"pCredSN": 0,
305"vCredICMSSN": 0
306    },
307    "icms202": {
308"orig": 0,
309"csosn": 0,
310"modBCST": 0,
311"pmvast": 0,
312"pRedBCST": 0,
313"vbcst": 0,
314"picmsst": 0,
315"vicmsst": 0
316    },
317    "icms500": {
318"orig": 0,
319"csosn": 0,
320"vbcstRet": 0,
321"vicmsstRet": 0
322    },
323    "icms900": {
324"orig": 0,
325"csosn": 0,
326"modBC": 0,
327"vbc": 0,
328"pRedBC": 0,
329"picms": 0,
330"vicms": 0,
331"modBCST": 0,
332"pmvast": 0,
333"pRedBCST": 0,
334"vbcst": 0,
335"picmsst": 0,
336"vicmsst": 0,
337"pCredSN": 0,
338"vCredICMSSN": 0
339    }
340  },
341  "ipi": {
342    "clEnq": "string",
343    "cnpjProd": "string",
344    "cSelo": "string",
345    "qSelo": 0,
346    "cEnq": "string",
347    "ipiTrib": {
348"cst": "string",
349"vbc": 0,
350"pipi": 0,
351"qUnid": 0,
352"vUnid": 0,
353"vipi": 0
354    },
355    "ipint": {
356"cst": "string"
357    }
358  },
359  "ii": {
360    "vbc": 0,
361    "vDespAdu": 0,
362    "vii": 0,
363    "viof": 0
364  },
365  "pis": {
366    "pisAliq": {
367"cst": "string",
368"vbc": 0,
369"ppis": 0,
370"vpis": 0
371    },
372    "pisQtde": {
373"cst": "string",
374"qbcProd": 0,
375"vAliqProd": 0,
376"vpis": 0
377    },
378    "pisnt": {
379"cst": "string"
380    },
381    "pisOutr": {
382"cst": "string",
383"vbc": 0,
384"ppis": 0,
385"qbcProd": 0,
386"vAliqProd": 0,
387"vpis": 0
388    },
389    "pissn": {
390"cst": "string"
391    }
392  },
393  "pisst": {
394    "vbc": 0,
395    "ppis": 0,
396    "qbcProd": 0,
397    "vAliqProd": 0,
398    "vpis": 0
399  },
400  "cofins": {
401    "cofinsAliq": {
402"cst": "string",
403"vbc": 0,
404"pcofins": 0,
405"vcofins": 0
406    },
407    "cofinsQtde": {
408"cst": "string",
409"qbcProd": 0,
410"vAliqProd": 0,
411"vcofins": 0
412    },
413    "cofinsnt": {
414"cst": "string"
415    },
416    "cofinsOutr": {
417"cst": "string",
418"vbc": 0,
419"pcofins": 0,
420"qbcProd": 0,
421"vAliqProd": 0,
422"vcofins": 0
423    }
424  },
425  "cofinsst": {
426    "vbc": 0,
427    "pcofins": 0,
428    "qbcProd": 0,
429    "vAliqProd": 0,
430    "vcofins": 0
431  },
432  "issqn": {
433    "vbc": 0,
434    "vAliq": 0,
435    "vissqn": 0,
436    "cMunFG": 0,
437    "cListServ": "string",
438    "vDeducao": 0,
439    "vOutro": 0,
440    "vDescIncond": 0,
441    "vDescCond": 0,
442    "vissRet": 0,
443    "indISS": 0,
444    "cServico": "string",
445    "cMun": 0,
446    "cPais": 0,
447    "nProcesso": "string",
448    "indIncentivo": 0,
449    "cNatOp": "string"
450  },
451  "vItem12741": "string"
452},
453"impostoDevolvido": {
454  "pDevol": 0,
455  "ipiDevolvido": {
456    "vipiDevol": "string"
457  }
458},
459"infAdProd": "string"
460}


Parâmetros de retorno da função.

1{
2"sucesso": false,
3"codigo": 0,
4"descricao": "string"
5}

...

8.5. 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.


Parâmetros de entrada da função.

1{
2"sessao": "string",
3"sequencia": 0
4}


Parâmetros de retorno da função.

1{
2"sucesso": false,
3"codigo": 0,
4"descricao": "string"
5}

...

8.6. 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.


Parâmetros de entrada da função.

 1{
 2"nItem": 0,
 3"tPag": 0,
 4"vPag": 0,
 5"cartao": {
 6  "cnpj": "string",
 7  "tBand": 0,
 8  "cAut": "string",
 9  "tpIntegra": 0
10},
11"cAdmC": "string"
12}


Parâmetros de retorno da função.

1{
2"sucesso": false,
3"codigo": 0,
4"descricao": "string"
5}

...

8.7. 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.


Parâmetros de entrada da função.

1{
2"sessao": "string",
3"sequencia": 0
4}


Parâmetros de retorno da função.

1{
2  "sucesso": false,
3  "codigo": 0,
4  "descricao": "string"
5}

...

8.8. 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:


Parâmetros de entrada.

 1{
 2 "pagina": 0,
 3 "dataInicial": "string",
 4 "dataFinal": "string",
 5 "serie": "string",
 6 "numeroInicial": 0,
 7 "numeroFinal": 0,
 8 "status": "string",
 9 "cancelado": false,
10 "inutilizado": false,
11 "situacaoSefaz": "string",
12 "pageSize": "string"
13}


Parâmetros de retorno da função.

1{
2"sucesso": false,
3"codigo": 0,
4"descricao": "string"
5}

...

8.9. 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.


Parâmetros de entrada da função.

1{
2"identificacao": {
3  "serie": "string",
4  "numero": "string"
5},
6"justificativa": "string"
7}


Parâmetros de retorno da função.

1{
2  "sucesso": false,
3  "codigo": 0,
4  "descricao": "string"
5}

...

8.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.


Parâmetros de entrada da função.

1{
2"id": "string",
3"formato": "string"
4}
  • Parâmetros de Retorno String de retorno em formato JSON.


Parâmetros de retorno da função.

1{
2"serie": 0,
3"numero": 0,
4"formato": "string"
5}

...

8.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.


Parâmetros de entrada da função.

1{
2"id": "string",
3"email": "string"
4}


Parâmetros de retorno da função.

1{
2"id": "string",
3"email": "string"
4}

...

8.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.


Parâmetros de entrada da função.

1{
2"id": "string",
3"xJust": "string",
4"dhEvento": "string"
5}


Parâmetros de retorno da função.

1{
2"sucesso": false,
3"codigo": 0,
4"descricao": "string"
5}

...

8.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.

 1{
 2"ovr": "string",
 3"offline": "string",
 4"wait": "string",
 5"bufStat": "string",
 6"pnes": "string",
 7"ps": "string",
 8"drawer": "string",
 9"noPaper": "string",
10"error": "string",
11"cover": "string",
12"ca": "string",
13"ce": "string",
14"nre": "string",
15"re": "string",
16"hoh": "string",
17"cmd": "string",
18"firmwareVersion": "string"
19}

...

8.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.


Parâmetros de entrada da função.

1"dados": 0,
2"base64": false
3}


Parâmetros de retorno da função.

1{
2"sucesso": false,
3"codigo": 0,
4"descricao": "string",
5"numeroSessao": "string"
6}

...

8.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.


Parâmetros de entrada da função (Impressão via chave).

1{
2"chave": "string"
3}


Parâmetros de entrada da função (Impressão através de série e número do doc).

1{
2"serie": 0,
3"numero": 0
4}


Parâmetros de retorno da função.

1{
2"sucesso": false,
3"codigo": 0,
4"descricao": "string",
5"numeroSessao": "string"
6}

...

8.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.


Parâmetros de entrada da função.

1{
2"numero": 0
3}


Parâmetros de retorno da função

1{
2"sucesso": false,
3"codigo": 0,
4"descricao": "string",
5"numeroSessao": "string"
6}

...

8.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.


Parâmetros de retorno da função.

 1{
 2"versao": "string",
 3"totalNotasRejeitadas": 0,
 4"totalNotasRejeitasEmitidasContingencia": 0,
 5"certificado": {
 6  "situacao": "string",
 7  "dataExpiracao": "2016-08-23T20:24:30.672Z",
 8  "diasParaExpiracao": 0
 9}
10}

...

8.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.


Parâmetros de retorno da função.

1{
2"configuracao": [
3  {
4    "nome": "string",
5    "valor": "string"
6  }
7]
8}

...

8.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.


Parâmetros de entrada da função (Caso de configurações da dll).

 1{
 2"sistema":
 3  {
 4    "path": "string",
 5    "nivelLog": "string"
 6  }
 7"nfe":
 8  {
 9    "timeoutWebservice": "string",
10  }
11}


Parâmetros de entrada da função (Caso de configurações do sistema).

1{
2"configuracao": [
3  {
4    "nome": "string",
5    "valor": "string"
6  }
7]
8}


Parâmetros retornados pela função.

1{
2"sucesso": false,
3"codigo": 0,
4"descricao": "string",
5}

...

8.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.


Parâmetros retornados pela função.

1{
2"situacao": "string",
3"codigo": 0,
4"notasEmContingencia": 0,
5"dataEntradaContingencia": "2016-08-23T20:24:30.680Z",
6"minutosEmContingencia": 0,
7"minutosRestantesEmContingencia": 0
8}

...

8.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.


Parâmetros retornados pela função.

1{
2"situacao": "string",
3"codigo": 0,
4"notasEmContingencia": 0,
5"dataEntradaContingencia": "2016-08-23T20:24:30.681Z",
6"minutosEmContingencia": 0,
7"minutosRestantesEmContingencia": 0
8}



Cada uma destas funções ao ser executada irá consumir um recursos específico da API.

...

9. Fluxos de operação usando a BemaOne.dll + APIOne.

...

  • 6. Bematech_Fiscal_ImprimirDocumentoFiscal (via chave)



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.

9.2. Obter informações do Sistema.

...

Considere a execução da leitura das informações do certificado digital, para tal utilize a seguinte funçã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:
Retorno da função Bematech_Fiscal_ObterInformacoesSistema

{
"versao": "string",
"totalNotasRejeitadas": 0,
"totalNotasRejeitasEmitidasContingencia": 0,
"certificado": {
  "situacao": "string",
  "dataExpiracao": "2016-08-23T20:24:30.672Z",
  "diasParaExpiracao": 0
}
}



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

...

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/#/


É 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.


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 integração com o Fiscal Manager NFC-E e SAT.

11.1. 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.2. 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.3. 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.4. 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.5. 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.6. 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.7. 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.8. 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.9. 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.1. 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.

Exemplo:
JSON de retorno.

 1{
 2  "versao": "02.00.00 build 01",
 3  "totalNotasRejeitadas": 1,
 4  "totalNotasRejeitasEmitidasContingencia": 0,
 5  "certificado": {
 6    "situacao": "No prazo",
 7    "dataExpiracao": "03/04/2017",
 8    "diasParaExpiracao": 97
 9  }
10}

...

12.2. 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.

Exemplo de JSON de envio
JSON de envio (NFC-E).

 1{
 2        "versao": "3.10",
 3        "configuracao": {
 4                "imprimir": true,
 5                "email": true
 6        },
 7        "identificacao": {
 8                "cuf": "41",
 9                "cnf": "00005000",
10                "natOp": "VENDA",
11                "indPag": 0,
12                "mod": "65",
13                "serie": "768",
14                "nnf": "5000",
15                "dhEmi": "2016-12-29T14:06:57-02:00",
16                "tpNF": "1",
17                "idDest": 1,
18                "tpImp": 4,
19                "tpEmis": 1,
20                "cdv": 8,
21                "tpAmb": 2,
22                "finNFe": 1,
23                "indFinal": 1,
24                "indPres": 1,
25                "procEmi": 0,
26                "verProc": "1.0.0.0",
27                "cMunFG": "4106902"
28        },
29        "emitente": {
30                "cnpj": "82373077000171",
31                "endereco": {
32                        "nro": "0",
33                        "uf": "PR",
34                        "cep": "81320400",
35                        "fone": "4184848484",
36                        "xBairro": "CABRAL",
37                        "xLgr": "AV Teste",
38                        "cMun": "4106902",
39                        "cPais": "1058",
40                        "xPais": "BRASIL",
41                        "xMun": "Curitiba"
42                },
43                "ie": "1018146530",
44                "crt": 3,
45                "xNome": "BEMATECH SA",
46                "xFant": "BEMATECH"
47        },
48        "destinatario": {
49                "cpf": "76643539129",
50                "endereco": {
51                        "nro": "842",
52                        "uf": "PR",
53                        "cep": "80020320",
54                        "fone": "41927598874",
55                        "xBairro": "Centro",
56                        "xLgr": "Marechal Deodoro",
57                        "cMun": "4106902",
58                        "cPais": "1058",
59                        "xPais": "Brasil",
60                        "xMun": "Curitiba"
61                },
62                "indIEDest": 9,
63                "email": "[email protected]",
64                "xNome": "NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL "
65        }
66}

...

12.3. 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.

Exemplo de JSON de Retorno:
JSON de retorno (NFC-E).

1{
2  "sucesso": true,
3  "codigo": 9500,
4  "descricao": "Operação realizada com sucesso"
5}

...

13. Exemplos JSON SAT



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

...

13.1. 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.

Exemplo:
JSON de retorno.

 1{
 2  "versao": "02.00.00 build 01",
 3  "totalNotasRejeitadas": 1,
 4  "totalNotasRejeitasEmitidasContingencia": 0,
 5  "certificado": {
 6    "situacao": "No prazo",
 7    "dataExpiracao": "03/04/2017",
 8    "diasParaExpiracao": 97
 9  }
10}

...

13.2. 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.

Exemplo de JSON de envio
JSON de envio (SAT).

 1{
 2        "configuracao": [{
 3                "nome": "PROXY",
 4                "valor": "0"
 5        }, {
 6                "nome": "PRINT_LOGO",
 7                "valor": "1"
 8        }]
 9}

...

13.3. 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.

Exemplo de JSON de envio
JSON de envio (SAT).

 1{
 2  "identificacao": {
 3        "cnpj": "16716114000172",
 4        "numeroCaixa": "001",
 5        "signAC": "SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT"
 6  },
 7  "emitente": {
 8    "cnpj": "61099008000141",
 9    "ie": "111111111111",
10        "indRatISSQN": "S"
11  },
12  "destinatario": {
13        "cpf": "09324114107",
14        "xNome": "Paulo"
15  },
16  "entrega": {
17    "cpf": "09324114107",
18        "endereco": {
19                "xLgr": "Rua Teste",
20                "nro": "450",
21                "xCpl": "teste",
22                "xBairro": "Fazendinha",
23                "xMun": "Curitiba",
24                "uf": "PR"
25        }
26  }
27}

...

13.4. 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.

Exemplo de JSON de Retorno
JSON de retorno (NFC-E).

1{
2  "sucesso": true
3}

...

14. Fluxos de operação usando a integração direta através da APIOne.

...

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)



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.2. Obter informações do Sistema.

...



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:
Retorno da função Bematech_Fiscal_ObterInformacoesSistema

...

  • Fiscal Manager NFC-e: É o núcleo da Plataforma Fiscal Bematech, sendo o responsável por gerar e assinar digitalmente os arquivos XML para emissão da NFC-e. Ele também gerencia a entrada e saída de contingência bem como também realizar a impressão da DANFE ao final do processo.



Existe também a versão SAT do Fiscal Manager, suas funcionalidades são similares a versão NFC-e no entanto, o Fiscal Manager não transmite as notas para Sefaz mas sim para o hardware SAT que se encarregará do processo.

Além do Fiscal Manager a Plataforma Fiscal possui também um conjunto de componentes que oferece várias formas de integração com sua aplicação, dentre eles podemos citar:

  • Virtual ECF + Biblioteca Bemafi32.dll: Componentes para integração através de modo compatibilidade (aplicações já integradas com ECF). Obs. Válido tanto para NFC-e quanto para SAT.

  • BemaNFCe.dll: Biblioteca para integração direta com o Fiscal Manager possui funções específicas para comunicação com serviços NFC-e da Bematech de forma mais simplificada pois não trabalha com modo compatibilidade. Obs. Exclusivo para NFC-e.

  • APIOne: Todas as funcionalidades do Fiscal Manager, disponíveis em uma API que elimina o uso de dlls e também do Virtual ECF para a integração.



Para utilizar a APIOne é importante que o Fiscal Manager esteja atualizado para a versão 02.00.00 Build 01.

Versões anteriores a 02.00.00 não contemplam as funcionalidades da APIOne.

15.2. Pré-Requisitos da Plataforma Fiscal

...

  • Uso simultâneo em vários computadores;

  • Dispensa o uso de um hardware adicional (Leitor USB) conectado ao computador;

  • Praticidade de aquisição e confiabilidade de uso;

  • Permite o uso simultâneo até mesmo entre filiais diferentes, mas com mesma raiz de CNPJ (8 primeiros dígitos são iguais), por exemplo:

    • Matriz: 82373077 000171

    • Filial 1: 82373077 000278

    • Filial 2: 82373077 000389



Durante a homologação e testes da Plataforma Fiscal, é a Software House quem deve providenciar um certificado digital. Concluídos os testes, fica à cargo do Contribuinte (Cliente) providenciar o certificado uso em ambiente de Produção.

O formato do arquivo para importação deve obedecer o padrão PFX.

15.2.2. Código CSC (Token do Contribuinte):

...

  • É indispensável que o contribuinte possua uma Inscrição Estadual válida para emissão de notas.

  • O pedido do Código CSC é de responsabilidade do cliente junto a Sefaz do estado.

  • A geração do "Código CSC" depende diretamente de um Certificado Digital válido para o CNPJ em questão.

  • Uma vez adquiridos, os códigos serão válidos para todos os estabelecimentos do Contribuinte dentro do mesmo Estado.



Caso a Software House ou o contribuinte não possuam uma IE (Inscrição Estadual) válida na UF, a homologação não precisa ser interrompida e para fins de desenvolvimento pode-se utilizar o código CSC genérico da SEFAZ Amazonas! Para mais informações acesse: http://portalnfce.sefaz.am.gov.br/desenvolvedor/ambiente-de-homologacao-para-desenvolvedores/

15.2.3. Download

Você pode fazer o download do Fiscal Manager atualizado através do link: http://bematechpartners.com.br/wp01/?page_id=58

...

Com o processo de instalação concluído o próximo passo é a configuração do Fiscal Manager, na próxima tela apresentada você deverá configurar a senha de acesso ao Painel de controle da aplicação.


Anote a senha mestre exibida na tela pois é através dela em caso de perda da senha cadastrada que você poderá acessar novamente o Painel de Controle.


Também devem ser cadastrados o CNPJ e UF do contribuinte emissor de acordo com o que mostramos na tela abaixo:

...

O passo seguinte, é a importação do Certificado Digital, um dos pré-requisitos dos quais falamos anteriomente. Para isso, basta selecionar o arquivo “.pfx”, do certificado inserir a senha e clicar em “Importar Certificado”:


Com o certificado importado com sucesso os dados do mesmo serão apresentados na tela.


Figure 10. Certificado Digital (e-CNPJ).

...

Figure 11. Cadastro de CSC e ID do PDV.


É imprescindível que o ID do PDV seja inserido, pois ele tem papel fundamental no processo de Licenciamento Online da Plataforma Fiscal.


Na próxima tela é possível aplicar configurações de proxy caso a rede tenha esta necessidade:

...

Figure 13. Configuração de Impressora e Logotipo.


Logotipo da empresa: Deverá ser na extensão “.bmp” (imagem bitmap).

Impressão de notas: A impressora deverá estar previamente instalada no ambiente, de acordo com as orientações do fabricante. Ela também deverá estar ligada no momento da instalação.


Finalizadas as configurações o Fiscal Manager exibirá um resumo dos dados configurados e clicando em "Finalizar", a instalação será concluída conforme telas abaixo:

...

Clicando no botão "Avançar", a próxima tela indicará o modo de instalação do Fiscal Manager SAT.


Para usar o método de integração através da API selecione a opção "Fiscal Manager SAT- SINGLE"


Figure 17. Modo de instalação.

...

Figure 31. Importar/Exportar Configurações.


Nos casos onde será utilizada a APIOne não é necessário executar configurações do Virtual ECF, já que tais dados passam a ser enviados diretamente através da API.


Ainda sobre a área de configurações também é possível através dela a execução de backup do banco de dados e das notas em custódia, para tal basta seguir os passos apresentados abaixo:

...