Dica |
---|
Implementada a funcionalidade de Integração via Pedidos Online/ Intranet no sistema TOTVS Food Service PDV, possibilitando a integração com parceiros de Vendas nos módulos (Mesa, Cartão, Balcão, Delivery e Pedido de Venda). |
Configurações gerais
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. |
Card documentos | ||||
---|---|---|---|---|
|
Button Texto Outras integrações do PDV Link http://tdn.totvs.com/pages/viewpage.action?pageId=455806087
Button Texto Outras integrações do PDV Link http://tdn.totvs.com/pages/viewpage.action?pageId=458775104
Templatedocumentos |
---|
HTML |
---|
<!-- 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> |