ÍNDICE
Veja abaixo as informações para utilização da API Pedidos Online.

Servidor WEB:
| Homologação | POST: http://hchefweb.bematech.com.br/IntegracaoPedidosOnline/ |
|---|
| Produção | POST: http://chefweb.bematech.com.br/IntegracaoPedidosOnline/ |
|---|

Em ambiente intranet o parâmetro CodigoEstabelecimento não precisa ser informado nas chamadas dos serviços.
O serviço deve ser instalado no servidor de rede local em conjunto com o PDV do TOTVS Chef.
Method: POST
Resquest Format: JSON
Response Format: JSON
A API é dividida nos seguintes módulos:
API - Pedidos Online: Cadastro
API - Pedidos Online: Loja
API - Pedidos Online: Segurança
API - Pedidos Online: Delivery
API - Pedidos Online: Mesa
API - Pedidos Online: Cartão
API - Pedidos Online: Balcão
API - Pedidos Online: Pedido Venda
Abaixo a lista de integrações homologadas. Cada integração deve respeitar seu respectivo código para ser autorizado o acesso no ambiente de produção.
| Integração | Código |
| 2tips | 40 |
| Delivery direto | 25 |
| DNAshopper | 31 |
| Fast2Pay | 44 |
| Goomer | 9 |
| iFood | 2 |
| iPizza | 14 |
| iRestaurante | 10 |
| JaPaguei | 51 |
| Liuv | 49 |
| MyCheck | 7 |
| Neemo | 54 |
| O Forno Rio | 3 |
| Oca de Savoia | 52 |
| Onyo | 5 |
| PedidosJá | 8 |
| Reis dos Magos | 13 |
| Restaurante Web | 1 |
| SemParar | 50 |
| Softbr | 11 |
| SubDelivery | 4 |
| Via Rio | 12 |
| Você Comanda | 26 |
| VocêQPad | 6 |
| Wabiz | 41 |
O token é composto pelas informações abaixo e o resultado deve ser o Hash MD5 da string concatenada.
CodigoIntegracao | Chave | DataToken
| Chave: | Fornecida pela equipe TOTVS Chef, esta chave deve ser alterada periodicamente. |
|---|
| DataToken: | Data/Hora da geração do token no formato yyyyMMddHHmmsszzz. |
|---|
Ex:
CodigoIntegracao: 3
Chave: efdsaTY@!3
DataToken: 01/12/2015 10:22:14-02:00 (fuso horário -02:00) => 20151201102214-0200
Resultado: 3 | efdsaTY@!3 | 20151201102214-0200
MD5: f8dbda2a4b1c94bd5b27e28ed5bc1b12
No Header Authorization (Basic) deve ser informado DataToken (o mesmo valor da geração do token) como Username e o Hash MD5 como Password.
Ex:
DataToken: MD5 Token = 20151201102214-0200:f8dbda2a4b1c94bd5b27e28ed5bc1b12
O resultado deve ser convertido em Base64 e concatenado com o texto "Basic " no inicio.
Basic MjAxNTEyMDExMDIyMTQtMDIwMDpmOGRiZGEyYTRiMWM5NGJkNWIyN2UyOGVkNWJjMWIxMg=

