Prover a partir da Integração Pedidos Online/Intranet meio para finalização da venda com retorno dos dados fiscais e opcionalmente impressão no Caixa, para os modelos fiscais:
No cenário atual requer a instalação do executavel "Totvs.FoodService.FinalizarVenda.Api" na máquina com licença de "Caixa" para que a finalização ocorra.
Função disponivel a aprtir da versão TOTVS Food Service 2.28.09 ou superior.
Enviar o método para finalizar a venda no caixa.
URL do Serviço:
POST: http://{url_do_servidor}/FinalizaVendaService.svc/v2/FinalizarVenda |
---|
Request
CodigoEstabelecimento
: É o código do estabelecimento no cadastro do TOTVS Chef, este código deve ser vinculado ao cadastro de loja da aplicação integrada.
CodigoIntegracao
: códigos inválidos ou inativados são rejeitados. Respeitar tabela de integrações.
CodigoExterno
: refere-se ao código do pedido no aplicativo integrado, este código é utilizado para rastreio do pedido e para validação de duplicidade de pedido (Chave: CodigoIntegracao
+ CodigoEstabelecimento
+ CodigoExternoPedido
).Deverá ser informado apenas para finalziação em pedidos do "Balcão".
ImprimirDocumento:
Caso de TRUE será impresso o comprovante fiscal na impressora de Caixa.
TipoServico
: Deve respeitar a tabela abaixo.
Tipo | Código |
Balcão | 1 |
Cartão | 2 |
Mesa | 3 |
Request - Balcão
{ "parametros": { "FinalizaVenda": { "TipoServico": 1, "NumeroMesa": 0, "NumerosCadeiras": [], "CodigoExternoPedido": "16", "ImprimirDocumento": false, "EnviarEmail": false, "ExtratoResumido": false }, "CodigoEstabelecimento": "96700001PC1", "CodigoIntegracao": 99, "RequestID": null, "TipoServico": null } }
Request - Mesa com cadeira
{ "parametros": { "FinalizaVenda": { "TipoServico": 3, "NumeroMesa": 10, "NumerosCadeiras": [ 1 ], "CodigoExternoPedido": "", "ImprimirDocumento": false, "EnviarEmail": false, "ExtratoResumido": false }, "CodigoEstabelecimento": "96700001PC1", "CodigoIntegracao": 99, "RequestID": null, "TipoServico": null } }
{ "parametros": { "FinalizaVenda": { "TipoServico": 3, "NumeroMesa": 10, "NumerosCadeiras": [ 0 ], "CodigoExternoPedido": "", "ImprimirDocumento": false, "EnviarEmail": false, "ExtratoResumido": false }, "CodigoEstabelecimento": "96700001PC1", "CodigoIntegracao": 99, "RequestID": null, "TipoServico": null } }
Request - Cartão
{ "parametros": { "FinalizaVenda": { "TipoServico": 2, "NumeroMesa": 1, "NumerosCadeiras": [], "CodigoExternoPedido": "", "ImprimirDocumento": false, "EnviarEmail": false, "ExtratoResumido": false }, "CodigoEstabelecimento": "96700001PC1", "CodigoIntegracao": 99, "RequestID": null, "TipoServico": null } }
Response
{ "FinalizarVendaResult": { "Erros": null, "ReturnApi": "{\"success\":true,\"data\":{\"aggregateId\":\"1ee40f0c-7dbf-4da0-8394-54fd20974407\",\"messageType\":\"Protocolo registrado com sucesso!\",\"timestamp\":\"2021-02-01T16:45:29.6953519-03:00\",\"hostName\":\"http://192.168.15.11:5013\",\"periodoAbertura\":2,\"dataHoraAbertura\":\"2021-02-01T15:19:01\",\"tipoServico\":1,\"numeroMesa\":0,\"numerosCadeiras\":[],\"codigoExternoPedido\":\"16\",\"imprimirDocumento\":false,\"enviarEmail\":false,\"extratoResumido\":false,\"finalizaMesaInteira\":true,\"modeloFiscal\":\"NFC-e\",\"porta\":5013,\"numeroCupom\":62677}}", "Sucesso": true } }
Este método fará a recepção dos dados conforme o contrato definido contendo informações básicas que permitam identificar chaves da venda em questão e tenha como retorno possível as informações fiscais da finalização da venda ou estrutura de erro
URL do Serviço:
POST: http://{url_do_servidor}/FinalizaVendaService.svc/v2/ConsultarStatusFinalizacaoVenda |
---|
Request
HostName
: Este valor é retornado na responde do "FinalizarVenda" campo "hostName'
AggregateId
: Este valor é retornado na responde do "FinalizarVenda" campo "aggregateId'
{ "parametros": { "ConsultaStatusFinalizacaoVenda": { "HostName": "http://192.168.15.11:5013", "AggregateId": "62D36186-D4C3-48F6-A794-0762EDA1061B" }, "CodigoEstabelecimento": "96700001PC1", "CodigoIntegracao": 99, "RequestID": null, "TipoServico": null } }
Response - (NFCe)
Sucesso
Será retornado o XML da venda,conforme o exemplo abaixo:
{ "success": true, "data": { "qrCode": "http://homnfce.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp?p=13210282373077000171652270000080031046928199|2|2|1|A54629A46F6E062AB8C6A590FC0F7D9FF0FB0A7F", "codigoDeBarras": "http://www.sefaz.am.gov.br/nfce/consulta/13210282373077000171652270000080031046928199", "numeroCupom": 62682, "success": true, "statusFinalizarVenda": { "chaveVenda": "62d36186-d4c3-48f6-a794-0762eda1061b", "codigoExterno": "52", "numeroMesa": 0, "numeroNota": 0, "numeroCaixa": 0, "statusFinalizacaoVenda": 100, "hostName": "http://192.168.15.11:5013", "xmlVenda": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><nfeProc versao=\"4.00\" xmlns=\"http://www.portalfiscal.inf.br/nfe\" ><NFe><infNFe versao=\"4.00\" Id=\"NFe13210282373077000171652270000080031046928199\"><ide><cUF>13</cUF><cNF>04692819</cNF><natOp>VENDA</natOp><mod>65</mod><serie>227</serie><nNF>8003</nNF><dhEmi>2021-02-01T16:45:14-03:00</dhEmi><tpNF>1</tpNF><idDest>1</idDest><cMunFG>1300029</cMunFG><tpImp>4</tpImp><tpEmis>1</tpEmis><cDV>9</cDV><tpAmb>2</tpAmb><finNFe>1</finNFe><indFinal>1</indFinal><indPres>1</indPres><procEmi>0</procEmi><verProc>02.28.12</verProc></ide><emit><CNPJ>82373077000171</CNPJ><xNome>PRODUTO LTDA</xNome><xFant>TOTVS CHEF PRODUTO - ALEXANDRE</xFant><enderEmit><xLgr>CENTRO NOVE DE JULHO</xLgr><nro>100</nro><xBairro>TESTE</xBairro><cMun>1300029</cMun><xMun>ALVARAES</xMun><UF>AM</UF><CEP>05310000</CEP><cPais>1058</cPais><xPais>BRASIL</xPais><fone>11111111111</fone></enderEmit><IE>999999990</IE><CRT>1</CRT></emit><dest><CPF>08291225249</CPF><xNome>NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xNome><indIEDest>9</indIEDest></dest><det nItem=\"1\"><prod><cProd>001</cProd><cEAN>SEM GTIN</cEAN><xProd>NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xProd><NCM>22011000</NCM><CFOP>5102</CFOP><uCom>KG</uCom><qCom>1.0000</qCom><vUnCom>49.9000</vUnCom><vProd>49.90</vProd><cEANTrib>SEM GTIN</cEANTrib><uTrib>KG</uTrib><qTrib>1.0000</qTrib><vUnTrib>49.9000</vUnTrib><indTot>1</indTot></prod><imposto><vTotTrib>7.50</vTotTrib><ICMS><ICMSSN102><orig>0</orig><CSOSN>400</CSOSN></ICMSSN102></ICMS></imposto></det><total><ICMSTot><vBC>0.00</vBC><vICMS>0.00</vICMS><vICMSDeson>0.00</vICMSDeson><vFCP>0.00</vFCP><vBCST>0.00</vBCST><vST>0.00</vST><vFCPST>0.00</vFCPST><vFCPSTRet>0.00</vFCPSTRet><vProd>49.90</vProd><vFrete>0.00</vFrete><vSeg>0.00</vSeg><vDesc>0.00</vDesc><vII>0.00</vII><vIPI>0.00</vIPI><vIPIDevol>0.00</vIPIDevol><vPIS>0.00</vPIS><vCOFINS>0.00</vCOFINS><vOutro>0.00</vOutro><vNF>49.90</vNF><vTotTrib>7.50</vTotTrib></ICMSTot></total><transp><modFrete>9</modFrete></transp><pag><detPag><indPag>0</indPag><tPag>03</tPag><vPag>49.90</vPag><card><tpIntegra>2</tpIntegra></card></detPag><vTroco>0.00</vTroco></pag><infAdic><infCpl>Pedido: 62682 TOTVS CHEF 11 3003-2111 Aplicativo: TOTVS Chef 02.28.12 Serie: 96700001 Valor aproximado dos tributos deste cupom: Federal: R$ 4.01 Estadual: R$ 3.49 Municipal: R$ 0.00 Fonte IBPT/empresometro.com.br SP 5DC0AE</infCpl><obsCont xCampo=\"Series\"><xTexto>MjI3MDAwMDA4MDAzMjI3MDAwMDA4MDAz</xTexto></obsCont></infAdic><infRespTec><CNPJ>82373077000171</CNPJ><xContato>Renato Alves</xContato><email>[email protected]</email><fone>1120997271</fone></infRespTec></infNFe><infNFeSupl><qrCode><![CDATA[http://homnfce.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp?p=13210282373077000171652270000080031046928199|2|2|1|A54629A46F6E062AB8C6A590FC0F7D9FF0FB0A7F]]></qrCode><urlChave>http://www.sefaz.am.gov.br/nfce/consulta</urlChave></infNFeSupl><Signature xmlns=\"http://www.w3.org/2000/09/xmldsig#\"><SignedInfo><CanonicalizationMethod Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/><SignatureMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/><Reference URI=\"#NFe13210282373077000171652270000080031046928199\"><Transforms><Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/><Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/></Transforms><DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/><DigestValue>x6llhQHrF6xMZB+4Tlor1mcoCpg=</DigestValue></Reference></SignedInfo><SignatureValue>Wu76JezbM+K9F4Dfgb2etGu5+2LKpH8wX0DKMF6JyAbShF7c4TibMeyZvrHDyx2NS8jL78suRRmE49hxvXW3lFkWNT5J3e+RZXDMY67p+HV2KS0AInWa0UpnT5JrCi3z+Ud7QBKjAXlpjTQXGKUb0etlSzvR5/YFcMUHq5YUUKsmmjz+f8gXtmBAe9eIUO8FaKq4dARosal+Wfqerh5K/AbDBhBBJoESEnW85spy7GBXPoAGotli8aoZoOgLMksMU3Wf31SE5x+KwoDKSPp3Z4uBA+hyHVEKqZxzPC0uzYDBP699jRcC8fcUEt3Up6XILdIbFeEqPWxs3E8vB96+oQ==</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature></NFe><protNFe versao=\"4.00\"><infProt><tpAmb>2</tpAmb><verAplic>AM3.10-4.00</verAplic><chNFe>13210282373077000171652270000080031046928199</chNFe><dhRecbto>2021-02-01T16:45:18-03:00</dhRecbto><nProt>113210009140259</nProt><digVal>x6llhQHrF6xMZB+4Tlor1mcoCpg=</digVal><cStat>100</cStat><xMotivo>Autorizado o uso da NF-e [Exija sempre a nota. Sao varios premios DIARIOS. Voce podera ser premiado na proxima!]</xMotivo></infProt></protNFe></nfeProc>", "formularioVenda": 0, "dataAtualizacao": "2021-02-01T16:45:13.037", "chaveDocumentoFiscal": "13210282373077000171652270000080031046928199", "qrCode": "http://homnfce.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp?p=13210282373077000171652270000080031046928199|2|2|1|A54629A46F6E062AB8C6A590FC0F7D9FF0FB0A7F", "numeroCupom": 62682, "codigoBarras": "http://www.sefaz.am.gov.br/nfce/consulta/13210282373077000171652270000080031046928199", "guidVendaMovimentacao": "00000000-0000-0000-0000-000000000000" }, "aggregateId": "62d36186-d4c3-48f6-a794-0762eda1061b", "messageType": "RegistrarConsultarStatusVendaCommand", "timestamp": "2021-02-01T16:58:53.6639442-03:00" } }
StatusFinalizacaoVenda
: Segue o status conforme a tabela abaixo:
Tipo | Código |
Iniciar | 1 |
ValidarInicial | 2 |
IniciarEmissaoNota | 3 |
FinalizarEmitirNota | 4 |
GravarTabelas | 5 |
ApagarTabelas | 6 |
Erro | 7 |
PopulandoDTO | 8 |
AtualizadoDadosAposEmissaoDocumentoFiscal | 9 |
ReprocessarGravacao | 10 |
Finalizado | 100 |
None | 0 |
Erro
{ "ConsultarStatusFinalizacaoVendaResult": { "Erros": [ " Erro ao processar a requisição: {\"success\":false,\"errors\":[{\"code\":500,\"description\":\"Falha na comunicação com fiscal manager\\r\\nErro ao avaliar retorno da emissão da nota, código de retorno não previsto.\\r\\n\\r\\nNota: 8006, Série: 227, Código:500\",\"category\":5,\"type\":0}]}" ], "ReturnApi": null, "Sucesso": false } }
Este método fará a recepção dos dados conforme contrato definido contendo informações básicas que permitam identificar chaves da venda em questão e tenha como retorno possível as informações fiscais do cancelamento ou estrutura de erro.
URL do Serviço:
POST: http://{url_do_servidor}/FinalizaVendaService.svc/v2/CancelarVenda |
---|
Request
HostName
: Este valor é retornado na responde do "FinalizarVenda" campo "hostName'.
AggregateId
: Este valor é retornado na responde do "FinalizarVenda" campo "aggregateId'.
CodigoCancelamento:
Deve se informar o código do motivo do cancelamento.
MotivoCancelamento:
Deve se informar o motivo do cancelamento.
ImprimirCancelamentoPontoProducao:
Caso de TRUE ao confirmar o cancelamento, será impresso nos pontos de produção o cancelamento dos produtos.
{ "parametros": { "CancelaVenda": { "HostName": "http://192.168.15.11:5013", "AggregateId": "62D36186-D4C3-48F6-A794-0762EDA1061B", "CodigoCancelamento": 1, "MotivoCancelamento": "CANCELAMENTO VENDA", "ImprimirCancelamentoPontoProducao": true }, "CodigoEstabelecimento": "96700001PC1", "CodigoIntegracao": 99, "RequestID": null, "TipoServico": null } }
Response - (NFCe)
Sucesso
{ "CancelarVendaResult": { "Erros": null, "ReturnApi": "{\"success\":true,\"data\":{\"motivoCancelamento\":\"CANCELAMENTO VENDA\",\"aggregateId\":\"62d36186-d4c3-48f6-a794-0762eda1061b\",\"messageType\":\"RegistrarCancelarVendaCommand\",\"timestamp\":\"2021-02-01T17:13:23.1266682-03:00\"}}", "Sucesso": true } }
Erro
{ "CancelarVendaResult": { "Erros": [ " Erro ao processar a requisição: {\"success\":false,\"errors\":[{\"description\":\"Código: 500 Descrição: Falha na comunicação com fiscal manager\",\"category\":2,\"type\":0}]}" ], "ReturnApi": null, "Sucesso": false } }