Como enviar pedidos Cadastro via API PedidosOnline
O serviço de consultada de cardápio retorna a lista de produtos cadastrados e habilitados por estabelecimento, a separação por subgrupo deve ser interpretada a partir da relação de subgrupos informados nos produtos.
URL do Serviço:
| POST: http://{url_do_servidor}/CadastroService.svc/ObterCardapio |
|---|
Request
Este método pode ser consultado de dois modos:
1- Cardápio completo
Este modo retorna todos os produtos cadastrado no estabelecimento e habilitados para vendas.
{ parametros: { CodigoEstabelecimento: "96700001", CodigoIntegracao: 1, DataAtualizacao: null } } |
|---|
2- Cardápio parcial
Este modo retorna apenas os produtos que tiveram algum tipo de alteração no cadastro após a data informada no parâmetro DataAtualizacao. No exemplo abaixo o serviço retornará todos os produtos com data de alteração superior a 16/01/2015.
{ parametros: { CodigoEstabelecimento: "96700001", CodigoIntegracao: 1, DataAtualizacao: "/Date(1421373600000)/" } } |
|---|
Response
ExibirComoAdicional = true deve ser ocultado do cardápio e exibido apenas como opção de adicionais de algum produto vinculado ao mesmo.
O serviço retorna um JSON no formato abaixo:
{ ObterCardapioResult: { Erros: null, Produtos: [ { Codigo: "10011001", Descricao: "COCA COLA LT", PrecoVenda: 2.5, ExibirComoAdicional: false, PermitirVendaFracionada: false, ProdutosAdicionais: [], Subgrupo: "REFRIGERANTES" }, { Codigo: "10011002", Descricao: "FRANGO COM CATUPIRY", PrecoVenda: 35.65, ExibirComoAdicional: false, PermitirVendaFracionada: true, ProdutosAdicionais: [ "10011006", "10011007", "10011008" ], Subgrupo: "PIZZA" }, { Codigo: "10011003", Descricao: "PORTUGUESA", PrecoVenda: 40.98, ExibirComoAdicional: false, PermitirVendaFracionada: true, ProdutosAdicionais: [ "10011008", "10011006", "10011007" ], Subgrupo: "PIZZA" }, { Codigo: "10011004", Descricao: "QUATRO QUEIJOS", PrecoVenda: 50.14, ExibirComoAdicional: false, PermitirVendaFracionada: true, ProdutosAdicionais: [ "10011006", "10011007", "10011008" ], Subgrupo: "PIZZA" }, { Codigo: "10011005", Descricao: "COCA COLA 2L", PrecoVenda: 8.5, ExibirComoAdicional: false, PermitirVendaFracionada: false, ProdutosAdicionais: [], Subgrupo: "REFRIGERANTES" }, { Codigo: "10011006", Descricao: "BORDA CATUPIRY", PrecoVenda: 6.4, ExibirComoAdicional: true, PermitirVendaFracionada: false, ProdutosAdicionais: [], Subgrupo: "ADICIONAIS - BORDAS" }, { Codigo: "10011007", Descricao: "BORDA CHEDDAR", PrecoVenda: 8.9, ExibirComoAdicional: true, PermitirVendaFracionada: false, ProdutosAdicionais: [], Subgrupo: "ADICIONAIS - BORDAS" }, { Codigo: "10011008", Descricao: "BACON", PrecoVenda: 10.59, ExibirComoAdicional: true, PermitirVendaFracionada: false, ProdutosAdicionais: [], Subgrupo: "ADICIONAIS - RECHEIO" } ] } } |
|---|
O serviço de consultada de funcionários retorna a lista de funcionários cadastrados e habilitados por estabelecimento.
URL do Serviço POST: http://{url_do_servidor}/CadastroService.svc/ObterFuncionarios
Request
{ parametros: { CodigoEstabelecimento: "96700001PC90", CodigoIntegracao: 1 } } |
|---|
Response
O serviço retorna um JSON no formato abaixo:
{ ObterFuncionariosResult: { Erros: null, Funcionarios: [ { Codigo: 1, Nome: "LEANDRO" }, { Codigo: 4, Nome: "KATIANI" }, { Codigo: 3, Nome: "CRISTINA" }, { Codigo: 9999, Nome: "USUARIO MASTER" } ] } } |
|---|
Como enviar pedidos Loja via API PedidosOnline
Consulta Status do Pedido
Verifica se o servidor do estabelecimento está conectado e em perfeito (Online) funcionamento ou desligado (Offline).
URL do Serviço POST:
http://{url_do_servidor}/LojaService.svc/StatusEstabelecimento
Request
|
|---|
Response
O serviço retorna um JSON no formato abaixo:
1- Online
|
|---|
2- Offline
|
|---|
Verifica se o funcionário e senha são válidos e ativo.
URL do Serviço POST: http://{url_do_servidor}/SegurancaService.svc/AutenticarFuncionario
Request
{ parametros: { CodigoEstabelecimento: "96700001PC90", CodigoIntegracao: 1, Login: { Codigo: 1, Senha: "123" } } } |
|---|
Response
O serviço retorna um JSON no formato abaixo:
1- Válido
{ AutenticarFuncionarioResult: { Erros: null, Valido: true } } |
|---|
2- Inválido
{ AutenticarFuncionarioResult: { Erros: null, Valido: false } } |
|---|
Como enviar pedidos Delivery via API PedidosOnline
Consulta Status do Pedido
Verifica o status atual do pedido, os possíveis status de um pedido estão descritos na tabela abaixo.
| Status | Código |
|---|---|
NaoEncontrado | 0 |
Recepcionado | 1 |
Entregando | 2 |
Concluido | 3 |
Cancelado | 4 |
URL do Serviço POST:
http://{url_do_servidor}/DeliveryService.svc/StatusPedido
Request
|
|---|
Response
|
|---|
Response Cancelamento
|
|---|
URL do Serviço POST:
http://{url_do_servidor}/DeliveryService.svc/EnviarPedido
Request
Método de envio de pedido para os estabelecimentos.
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.
Pedido
CodigoExternoPedido: 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).
PagamentoOnline: indica que o recebimento é de responsabilidade do aplicativo integrado.
RetirarNaLoja: indica que o cliente irá retirar o produto no estabelecimento, sendo assim não pode ser cobrado taxa de entrega.
Cliente
Sexo: deve respeitar a tabela abaixo.
Sexo | Código |
Masculino | 0 |
Feminino | 1 |
TipoPessoa: deve respeitar a tabela abaixo.
Tipo | Código |
Física | 0 |
Jurídica | 1 |
CpfCnpj: deve conter apenas valores numéricos (sem máscara). Para TipoPessoa Física deve ser informado o CPF e para TipoPessoa Jurídica deve ser informado o CNPJ.
ObservacaoPedido: Apresenta observações gerais do Pedido quando necessário.
Itens
1- Tipos de Item
TipoItem: Indica se o item é individual (Normal) ou uma composição de frações de 2 ou mais produtos (Fracionado).
Deve respeitar a tabela abaixo
Tipo Item | Código |
Normal | 0 |
Fracionado | 1 |
Item normal não aceita Subitens no atributo ItensFracao, exemplo de item do tipo Normal:
|
|---|
Item fracionado deve conter 2 ou mais itens de composição de fração, exemplo de item do tipo Fracionado:
|
|---|
A soma das quantidades de todos ItensFracao deve formar 1 inteiro, sendo aceito apenas as frações 1/2 (0,5 + 0,5) 1/3 (0,333 + 0,333 + 0,334) ou 1/4 (0,25 + 0,25 + 0,25 + 0,25).
Um item do tipo fracionado pode ser cobrado pelo valor proporcional de cada fração ou pelo preço do produto de maior valor entre os itens da fração, esta configuração é individual de cada estabelecimento, exemplos:
Valor proporcional
Produto | Preço | Quantidade | Valor Total |
FRANGO COM CATUPIRY | 35,65 | 0,5 | 17,82 |
QUATRO QUEIJOS | 50,14 | 0,5 | 25,07 |
Total | 42,89 |
|
|---|
Valor proporcional produtos fracionados 1/3
Produto | Preço | Quantidade | Valor Total |
FRANGO COM CATUPIRY | 35,65 | 0,333 | 11,87 |
PORTUGUESA | 40,98 | 0,333 | 13,64 |
QUATRO QUEIJOS | 50,14 | 0,334 | 16,74 |
Total | 42,25 |
|
|---|
Neste caso o ValorTotal do Item deve ser a igual a soma do ValorTotal de todos ItensFracao.
Produto de maior valor
Produto | Preço | Quantidade | Valor Total |
FRANGO COM CATUPIRY | 35,65 | 0,5 | 17,82 |
QUATRO QUEIJOS | 50,14 | 0,5 | 25,07 |
Total | 50,14 |
|
|---|
Produto de maior valor fracionados 1/3
Produto | Preço | Quantidade | Valor Total |
FRANGO COM CATUPIRY | 35,65 | 0,333 | 11,87 |
PORTUGUESA | 40,98 | 0,333 | 13,64 |
QUATRO QUEIJOS | 50,14 | 0,334 | 16,74 |
Total | 50,14 |
|
|---|
Neste caso o ValorTotal do item é igual ao valor ao maior preço entre os ItensFracao, a soma dos totais dos itens da fração difere do valor total, mas com esta configuração o importante é o valor total do item apenas e não das frações.
2- Adicionais
Produtos adicionais são produtos que só devem ser vendidos associado a outro produto, um exemplo é Borda Recheada. Os adicionais devem respeitar o relacionamento retornado no serviço ObterCardapio, exemplo uma Borda Recheado não pode ser adicional de uma Coca-Cola. Exemplo de item com adicional:
|
|---|
O ValorTotal do item não deve conter o somatório dos adicionais.
3- Itens com quantidade fracionada
Apenas produtos com a configuração PermitirVendaFracionado habilitada aceitam quantidade com casas decimais(Q), demais produtos aceitam apenas quantidades inteiras(N).
4- Casas Decimais
A tabela abaixo indica a limitação de casa decimais de acordo com cada atributo
Campo | Decimais |
Quantidade | 3 |
Desconto | 2 |
Troco | 2 |
Forma de valor | 2 |
Valor Total Item | 2 |
Valor Total Pedido | 2 |
5- Truncamento
Quando o cálculo de ValorTotal do item tiver mais do que 2 casas decimais este resultado deve ser truncado em 2 casas conforme exemplo abaixo:
Produto | Preço | Quantidade | Valor Total | Valor Final |
Presunto Seara | 4,25 | 2,654 | 11,2795 | 11,27 |
Tipo: deve respeitar a tabela abaixo.
Forma de Pagamento | Código |
Dinheiro | 0 |
Cheque | 1 |
Cartão de Credito | 2 |
Cartão de Debito | 3 |
Ticket | 4 |
CodigoReferencia: informar o código de cartões/operada (ex: Visa Electron) da aplicação integrada, através deste código é feita correspondência com o cadastro de cartões/operadoras do TOTVS Chef.
Desconto: deve ser informado em Reais (R$) e não pode ser maior ou igual ao valor total do pedido. Não é aceito desconto e acréscimo por itens, apenas no totalizador do pedido.
Troco: Indica o valor em Reais (R$) de troco que deve ser devolvido ao cliente, quando existir valor de troco este valor deve ser informado na forma de pagamento, exemplo:
Pedido
Total Itens | 35,80 |
Taxa de Entrega | 10,00 |
Valor Total Pedido | 45,80 |
Pagamento em dinheiro com nota de R$ 50,00. Neste caso precisa informar o valor de troco:
Pagamento Dinheiro | 50,00 |
Troco | 4,20 |
|
|---|
Response
O serviço retorna um JSON no formato abaixo:
1- Sucesso
Sucesso = true indica que o pedido foi registrado corretamente.
PrevisaoEntrega: pode retornar valor nulo dependendo da configuração do estabelecimento, no exemplo abaixo a data de previsão de entrega é as 20/01/2015 13:18:12.
|
|---|
2- Erro
Sucesso = false indica que o pedido não foi registrado no sistema, no atributo Erros encontra a lista de motivos/problemas que ocorreram.
|
|---|
A tabela abaixo tem a relação completa de possíveis erros e validações que devem ser tratados pelo aplicado integrado.
Mensagem de erro |
Erro interno de processamento da requisição. |
Erro ao enviar pedido. |
Não foi possível estabelecer uma conexão com a loja. |
Pedido inválido. |
Código integração inválido. |
Código externo do pedido inválido. |
Duplicidade de pedido por código externo. |
Total do pedido difere do somatório dos itens. |
O pedido deve conter um cliente. |
Cliente sem CPF ou CPNJ ou Telefone. |
Cliente com nome inválido. |
Cliente sem endereço. |
Endereço do cliente com logradouro inválido. |
Endereço do cliente com município inválido. |
Endereço do cliente com UF inválida. |
Endereço do cliente com número inválido. |
Endereço do cliente com bairro inválido. |
O pedido deve conter no mínimo 1 item. |
Item inválido. |
Produto "{0}" com quantidade zero. |
O valor total do item "{0}" difere do cálculo do sistema. |
Produto "{0}" não permite fração. |
Produto "{0}" inválido. |
Produto "{0}" com preço desatualizado. |
Produto "{0}" sem preço de venda. |
O pedido deve conter no mínimo uma forma de pagamento. |
Formas de pagamento com valor inválido. |
Somatório das formas de pagamento difere do total do pedido. |
Erro ao salvar pedido no sistema. |
Cliente com CPF ou CPNJ inválido. |
Erro ao consultar status do pedido no sistema |
Erro ao consultar status do estabelecimento. |
O valor total do pedido deve ser igual ou superior a R$ 0,01. |
Pedido com retirada na loja e com taxa de entrega maior do que zero. |
Taxa de entrega com valor inválido. |
Quantidade do item é inválida para uma venda fracionada (1/2, 1/3 ou 1/4). |
A soma dos itens da venda fracionada deve completar 1 inteiro. |
O valor total do item fracionado deve ser igual ao preço do item de maior valor. |
Item fracionado deve conter no mínimo 2 frações (itens). |
O valor total do item deve ser truncado em 2 casas decimais. |
A quantidade do item deve conter no máximo 3 casas decimais. |
O valor total do item fracionado deve ser igual à soma dos valores das frações (itens). |
Item do tipo "normal" não aceita itens fração. |
Os itens da fração devem ser do tipo "normal". |
Os itens adicionais devem ser do tipo "normal". |
Produto "{0}" não é um adicional do produto "{1}". |
Como enviar pedidos Mesa via API PedidosOnline
URL do Serviço POST:
http://{url_do_servidor}/MesaService.svc/EnviarPedido
Request
Método de envio de pedido para os estabelecimentos.
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. Não é necessário informar em ambiente intranet
CodigoIntegracao: códigos inválidos ou inativados são rejeitados. Respeitar tabela de integração.
Os campos NumeroCadeira e NomeCliente são usados para informar o número da cadeira e o nome do cliente, nenhum desses campos é obrigatório, porém o NomeCliente só será gravado se NumeroCadeira maior do zero.
1- Tipos de Item
TipoItem: Indica se o item é individual (Normal) ou uma composição de frações de 2 ou mais produtos (Fracionado). Deve respeitar a tabela abaixo
Tipo Item | Código |
Normal | 0 |
Fracionado | 1 |
Item normal não aceita Subitens no atributo ItensFracao, exemplo de item do tipo Normal:
|
|---|
Item fracionado deve conter 2 ou mais itens de composição de fração, exemplo de item do tipo Fracionado:
|
|---|
A soma das quantidades de todos ItensFracao deve formar 1 inteiro, sendo aceito apenas as frações 1/2 (0,5 + 0,5) 1/3 (0,333 + 0,333 + 0,334) ou 1/4 (0,25 + 0,25 + 0,25 + 0,25).
Um item do tipo fracionado pode ser cobrado pelo valor proporcional de cada fração ou pelo preço do produto de maior valor entre os itens da fração, esta configuração é individual de cada estabelecimento, exemplos:
Valor proporcional
Produto | Preço | Quantidade | Valor Total |
FRANGO COM CATUPIRY | 35,65 | 0,5 | 17,82 |
QUATRO QUEIJOS | 50,14 | 0,5 | 25,07 |
Total | 42,89 |
|
|---|
Neste caso o ValorTotal do Item deve ser a igual a soma do ValorTotal de todos ItensFracao.
Produto de maior valor
Produto | Preço | Quantidade | Valor Total |
FRANGO COM CATUPIRY | 35,65 | 0,5 | 17,82 |
QUATRO QUEIJOS | 50,14 | 0,5 | 25,07 |
Total | 50,14 |
|
|---|
Neste caso o ValorTotal do item é igual ao valor ao maior preço entre os ItensFracao, a soma dos totais dos itens da fração difere do valor total, mas com esta configuração o importante é o valor total do item apenas e não das frações.
2- Código Externo
CodigoExterno: refere-se ao código do item no aplicativo integrado, este código é utilizado para rastreio do item e para validação de duplicidade de itens (Chave: CodigoIntegracao + CodigoEstabelecimento + CodigoExterno). Apenas itens de TipoItem = 0 deve possuir um código externo.
3- Adicionais
Produtos adicionais são produtos que só devem ser vendidos associado a outro produto, um exemplo é Borda Recheada. Os adicionais devem respeitar o relacionamento retornado no serviço ObterCardapio, exemplo uma Borda Recheado não pode ser adicional de uma Coca-Cola.
Exemplo de item com adicional:
|
|---|
O ValorTotal do item não deve conter o somatório dos adicionais.
4- Itens com quantidade fracionada
Apenas produtos com a configuração PermitirVendaFracionado habilitada aceitam quantidade com casas decimais(Q), demais produtos aceitam apenas quantidades inteiras(N).
5- Casas Decimais
A tabela abaixo indica a limitação de casa decimais de acordo com cada atributo
Campo | Decimais |
Quantidade | 3 |
Desconto | 2 |
Troco | 2 |
Forma de valor | 2 |
Valor Total Item | 2 |
Valor Total Pedido | 2 |
6- Truncamento
Quando o cálculo de ValorTotal do item tiver mais do que 2 casas decimais este resultado deve ser truncado em 2 casas conforme exemplo abaixo:
Produto | Preço | Quantidade | Valor Total | Valor Final |
Presunto Seara | 4,25 | 2,654 | 11,2795 | 11,27 |
|
|---|
Response
O serviço retorna um JSON no formato abaixo:
1- Sucesso
Sucesso = true indica que o pedido foi registrado corretamente.
|
|---|
2- Erro
Sucesso = false indica que o pedido não foi registrado no sistema, no atributo Erros encontra a lista de motivos/problemas que ocorreram.
|
|---|
A tabela abaixo tem a relação completa de possíveis erros e validações que devem ser tratados pelo aplicado integrado.,
Mensagem de erro |
Erro interno de processamento da requisição. |
Erro ao enviar pedido. |
Não foi possível estabelecer uma conexão com a loja. |
Pedido inválido. |
Código integração inválido. |
O pedido deve conter no mínimo 1 item. |
Item inválido. |
Produto "{0}" com quantidade zero. |
O valor total do item "{0}" difere do cálculo do sistema. |
Produto "{0}" não permite fração. |
Produto "{0}" inválido. |
Produto "{0}" com preço desatualizado. |
Produto "{0}" sem preço de venda. |
Erro ao salvar pedido no sistema. |
Erro ao consultar status do estabelecimento. |
O valor total do pedido deve ser igual ou superior a R$ 0,01. |
Quantidade do item é inválida para uma venda fracionada (1/2, 1/3 ou 1/4). |
A soma dos itens da venda fracionada deve completar 1 inteiro. |
O valor total do item fracionado deve ser igual ao preço do item de maior valor. |
Item fracionado deve conter no mínimo 2 frações (itens). |
O valor total do item deve ser truncado em 2 casas decimais. |
A quantidade do item deve conter no máximo 3 casas decimais. |
O valor total do item fracionado deve ser igual à soma dos valores das frações (itens). |
Item do tipo "normal" não aceita itens fração. |
Os itens da fração devem ser do tipo "normal". |
Os itens adicionais devem ser do tipo "normal". |
Produto "{0}" não é um adicional do produto "{1}". |
Quantidade do item "{0}" superior ao máximo permitido. |
Quantidade de adicionais do item "{0}" superior ao máximo permitido. |
Quantidade de adicionais do item "{0}" inferior ao mínimo permitido. |
Item do tipo fracionado não pode conter adicionais. |
Erro ao baixar estoque dos itens vendidos. |
Mesa em digitação em outro terminal. |
Erro ao imprimir pedidos na impressora de boqueta. |
Erro ao imprimir monitor |
Erro ao imprimir |
Erro ao consultar movimentação da mesa. |
Erro ao consultar mesas em aberto. |
Erro ao consultar transferências de itens. |
Erro ao consultar itens cancelados da mesa. |
Erro ao solicitar garçom. |
Número mesa invalido. |
Mesa fechada. |
Código externo {0} duplicado na lista de itens do pedido. |
Código externo do item inválido. |
Código externo {0} duplicado. |
URL do Serviço POST:
http://{url_do_servidor}/MesaService.svc/ConsultarMesasAbertas
Request
|
|---|
Response
|
|---|
StatusMesa retorna o status conforme tabela abaixo.
Status | Código |
Disponivel | 0 |
Aberta | 1 |
EmDigitacao | 2 |
Fechada | 3 |
Consultar Fase Mesas em Aberto
URL do Serviço POST:
http://{url_do_servidor}/MesaService.svc/ConsultarFaseMesasAbertas
Request
*Consultar disponibilidade por licença.
|
|---|
Response
|
|---|
Fase código indicativo da fase da mesa.
StatusMesa retorna o status conforme tabela abaixo.
Status | Código |
Disponivel | 0 |
Aberta | 1 |
EmDigitacao | 2 |
Fechada | 3 |
URL do Serviço POST:
http://{url_do_servidor}/MesaService.svc/ConsultarCupomMesa
Request
*Consultar disponibilidade por licença.
|
|---|
Response
} |
|---|
URL do Serviço POST:
http://{url_do_servidor}/MesaService.svc/ConsultarMovimentacaoMesa
Request
} |
|---|
Response
|
|---|
URL do Serviço POST:
http://{url_do_servidor}/MesaService.svc/ConsultarTransferenciasItens
Request
} |
|---|
Response
|
|---|
URL do Serviço POST:
http://{url_do_servidor}/MesaService.svc/ConsultarItensCanceladosMesa
Request
|
|---|
Response
|
|---|
URL do Serviço POST:
http://{url_do_servidor}/MesaService.svc/SolicitarGarcom
Request
|
|---|
Response
|
|---|
URL do Serviço POST:
http://{url_do_servidor}/MesaService.svc/FecharConta
Request
|
|---|
Response
O serviço retorna um JSON no formato abaixo:
1- Sucesso
|
|---|
2- Erro
|
|---|
A tabela abaixo tem a relação completa de possíveis erros e validações que devem ser tratados pelo aplicado integrado.
Mensagem de erro |
Erro interno de processamento da requisição. |
Número mesa invalido. |
Mesa sem movimentação. |
Mesa em digitação em outro terminal. |
Mesa fechada. |
Configure o G-ECF para utilizar esta função. |
G-ECF Inativo. |
Erro ao calcular taxa de serviço. |
O valor de desconto deve ser inferior ao total da conta. |
Erro ao fechar conta. |
Erro ao imprimir conta. |
URL do Serviço POST:
http://{url_do_servidor}/MesaService.svc/ConsultarMovimentacaoCadeiraMesa
Request
Método para consulta da Mesa agrupada pelas cadeiras e retornando todos os pagamentos feitos.
|
|---|
Response
O serviço retorna um JSON no formato abaixo:
|
|---|
Cadeiras Cadeiras com os seus itens da mesa, cade cadeira possui seu próprio totalizador.
StatusCadeira Estado em que a cadeira se encontra.
Status | Código |
Aberta | 0 |
RecebidoSemEmissaoCupom | 1 |
RecebidoComEmissaoCupom | 2 |
CadeiraPaga Campo que indica que foi ou não emitido o documento fiscal para essa cadeira.
FormasPagamentoCadeira Retorna todos os pagamentos realizado na mesa.
TipoTipo do pagamento realizado.
Status | Código |
Dinheiro | 0 |
Cheque | 1 |
CartaoDeCredito | 2 |
CartaoDeDebito | 3 |
Ticket | 4 |
ItensMesaSemVinculoCadeira Retorna todos os itens mesa que não estão vinculados a uma cadeira específica.
TotalGeral Total geral da mesa no momento da solicitação.
A tabela abaixo tem a relação completa de possíveis erros e validações que devem ser tratados pelo aplicado integrado.
Mensagem de erro |
Numero de mesa inválido. |
Erro ao consultar movimentação de cadeiras. |
URL do Serviço POST:
http://{url_do_servidor}/MesaService.svc/EfetuarPagamento
Request
Método para enviar o pagamento feito pelo aplicativo mobile, pode ser por cadeira ou geral. Se informar alguma cadeira, o sistema efetuará o pagamento da(s) cadeira(s) específica(s), senão, o sistema efetuará o pagamento de toda a mesa, exceto as cadeiras já pagas.
} |
|---|
Cadeiras Cadeiras que serão pagas nesse envio, pode ser informa n cadeiras se as mesma já estiverem sido lançadas.
FormasPagamentoCadeira Envia todas as formas de pagamento utilizadas para esse pagamento específico, exemplo: pagar em um cartão Mastercard e um Visa.
CodigoReferencia Código do cartão referente ao tipo de integração a ser realizada para que o sistema possa fazer a amarração com o cartão cadastrado.
Tipo Tipo do pagamento realizado
Status | Código |
Dinheiro | 0 |
Cheque | 1 |
CartaoDeCredito | 2 |
CartaoDeDebito | 3 |
Ticket | 4 |
Totais Total do pagamento.
RetirarServico Indica se no momento do pagamento, o cliente vai pagar a taxa de serviço.
Cpf CPF a ser incluído na Documento Fiscal ou programa de fidelidade.
IncluirCPFNaNota Indica se o cliente vai querer seu CPF Documento Fiscal.
PontosFidelidade Indica se o cliente que participar do programa de fidelidade da loja utilizando o cpf quando existir.
A tabela abaixo tem a relação completa de possíveis erros e validações que devem ser tratados pelo aplicado integrado.
Mensagem de erro |
Numero de mesa inválido. |
Erro ao enviar pagamento mesa cadeiras. |
Cadeira {0} já recebida. |
Taxa de Serviço informada é inválida. |
Desconto informado é inválido. |
Total dos produtos informado é diferente do total dos produtos das Cadeiras informadas. |
Total da Conta informada é inválida. |
Total da Conta informada é diferente do total da conta no sistema. |
Nenhum forma de pagamento foi informada. |
CPF não informado. |
CPF inválido. |
Existe mais de uma cadeira com o mesmo número informado. |
Total formas de pagamento é diferente do que o valor total das cadeiras. |
A cadeira informada está aguardando a emissão do cupom fiscal. |
Taxa de Serviço informado quando o pagamento está marcado para retirar a Taxa de Serviço. |
A cadeira informada já emitiu cupom fiscal. |
Mesa não possui itens sem vinculo com cadeiras para recebimento completo. |
Totais de pagamento inválido. |
Não existe licença de Fidelidade Web |
Não existe Fidelidade Web Configurado para esse Estabelecimento |
URL do Serviço POST:
http://{url_do_servidor}/MesaService.svc/TransferirItensCadeira
Request
Método para transferir itens entre as cadeiras.
|
|---|
ItensAdicionar Itens que serão adicionados na cadeira informada.
ItensRemover Itens que serão removidos da cadeira informada.
A tabela abaixo tem a relação completa de possíveis erros e validações que devem ser tratados pelo aplicado integrado.
Mensagem de erro |
Código Controle {0} não pertence à mesa. |
Produto {0} não possui quantidade disponível para realizar a movimentacao. |
A quantidade informada para o item {0} ultrapassa a quantidade máxima permitida. |
A quantidade informada para o item {0} ultrapassa a quantidade mínima permitida. |
Item código controle {0} duplicado. |
Item {0} com quantidade de transferência igual ou inferior a zero. |
A quantidade do item {0} diverge da quantidade salva no sistema. |
Response
O serviço retorna um JSON no formato abaixo:
|
|---|
URL do Serviço POST:
http://{url_do_servidor}/CartaoService.svc/EnviarPedido
Request
Método de envio de pedido para os estabelecimentos.
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. Não é necessário informar em ambiente intranet
CodigoIntegracao: códigos inválidos ou inativados são rejeitados. Respeitar tabela de integração.
1- Tipos de Item
TipoItem: Indica se o item é individual (Normal) ou uma composição de frações de 2 ou mais produtos (Fracionado). Deve respeitar a tabela abaixo
Tipo Item | Código |
Normal | 0 |
Fracionado | 1 |
Item normal não aceita Subitens no atributo ItensFracao, exemplo de item do tipo Normal:
|
|---|
Item fracionado deve conter 2 ou mais itens de composição de fração, exemplo de item do tipo Fracionado:
|
|---|
A soma das quantidades de todos ItensFracao deve formar 1 inteiro, sendo aceito apenas as frações 1/2 (0,5 + 0,5) 1/3 (0,333 + 0,333 + 0,334) ou 1/4 (0,25 + 0,25 + 0,25 + 0,25).
Um item do tipo fracionado pode ser cobrado pelo valor proporcional de cada fração ou pelo preço do produto de maior valor entre os itens da fração, esta configuração é individual de cada estabelecimento, exemplos:
Valor proporcional
Produto | Preço | Quantidade | Valor Total |
FRANGO COM CATUPIRY | 35,65 | 0,5 | 17,82 |
QUATRO QUEIJOS | 50,14 | 0,5 | 25,07 |
Total | 42,89 |
|
|---|
Neste caso o ValorTotal do Item deve ser a igual a soma do ValorTotal de todos ItensFracao.
Produto de maior valor
Produto | Preço | Quantidade | Valor Total |
FRANGO COM CATUPIRY | 35,65 | 0,5 | 17,82 |
QUATRO QUEIJOS | 50,14 | 0,5 | 25,07 |
Total | 50,14 |
|
|---|
Neste caso o ValorTotal do item é igual ao valor ao maior preço entre os ItensFracao, a soma dos totais dos itens da fração difere do valor total, mas com esta configuração o importante é o valor total do item apenas e não das frações.
2- Código Externo
CodigoExterno: refere-se ao código do item no aplicativo integrado, este código é utilizado para rastreio do item e para validação de duplicidade de itens (Chave: CodigoIntegracao + CodigoEstabelecimento + CodigoExterno). Apenas itens de TipoItem = 0 deve possuir um código externo.
3- Número mesa para entrega
NumeroMesaEntrega: indica a mesa aonde o pedido deve ser entrega, esta informação é obrigatória.
4- Adicionais
Produtos adicionais são produtos que só devem ser vendidos associado a outro produto, um exemplo é Borda Recheada. Os adicionais devem respeitar o relacionamento retornado no serviço ObterCardapio, exemplo uma Borda Recheado não pode ser adicional de uma Coca-Cola. Exemplo de item com adicional:
|
|---|
O ValorTotal do item não deve conter o somatório dos adicionais.
5- Itens com quantidade fracionada
Apenas produtos com a configuração PermitirVendaFracionado habilitada aceitam quantidade com casas decimais(Q), demais produtos aceitam apenas quantidades inteiras(N).
6- Casas Decimais
A tabela abaixo indica a limitação de casa decimais de acordo com cada atributo
Campo | Decimais |
Quantidade | 3 |
Desconto | 2 |
Troco | 2 |
Forma de valor | 2 |
Valor Total Item | 2 |
Valor Total Pedido | 2 |
7- Truncamento
Quando o cálculo de ValorTotal do item tiver mais do que 2 casas decimais este resultado deve ser truncado em 2 casas conforme exemplo abaixo:
Produto | Preço | Quantidade | Valor Total | Valor Final |
Presunto Seara | 4,25 | 2,654 | 11,2795 | 11,27 |
|
|---|
Response
O serviço retorna um JSON no formato abaixo:
1- Sucesso
Sucesso = true indica que o pedido foi registrado corretamente.
|
|---|
2- Erro
Sucesso = false indica que o pedido não foi registrado no sistema, no atributo Erros encontra a lista de motivos/problemas que ocorreram.
} |
|---|
A tabela abaixo tem a relação completa de possíveis erros e validações que devem ser tratados pelo aplicado integrado.
Mensagem de erro |
Erro interno de processamento da requisição. |
Erro ao enviar pedido. |
Não foi possível estabelecer uma conexão com a loja. |
Pedido inválido. |
Código integração inválido. |
O pedido deve conter no mínimo 1 item. |
Item inválido. |
Produto "{0}" com quantidade zero. |
O valor total do item "{0}" difere do cálculo do sistema. |
Produto "{0}" não permite fração. |
Produto "{0}" inválido. |
Produto "{0}" com preço desatualizado. |
Produto "{0}" sem preço de venda. |
Erro ao salvar pedido no sistema. |
Erro ao consultar status do estabelecimento. |
O valor total do pedido deve ser igual ou superior a R$ 0,01. |
Quantidade do item é inválida para uma venda fracionada (1/2, 1/3 ou 1/4). |
A soma dos itens da venda fracionada deve completar 1 inteiro. |
O valor total do item fracionado deve ser igual ao preço do item de maior valor. |
Item fracionado deve conter no mínimo 2 frações (itens). |
O valor total do item deve ser truncado em 2 casas decimais. |
A quantidade do item deve conter no máximo 3 casas decimais. |
O valor total do item fracionado deve ser igual à soma dos valores das frações (itens). |
Item do tipo "normal" não aceita itens fração. |
Os itens da fração devem ser do tipo "normal". |
Os itens adicionais devem ser do tipo "normal". |
Produto "{0}" não é um adicional do produto "{1}". |
Quantidade do item "{0}" superior ao máximo permitido. |
Quantidade de adicionais do item "{0}" superior ao máximo permitido. |
Quantidade de adicionais do item "{0}" inferior ao mínimo permitido. |
Item do tipo fracionado não pode conter adicionais. |
Erro ao baixar estoque dos itens vendidos. |
Mesa em digitação em outro terminal. |
Erro ao imprimir pedidos na impressora de boqueta. |
Erro ao imprimir monitor |
Erro ao imprimir |
Erro ao consultar movimentação da mesa. |
Erro ao consultar mesas em aberto. |
Erro ao consultar transferências de itens. |
Erro ao consultar itens cancelados da mesa. |
Erro ao solicitar garçom. |
Número mesa invalido. |
Mesa fechada. |
Código externo {0} duplicado na lista de itens do pedido. |
Código externo do item inválido. |
Código externo {0} duplicado. |
URL do Serviço POST:
http://{url_do_servidor}/CartaoService.svc/ConsultarCartoesAbertos
Request
|
|---|
Response
|
|---|
StatusCartao retorna o status conforme tabela abaixo.
Status | Código |
Disponivel | 0 |
Aberto | 1 |
EmDigitacao | 2 |
Fechado | 3 |
URL do Serviço POST:
http://{url_do_servidor}/CartaoService.svc/ConsultarMovimentacaoCartao
Request
|
|---|
Response
|
|---|
URL do Serviço POST:
http://{url_do_servidor}/CartaoService.svc/ConsultarTransferenciasItens
Request
|
|---|
Response
|
|---|
URL do Serviço POST:
http://{url_do_servidor}/CartaoService.svc/ConsultarItensCanceladosCartao
Request
|
|---|
Response
|
|---|
URL do Serviço POST:
http://{url_do_servidor}/CartaoService.svc/SolicitarGarcom
Request
|
|---|
Response
|
|---|
URL do Serviço POST:
http://{url_do_servidor}/CartaoService.svc/FecharConta
Request
|
|---|
Response
O serviço retorna um JSON no formato abaixo:
1- Sucesso
|
|---|
2- Erro
|
|---|
A tabela abaixo tem a relação completa de possíveis erros e validações que devem ser tratados pelo aplicado integrado.
Mensagem de erro |
Erro interno de processamento da requisição. |
Número mesa invalido. |
Mesa sem movimentação. |
Mesa em digitação em outro terminal. |
Mesa fechada. |
Configure o G-ECF para utilizar esta função. |
G-ECF Inativo. |
Erro ao calcular taxa de serviço. |
O valor de desconto deve ser inferior ao total da conta. |
Erro ao fechar conta. |
Erro ao imprimir conta. |
Como enviar pedidos Balcão via API PedidosOnline
Verifica o status atual do pedido, os possíveis status de um pedido estão descritos na tabela abaixo.
Status | Código |
NaoEncontrado | 0 |
Recepcionado | 1 |
Concluido | 2 |
URL do Serviço POST:
http://{url_do_servidor}/BalcaoService.svc/StatusPedido
Request
|
|---|
Response
|
|---|
URL do Serviço POST:
http://{url_do_servidor}/BalcaoService.svc/EnviarPedido
Request
Método de envio de pedido para os estabelecimentos.
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.
CodigoExternoPedido: 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).
TipoPessoa: deve respeitar a tabela abaixo.
Tipo | Código |
Física | 0 |
Jurídica | 1 |
CpfCnpj: deve conter apenas valores numéricos (sem máscara). Para TipoPessoa Física deve ser informado o CPF e para TipoPessoa Jurídica deve ser informado o CNPJ.
1- Tipos de Item
TipoItem: Indica se o item é individual (Normal) ou uma composição de frações de 2 ou mais produtos (Fracionado). Deve respeitar a tabela abaixo
Tipo Item | Código |
Normal | 0 |
Fracionado | 1 |
Item normal não aceita Subitens no atributo ItensFracao, exemplo de item do tipo Normal:
|
|---|
Item fracionado deve conter 2 ou mais itens de composição de fração, exemplo de item do tipo Fracionado:
|
|---|
A soma das quantidades de todos ItensFracao deve formar 1 inteiro, sendo aceito apenas as frações 1/2 (0,5 + 0,5) 1/3 (0,333 + 0,333 + 0,334) ou 1/4 (0,25 + 0,25 + 0,25 + 0,25).
Um item do tipo fracionado pode ser cobrado pelo valor proporcional de cada fração ou pelo preço do produto de maior valor entre os itens da fração, esta configuração é individual de cada estabelecimento, exemplos:
Valor proporcional
Produto | Preço | Quantidade | Valor Total |
FRANGO COM CATUPIRY | 35,65 | 0,5 | 17,82 |
QUATRO QUEIJOS | 50,14 | 0,5 | 25,07 |
Total | 42,89 |
|
|---|
Neste caso o ValorTotal do Item deve ser a igual a soma do ValorTotal de todos ItensFracao.
Produto de maior valor
Produto | Preço | Quantidade | Valor Total |
FRANGO COM CATUPIRY | 35,65 | 0,5 | 17,82 |
QUATRO QUEIJOS | 50,14 | 0,5 | 25,07 |
Total | 50,14 |
|
|---|
Neste caso o ValorTotal do item é igual ao valor ao maior preço entre os ItensFracao, a soma dos totais dos itens da fração difere do valor total, mas com esta configuração o importante é o valor total do item apenas e não das frações.
2- Adicionais
Produtos adicionais são produtos que só devem ser vendidos associado a outro produto, um exemplo é Borda Recheada. Os adicionais devem respeitar o relacionamento retornado no serviço ObterCardapio, exemplo uma Borda Recheado não pode ser adicional de uma Coca-Cola. Exemplo de item com adicional:
|
|---|
O ValorTotal do item não deve conter o somatório dos adicionais.
3- Itens com quantidade fracionada
Apenas produtos com a configuração PermitirVendaFracionado habilitada aceitam quantidade com casas decimais(Q), demais produtos aceitam apenas quantidades inteiras(N).
4- Casas Decimais
A tabela abaixo indica a limitação de casa decimais de acordo com cada atributo
Campo | Decimais |
Quantidade | 3 |
Desconto | 2 |
Troco | 2 |
Forma de valor | 2 |
Valor Total Item | 2 |
Valor Total Pedido | 2 |
5- Truncamento
Quando o cálculo de ValorTotal do item tiver mais do que 2 casas decimais este resultado deve ser truncado em 2 casas conforme exemplo abaixo:
Produto | Preço | Quantidade | Valor Total | Valor Final |
Presunto Seara | 4,25 | 2,654 | 11,2795 | 11,27 |
Tipo: deve respeitar a tabela abaixo.
Forma de Pagamento | Código |
Cartão de Credito | 2 |
Cartão de Debito | 3 |
CodigoReferencia: informar o código de cartões/operada (ex: Visa Electron) da aplicação integrada, através deste código é feita correspondência com o cadastro de cartões/operadoras do TOTVS Chef.
Desconto: deve ser informado em Reais (R$) e não pode ser maior ou igual ao valor total do pedido. Não é aceito desconto e acrescimo por itens, apenas no totalizador do pedido.
Troco: Indica o valor em Reais (R$) de troco que deve ser devolvido ao cliente, quando existir valor de troco este valor deve ser informado na forma de pagamento, exemplo:
Pedido
Total Itens | 35,80 |
Valor Total Pedido | 35,80 |
Pagamento em dinheiro com nota de R$ 35,80
Pagamento Cartao | 35,80 |
|
|---|
Response
O serviço retorna um JSON no formato abaixo:
1- Sucesso
Sucesso = true indica que o pedido foi registrado corretamente.
|
|---|
2- Erro
Sucesso = false indica que o pedido não foi registrado no sistema, no atributo Erros encontra a lista de motivos/problemas que ocorreram.
|
|---|
A tabela abaixo tem a relação completa de possíveis erros e validações que devem ser tratados pelo aplicado integrado.
Mensagem de erro |
Erro interno de processamento da requisição. |
Erro ao enviar pedido. |
Não foi possível estabelecer uma conexão com a loja. |
Pedido inválido. |
Código integração inválido. |
Código externo do pedido inválido. |
Duplicidade de pedido por código externo. |
Total do pedido difere do somatório dos itens. |
O pedido deve conter um cliente. |
Cliente sem CPF ou CPNJ. |
Cliente com nome inválido. |
O pedido deve conter no mínimo 1 item. |
Item inválido. |
Produto "{0}" com quantidade zero. |
O valor total do item "{0}" difere do cálculo do sistema. |
Produto "{0}" não permite fração. |
Produto "{0}" inválido. |
Produto "{0}" com preço desatualizado. |
Produto "{0}" sem preço de venda. |
O pedido deve conter no mínimo uma forma de pagamento. |
Formas de pagamento com valor inválido. |
Somatório das formas de pagamento difere do total do pedido. |
Erro ao salvar pedido no sistema. |
Cliente com CPF ou CPNJ inválido. |
Erro ao consultar status do pedido no sistema |
Erro ao consultar status do estabelecimento. |
O valor total do pedido deve ser igual ou superior a R$ 0,01. |
Quantidade do item é inválida para uma venda fracionada (1/2, 1/3 ou 1/4). |
A soma dos itens da venda fracionada deve completar 1 inteiro. |
O valor total do item fracionado deve ser igual ao preço do item de maior valor. |
Item fracionado deve conter no mínimo 2 frações (itens). |
O valor total do item deve ser truncado em 2 casas decimais. |
A quantidade do item deve conter no máximo 3 casas decimais. |
O valor total do item fracionado deve ser igual à soma dos valores das frações (itens). |
Item do tipo "normal" não aceita itens fração. |
Os itens da fração devem ser do tipo "normal". |
Os itens adicionais devem ser do tipo "normal". |
Produto "{0}" não é um adicional do produto "{1}". |
Forma de pagamento não permitido. |
Como enviar pedidos Pedido de Vendas via API PedidosOnline
Verifica o status atual do pedido, os possíveis status de um pedido estão descritos na tabela abaixo.
Status | Código |
NaoEncontrado | 0 |
Recepcionado | 1 |
Expedido | 2 |
Entregue | 3 |
Concluido | 4 |
Cancelado | 5 |
Entregue: é para quando o pedido faturado com RetirarNaLoja
URL do Serviço POST:
http://{url_do_servidor}/PedidoVendaService.svc/StatusPedido
Request
|
|---|
Response
|
|---|
Retorna a quantidade de produto disponivel no periodo desejado
URL do Serviço POST:
http://{url_do_servidor}/PedidoVendaService.svc/ConsultarProdutoDisponibilidadeEstoque
Request
|
|---|
Response
|
|---|
URL do Serviço POST:
http://{url_do_servidor}/PedidoVendaService.svc/EnviarPedido
Request
Método de envio de pedido para os estabelecimentos.
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.
CodigoExternoPedido: 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).
PagamentoOnline: indica que o recebimento é de responsabilidade do aplicativo integrado.
RetirarNaLoja: indica que o cliente irá retirar o produto no estabelecimento, sendo assim não precisando informar o EnderecoEntrega e também nao pode ser cobrado taxa de entrega.
Exemplo de retirada na loja ou entrega no endereço do cliente:
|
|---|
Exemplo de entrega no 2º endereço do cliente:
|
|---|
DataEntrega: data destinada para entrega no pedido ou retirada em loja
DataRetorno: data destinada para retorno dos itens do TipoOperacao Comodato(2) e ou Consignação(3)
Sexo: deve respeitar a tabela abaixo.
Sexo | Código |
Masculino | 0 |
Feminino | 1 |
TipoPessoa: deve respeitar a tabela abaixo.
Tipo | Código |
Física | 0 |
Jurídica | 1 |
CpfCnpj: deve conter apenas valores numéricos (sem máscara). Para TipoPessoa Física deve ser informado o CPF e para TipoPessoa Jurídica deve ser informado o CNPJ.
RgIE: deve conter apenas valores numéricos (sem máscara). Para TipoPessoa Física deve ser informado o RG e para TipoPessoa Jurídica deve ser informado o IE.
1- Tipo Operação
Tipo Operação | Código |
Venda | 1 |
Comodato | 2 |
Consignacao | 3 |
Bonificacao | 4 |
TipoOperacao: Cada item tem deve conter um tipo operação associado, segue exemplo abaixo
|
|---|
2- Tipos de Item
TipoItem: Indica se o item é individual (Normal)
3- Casas Decimais
A tabela abaixo indica a limitação de casa decimais de acordo com cada atributo
Campo | Decimais |
Quantidade | 3 |
Desconto | 2 |
Troco | 2 |
Forma de valor | 2 |
Valor Total Item | 2 |
Valor Total Pedido | 2 |
4- Truncamento
Quando o cálculo de ValorTotal do item tiver mais do que 2 casas decimais este resultado deve ser truncado em 2 casas conforme exemplo abaixo:
Produto | Preço | Quantidade | Valor Total | Valor Final |
Presunto Seara | 4,25 | 2,654 | 11,2795 | 11,27 |
Tipo: deve respeitar a tabela abaixo.
Forma de Pagamento | Código |
Dinheiro | 0 |
Cheque | 1 |
Cartão de Credito | 2 |
Cartão de Debito | 3 |
Ticket | 4 |
CodigoReferencia: informar o código de cartões/operada (ex: Visa Electron) da aplicação integrada, através deste código é feita correspondência com o cadastro de cartões/operadoras do TOTVS Chef.
Desconto: deve ser informado em Reais (R$) e não pode ser maior ou igual ao valor total do pedido. Não é aceito desconto e acréscimo por itens, apenas no totalizador do pedido.
Troco: Indica o valor em Reais (R$) de troco que deve ser devolvido ao cliente, quando existir valor de troco este valor deve ser informado na forma de pagamento, exemplo:
Pedido
Total Itens | 35,80 |
Taxa de Entrega | 10,00 |
Valor Total Pedido | 45,80 |
Pagamento em dinheiro com nota de R$ 50,00. Neste caso precisa informar o valor de troco:
Pagamento Dinheiro | 50,00 |
Troco | 4,20 |
|
|---|
Response
O serviço retorna um JSON no formato abaixo:
1- Sucesso
Sucesso = true indica que o pedido foi registrado corretamente.
|
|---|
2- Erro
Sucesso = false indica que o pedido não foi registrado no sistema, no atributo Erros encontra a lista de motivos/problemas que ocorreram
|
|---|
A tabela abaixo tem a relação completa de possíveis erros e validações que devem ser tratados pelo aplicado integrado.
Mensagem de erro |
Erro interno de processamento da requisição. |
Erro ao enviar pedido. |
Não foi possível estabelecer uma conexão com a loja. |
Pedido inválido. |
Código integração inválido. |
Código externo do pedido inválido. |
Duplicidade de pedido por código externo. |
Total do pedido difere do somatório dos itens. |
O pedido deve conter um cliente. |
Cliente sem CPF ou CPNJ ou Telefone. |
Cliente com nome inválido. |
Cliente sem endereço. |
Endereço do cliente com logradouro inválido. |
Endereço do cliente com município inválido. |
Endereço do cliente com UF inválida. |
Endereço do cliente com número inválido. |
Endereço do cliente com bairro inválido. |
O pedido deve conter no mínimo 1 item. |
Item inválido. |
Produto "{0}" com quantidade zero. |
O valor total do item "{0}" difere do cálculo do sistema. |
Produto "{0}" não permite fração. |
Produto "{0}" inválido. |
Produto "{0}" com preço desatualizado. |
Produto "{0}" sem preço de venda. |
O pedido deve conter no mínimo uma forma de pagamento. |
Formas de pagamento com valor inválido. |
Somatório das formas de pagamento difere do total do pedido. |
Erro ao salvar pedido no sistema. |
Cliente com CPF ou CPNJ inválido. |
Erro ao consultar status do pedido no sistema |
Erro ao consultar status do estabelecimento. |
O valor total do pedido deve ser igual ou superior a R$ 0,01. |
Pedido com retirada na loja e com taxa de entrega maior do que zero. |
Taxa de entrega com valor inválido. |
Quantidade do item é inválida para uma venda fracionada (1/2, 1/3 ou 1/4). |
A soma dos itens da venda fracionada deve completar 1 inteiro. |
O valor total do item fracionado deve ser igual ao preço do item de maior valor. |
Item fracionado deve conter no mínimo 2 frações (itens). |
O valor total do item deve ser truncado em 2 casas decimais. |
A quantidade do item deve conter no máximo 3 casas decimais. |
O valor total do item fracionado deve ser igual à soma dos valores das frações (itens). |
Item do tipo "normal" não aceita itens fração. |
Os itens da fração devem ser do tipo "normal". |
Os itens adicionais devem ser do tipo "normal". |
Produto "{0}" não é um adicional do produto "{1}". |
Cliente sem endereço de entrega. |
Data de Entrega invalida. |
Data de Retorno invalida. |
Data de Entrega {0} está menor que a Data Atual {1}. |
Data de Retorno {0} está menor que a Data Atual {1}. |
Data de Retorno {0} é menor que a data de Entrega {1}. |
Endereço de Entrega com logradouro inválido. |
Endereço de Entrega com município inválido. |
Endereço de Entrega com UF inválida. |
Endereço de Entrega com número inválido. |
Endereço de Entrega com bairro inválido. |
Este item {0} podera ser vendido apenas como Tipo Operacao {1}. |
Este item {0} não podera ser vendido como Tipo Operacao {1}. |
Endereço do cliente com CEP inválido. |
Endereço de Entrega com CEP inválido. |
<!-- esconder o menu -->
<style>
div.theme-default .ia-splitter #main {
margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
display: none;
}
#main {
padding-left: 10px;
padding-right: 10px;
overflow-x: hidden;
}
.aui-header-primary .aui-nav, .aui-page-panel {
margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
margin-left: 0px !important;
}
</style>
|