ÍNDICE
Índice maxLevel 10 minLevel 2 exclude ÍNDICE style circle
Permite enviar pedidos de Delivery via API PedidosOnline
Aviso | ||
---|---|---|
| ||
A forma de pagamento PIX está disponível a partir da versão 3.2406.0001 do PDV |
Metodo para enviar pedido para a lojaVerifica o status atual do pedido, os possíveis status de um pedido estão descritos na tabela abaixo.
URL do Serviço:
POST: http://{url_do_servidor}/DeliveryService.svc/ |
---|
EnviarPedido |
---|
Request:
Bloco de código | ||
---|---|---|
| ||
{
"parametros": {
"CodigoEstabelecimento": "96700001PC1",
"CodigoIntegracao": 99,
"CodigoExterniPedido": "1212894167"
}
} |
Response:
Bloco de código | ||
---|---|---|
| ||
{
"StatusPedidoResult": {
"Erros": [],
"CodigoCancelamento": null,
"CodigoEntregador": null,
"DataHoraConcluido": null,
"DataHoraEntrega": null,
"DescricaoCancelamento": null,
"NomeEntregador": null,
"Status": 1
}
} |
Response Cancelamento:
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
: É o código de liberação para a integração. 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:
Bloco de código | ||
---|---|---|
| ||
Bloco de código | ||
| ||
{ "StatusPedidoResultItens": [ { "ErrosTipoItem": []0, "CodigoCancelamentoProduto": 1,{ "CodigoEntregadorCodigo": null"5", "DataHoraConcluidoDescricao": null"COCA COLA", "DataHoraEntregaPrecoVenda": null5.0, "DescricaoCancelamentoPrecoOriginal": "BAIXA DO PEDIDO"0, "PrecoPromocional": 0, "Pesavel": true, "Processado": false, "NomeEntregadorProdutoComposto": nullfalse, "StatusBaixarEstoqueOnline": 4false, } } |
Através do "Status" consegue obter o status do pedido na loja:
...
NaoEncontrado
...
0
...
Recepcionado
...
1
...
Entregando
...
2
...
Concluido
...
3
...
Cancelado
...
4
Metodo para enviar pedido para a loja.
URL do Serviço:
...
"QuantidadeEstoque": 0,
"Composicoes": null
},
"Quantidade": 1,
"Acrescimo": 0,
"Desconto": 0,
"MotivoAcrescimoDesconto": null,
"AcrescimoDiferencaFracionada": 0,
"Observacao": "",
"ItensFracao": null,
"ItensAdicionais": [],
"ValorTotal": 5,
"ValorDescontoItem": 0,
"ValorServicoItem": 0,
"ValorDescontoComboItem": 0,
"ValorAcrescimoItem": 0,
"TipoOperacao": 0
}
]
} |
Produtos adicionais são produtos que só devem ser vendidos associado a outro produto, um exemplo é a "Coca Cola". Os adicionais devem respeitar o relacionamento retornado no serviço "ObterCardapio". Exemplo de item com adicional:
Bloco de código | ||
---|---|---|
| ||
{{
"Itens": [
{
"TipoItem": 0,
" |
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
: É o código de liberação para a integração. 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:
Bloco de código | ||
---|---|---|
| ||
{ "Itens": [ { "TipoItem": 0, "Produto": { "Codigo": "561", "Descricao": "COCAESFIHA DE COLACARNE", "PrecoVenda": 52.0, "PrecoOriginal": 0, "PrecoPromocional": 0, "Pesavel": truefalse, "Processado": false, "ProdutoComposto": false, "BaixarEstoqueOnline": false, "QuantidadeEstoque": 0, "Composicoes": null }, "Quantidade": 110, "Acrescimo": 0, "Desconto": 0, "MotivoAcrescimoDesconto": null, "AcrescimoDiferencaFracionada": 0, "Observacao": "", "ItensFracao": null, "ItensAdicionais": [], "ValorTotal": 5,{ "ValorDescontoItemTipoItem": 0, "ValorServicoItemProduto": 0,{ "ValorDescontoComboItemCodigo": 0"5", "ValorAcrescimoItemDescricao": "COCA 0COLA", "TipoOperacaoPrecoVenda": 5.0, } ] } |
Produtos adicionais são produtos que só devem ser vendidos associado a outro produto, um exemplo é a "Coca Cola". Os adicionais devem respeitar o relacionamento retornado no serviço "ObterCardapio". Exemplo de item com adicional:
Bloco de código | ||
---|---|---|
| ||
{{ "Itens": [ { "PrecoOriginal": 0, "TipoItemPrecoPromocional": 0, "ProdutoPesavel": {true, "CodigoProcessado": "61"false, "DescricaoProdutoComposto": "ESFIHA DE CARNE"false, "PrecoVendaBaixarEstoqueOnline": 2.0false, "PrecoOriginalQuantidadeEstoque": 0, "PrecoPromocionalComposicoes": 0null }, "PesavelQuantidade": false1, "ProcessadoAcrescimo": false0, "ProdutoCompostoDesconto": false0, "BaixarEstoqueOnlineMotivoAcrescimoDesconto": falsenull, "QuantidadeEstoqueAcrescimoDiferencaFracionada": 0, "ComposicoesObservacao": null, }, "QuantidadeItensFracao": 10null, "AcrescimoItensAdicionais": 0null, "DescontoValorTotal": 05, "MotivoAcrescimoDescontoValorDescontoItem": null0, "AcrescimoDiferencaFracionadaValorServicoItem": 0, "ObservacaoValorDescontoComboItem": ""0, "ItensFracao": null, "ItensAdicionaisValorAcrescimoItem": [0, { "TipoItemTipoOperacao": 0, "Produto": {} "Codigo": "5"], "DescricaoValorTotal": "COCA COLA"20, "PrecoVendaValorDescontoItem": 5.0, "PrecoOriginalValorServicoItem": 0, "PrecoPromocionalValorDescontoComboItem": 0, "PesavelValorAcrescimoItem": true0, "ProcessadoTipoOperacao": false,0 } ] } |
O ValorTotal do item não deve conter o somatório dos adicionais.
Item fracionado deve conter 2 ou mais itens de composição de fração, exemplo de item do tipo Fracionado:
Bloco de código | ||
---|---|---|
| ||
{ "Itens": [ { "CodigoExterno": null, "TipoItem": 1 "ProdutoComposto": false, "BaixarEstoqueOnline": false, "QuantidadeEstoque": 0, "ComposicoesProduto": null }, "Quantidade": 10, "Acrescimo": 0, "Desconto": 0, "MotivoAcrescimoDesconto": null, "AcrescimoDiferencaFracionada": 0, "Observacao": null, "ItensFracao": null,[ { "ItensAdicionaisCodigoExterno": null"54077055", "ValorTotalTipoItem": 50, "ValorDescontoItemProduto": 0,{ "ValorServicoItemCodigo": 0"13", "ValorDescontoComboItemDescricao": 0"A MODA DA CASA", "ValorAcrescimoItemPrecoVenda": 54.0, "TipoOperacaoPrecoOriginal": 0, }"PrecoPromocional": 0, ], "ValorTotalPesavel": 20true, "ValorDescontoItemProcessado": 0false, "ValorServicoItemProdutoComposto": 0false, "ValorDescontoComboItemBaixarEstoqueOnline": 0false, "ValorAcrescimoItemQuantidadeEstoque": 0, "TipoOperacaoComposicoes": 0null } ] } |
O ValorTotal do item não deve conter o somatório dos adicionais.
Item fracionado deve conter 2 ou mais itens de composição de fração, exemplo de item do tipo Fracionado:
Bloco de código | ||
---|---|---|
| ||
{ "ItensFracao": [, "Quantidade": 0.5, {"Acrescimo": 0, "TipoItemDesconto": 0, "ProdutoMotivoAcrescimoDesconto": {null, "CodigoAcrescimoDiferencaFracionada": "13"0, "DescricaoObservacao": "A MODA DA CASA", "PrecoVenda""ItensFracao": 54.0null, "PrecoOriginalItensAdicionais": 0[], "PrecoPromocionalValorTotal": 027, "PesavelValorDescontoItem": true0, "ProcessadoValorServicoItem": false0, "ProdutoCompostoValorDescontoComboItem": false0, "BaixarEstoqueOnlineValorAcrescimoItem": false0, "QuantidadeEstoqueTipoOperacao": 0, "Composicoes": null}, },{ "QuantidadeCodigoExterno": 0.5"468713429", "AcrescimoTipoItem": 0, "DescontoProduto": 0,{ "MotivoAcrescimoDescontoCodigo": null"14", "AcrescimoDiferencaFracionadaDescricao": 0"MODA LIGHT", "ObservacaoPrecoVenda": ""78.0, "ItensFracaoPrecoOriginal": null0, "ItensAdicionaisPrecoPromocional": []0, "ValorTotalPesavel": 27true, "ValorDescontoItemProcessado": 0false, "ValorServicoItemProdutoComposto": 0false, "ValorDescontoComboItemBaixarEstoqueOnline": 0false, "ValorAcrescimoItemQuantidadeEstoque": 0, "TipoOperacaoComposicoes": 0null }, { "TipoItemQuantidade": 0.5, "ProdutoAcrescimo": {0, "CodigoDesconto": "14"0, "DescricaoMotivoAcrescimoDesconto": "MODA LIGHT"null, "PrecoVendaAcrescimoDiferencaFracionada": 78.0, "Observacao": "", "PrecoOriginalItensFracao": 0null, "PrecoPromocionalItensAdicionais": 0[], "PesavelValorTotal": true39, "ProcessadoValorDescontoItem": false0, "ProdutoCompostoValorServicoItem": false0, "BaixarEstoqueOnlineValorDescontoComboItem": false0, "QuantidadeEstoqueValorAcrescimoItem": 0, "ComposicoesTipoOperacao": null0 } }], "QuantidadeItensAdicionais": 0.5null, "AcrescimoValorTotal": 066, "DescontoValorDescontoItem": 0, "MotivoAcrescimoDescontoValorServicoItem": null0, "AcrescimoDiferencaFracionadaValorDescontoComboItem": 0, "Observacao"ValorAcrescimoItem": ""0, "ItensFracaoTipoOperacao": null,0 "ItensAdicionais": [], "ValorTotal": 39, "ValorDescontoItem": 0, "ValorServicoItem": 0, "ValorDescontoComboItem": 0, "ValorAcrescimoItem": 0, "TipoOperacao": 0 } ], }} ] } |
Aviso | ||
---|---|---|
| ||
A soma das quantidades de todos | ||
Aviso | ||
| ||
A soma das quantidades de todos |
...
Produto | Preço | Quantidade | Valor Total |
A MODA DA CASA | 54,00 | 0,5 | R$ 27,00 |
MODA LIGHT | 78,00 | 0,5 | R$ 39,00 |
Total | R$ 66,00 |
Bloco de código | ||
---|---|---|
| ||
{ "Itens": [ { "TipoItem": 1, "Produto": null, "Quantidade": 0, "Acrescimo": 0, "Desconto": 0, "MotivoAcrescimoDesconto": null, "AcrescimoDiferencaFracionada": 0, "Observacao": null, "ItensFracao": [ { "TipoItem": 0, "Produto": { "Codigo": "13", "Descricao": "A MODA DA CASA", "PrecoVenda": 54.0, "PrecoOriginal": 0, "PrecoPromocional": 0, "Pesavel": true, "Processado": false, "ProdutoComposto": false, "BaixarEstoqueOnline": false, "QuantidadeEstoque": 0, "Composicoes": null }, "Quantidade": 0.5, "Acrescimo": 0, "Desconto": 0, "MotivoAcrescimoDesconto": null, "AcrescimoDiferencaFracionada": 0, "Observacao": "", "ItensFracao": null, "ItensAdicionais": [], "ValorTotal": 27, "ValorDescontoItem": 0, "ValorServicoItem": 0, "ValorDescontoComboItem": 0, "ValorAcrescimoItem": 0, "TipoOperacao": 0 }, { "TipoItem": 0, "Produto": { "Codigo": "14", "Descricao": "MODA LIGHT", "PrecoVenda": 78.0, "PrecoOriginal": 0, "PrecoPromocional": 0, "Pesavel": true, "Processado": false, "ProdutoComposto": false, "BaixarEstoqueOnline": false, "QuantidadeEstoque": 0, "Composicoes": null }, "Quantidade": 0.5, "Acrescimo": 0, "Desconto": 0, "MotivoAcrescimoDesconto": null, "AcrescimoDiferencaFracionada": 0, "Observacao": "", "ItensFracao": null, "ItensAdicionais": [], "ValorTotal": 39, "ValorDescontoItem": 0, "ValorServicoItem": 0, "ValorDescontoComboItem": 0, "ValorAcrescimoItem": 0, "TipoOperacao": 0 } ], "ItensAdicionais": null, "ValorTotal": 66, "ValorDescontoItem": 0, "ValorServicoItem": 0, "ValorDescontoComboItem": 0, "ValorAcrescimoItem": 0, "TipoOperacao": 0 } ] } |
...
Produto | Preço | Quantidade | Valor Total |
A MODA DA CASA | 54,00 | 0,333 | R$ 17,98 |
MODA LIGHT | 78,00 | 0,333 | R$ 25,97 |
QUATRO QUEIJOS | 50,14 | 0,334 | R$ 16,74 |
Total | R$ 60,69 |
Bloco de código | ||
---|---|---|
| ||
{ "ItensFracao": [ { "TipoItem": 0, "Produto": { "Codigo": "13", "Descricao": "A MODA DA CASA", "PrecoVenda": 54.0, "PrecoOriginal": 0, "PrecoPromocional": 0, "Pesavel": true, "Processado": false, "ProdutoComposto": false, "BaixarEstoqueOnline": false, "QuantidadeEstoque": 0, "Composicoes": null }, "Quantidade": 0.333, "Acrescimo": 0, "Desconto": 0, "MotivoAcrescimoDesconto": null, "AcrescimoDiferencaFracionada": 0, "Observacao": "", "ItensFracao": null, "ItensAdicionais": [], "ValorTotal": 17.98, "ValorDescontoItem": 0, "ValorServicoItem": 0, "ValorDescontoComboItem": 0, "ValorAcrescimoItem": 0, "TipoOperacao": 0 }, { "TipoItem": 0, "Produto": { "Codigo": "14", "Descricao": "MODA LIGHT", "PrecoVenda": 78.0, "PrecoOriginal": 0, "PrecoPromocional": 0, "Pesavel": true, "Processado": false, "ProdutoComposto": false, "BaixarEstoqueOnline": false, "QuantidadeEstoque": 0, "Composicoes": null }, "Quantidade": 0.333, "Acrescimo": 0, "Desconto": 0, "MotivoAcrescimoDesconto": null, "AcrescimoDiferencaFracionada": 0, "Observacao": "", "ItensFracao": null, "ItensAdicionais": [], "ValorTotal": 25.97, "ValorDescontoItem": 0, "ValorServicoItem": 0, "ValorDescontoComboItem": 0, "ValorAcrescimoItem": 0, "TipoOperacao": 0 }, { "TipoItem": 0, "Produto": { "Codigo": "160", "Descricao": "QUATRO QUEIJOS", "PrecoVenda": 50.14, "PrecoOriginal": 0, "PrecoPromocional": 0, "Pesavel": true, "Processado": false, "ProdutoComposto": false, "BaixarEstoqueOnline": false, "QuantidadeEstoque": 0, "Composicoes": null }, "Quantidade": 0.334, "Acrescimo": 0, "Desconto": 0, "MotivoAcrescimoDesconto": null, "AcrescimoDiferencaFracionada": 0, "Observacao": "", "ItensFracao": null, "ItensAdicionais": [], "ValorTotal": 16.74, "ValorDescontoItem": 0, "ValorServicoItem": 0, "ValorDescontoComboItem": 0, "ValorAcrescimoItem": 0, "TipoOperacao": 0 } ], "ItensAdicionais": null, "ValorTotal": 60.69, "ValorDescontoItem": 0, "ValorServicoItem": 0, "ValorDescontoComboItem": 0, "ValorAcrescimoItem": 0, "TipoOperacao": 0 } |
...
Produto | Preço | Quantidade | Valor Total |
A MODA DA CASA | 54,00 | 0,5 | R$ 27,00 |
MODA LIGHT | 78,00 | 0,5 | R$ 39,00 |
Total | R$ 78,00 |
Bloco de código | ||
---|---|---|
| ||
{ "Itens": [ { "TipoItem": 1, "Produto": null, "Quantidade": 0, "Acrescimo": 0, "Desconto": 0, "MotivoAcrescimoDesconto": null, "AcrescimoDiferencaFracionada": 0, "Observacao": null, "ItensFracao": [ { "TipoItem": 0, "Produto": { "Codigo": "13", "Descricao": "A MODA DA CASA", "PrecoVenda": 54.0, "PrecoOriginal": 0, "PrecoPromocional": 0, "Pesavel": true, "Processado": false, "ProdutoComposto": false, "BaixarEstoqueOnline": false, "QuantidadeEstoque": 0, "Composicoes": null }, "Quantidade": 0.5, "Acrescimo": 0, "Desconto": 0, "MotivoAcrescimoDesconto": null, "AcrescimoDiferencaFracionada": 0, "Observacao": "", "ItensFracao": null, "ItensAdicionais": [], "ValorTotal": 27, "ValorDescontoItem": 0, "ValorServicoItem": 0, "ValorDescontoComboItem": 0, "ValorAcrescimoItem": 0, "TipoOperacao": 0 }, { "TipoItem": 0, "Produto": { "Codigo": "14", "Descricao": "MODA LIGHT", "PrecoVenda": 78.0, "PrecoOriginal": 0, "PrecoPromocional": 0, "Pesavel": true, "Processado": false, "ProdutoComposto": false, "BaixarEstoqueOnline": false, "QuantidadeEstoque": 0, "Composicoes": null }, "Quantidade": 0.5, "Acrescimo": 0, "Desconto": 0, "MotivoAcrescimoDesconto": null, "AcrescimoDiferencaFracionada": 0, "Observacao": "", "ItensFracao": null, "ItensAdicionais": [], "ValorTotal": 39, "ValorDescontoItem": 0, "ValorServicoItem": 0, "ValorDescontoComboItem": 0, "ValorAcrescimoItem": 0, "TipoOperacao": 0 } ], "ItensAdicionais": null, "ValorTotal": 78, "ValorDescontoItem": 0, "ValorServicoItem": 0, "ValorDescontoComboItem": 0, "ValorAcrescimoItem": 0, "TipoOperacao": 0 } ] } |
...
Produto | Preço | Quantidade | Valor Total |
A MODA DA CASA | 54,00 | 0,333 | R$ 17,98 |
MODA LIGHT | 78,00 | 0,333 | R$ 25,97 |
QUATRO QUEIJOS | 50,14 | 0,334 | R$ 16,74 |
Total | R$ 78,00 |
Bloco de código | ||
---|---|---|
| ||
{ "Itens": [ { "TipoItem": 1, "Produto": null, "Quantidade": 0, "Acrescimo": 0, "Desconto": 0, "MotivoAcrescimoDesconto": null, "AcrescimoDiferencaFracionada": 0, "Observacao": null, "ItensFracao": [ { "TipoItem": 0, "Produto": { "Codigo": "13", "Descricao": "A MODA DA CASA", "PrecoVenda": 54.0, "PrecoOriginal": 0, "PrecoPromocional": 0, "Pesavel": true, "Processado": false, "ProdutoComposto": false, "BaixarEstoqueOnline": false, "QuantidadeEstoque": 0, "Composicoes": null }, "Quantidade": 0.333, "Acrescimo": 0, "Desconto": 0, "MotivoAcrescimoDesconto": null, "AcrescimoDiferencaFracionada": 0, "Observacao": "", "ItensFracao": null, "ItensAdicionais": [], "ValorTotal": 17.98, "ValorDescontoItem": 0, "ValorServicoItem": 0, "ValorDescontoComboItem": 0, "ValorAcrescimoItem": 0, "TipoOperacao": 0 }, { "TipoItem": 0, "Produto": { "Codigo": "14", "Descricao": "MODA LIGHT", "PrecoVenda": 78.0, "PrecoOriginal": 0, "PrecoPromocional": 0, "Pesavel": true, "Processado": false, "ProdutoComposto": false, "BaixarEstoqueOnline": false, "QuantidadeEstoque": 0, "Composicoes": null }, "Quantidade": 0.333, "Acrescimo": 0, "Desconto": 0, "MotivoAcrescimoDesconto": null, "AcrescimoDiferencaFracionada": 0, "Observacao": "", "ItensFracao": null, "ItensAdicionais": [], "ValorTotal": 25.97, "ValorDescontoItem": 0, "ValorServicoItem": 0, "ValorDescontoComboItem": 0, "ValorAcrescimoItem": 0, "TipoOperacao": 0 }, { "TipoItem": 0, "Produto": { "Codigo": "160", "Descricao": "QUATRO QUEIJOS", "PrecoVenda": 50.14, "PrecoOriginal": 0, "PrecoPromocional": 0, "Pesavel": true, "Processado": false, "ProdutoComposto": false, "BaixarEstoqueOnline": false, "QuantidadeEstoque": 0, "Composicoes": null }, "Quantidade": 0.334, "Acrescimo": 0, "Desconto": 0, "MotivoAcrescimoDesconto": null, "AcrescimoDiferencaFracionada": 0, "Observacao": "", "ItensFracao": null, "ItensAdicionais": [], "ValorTotal": 16.74, "ValorDescontoItem": 0, "ValorServicoItem": 0, "ValorDescontoComboItem": 0, "ValorAcrescimoItem": 0, "TipoOperacao": 0 } ], "ItensAdicionais": null, "ValorTotal": 78.0, "ValorDescontoItem": 0, "ValorServicoItem": 0, "ValorDescontoComboItem": 0, "ValorAcrescimoItem": 0, "TipoOperacao": 0 } ] } |
...
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:
...
{
TipoItem
:
0,
Produto
: {
Codigo
:
"10011002",
Descricao
:
"FRANGO COM CATUPIRY",
PrecoVenda
:
35.65
},
Quantidade
:
1,
Acrescimo
:
0,
Desconto
:
0,
AcrescimoDiferencaFracionada
:
0,
Observacao
:
"",
ItensFracao
:
null,
ItensAdicionais
: [
{
TipoItem
:
0,
Produto
: {
Codigo
:
"10011006",
Descricao
:
"BORDA CATUPIRY",
PrecoVenda
:
6.4
},
Quantidade
:
1,
Acrescimo
:
0,
Desconto
:
0,
AcrescimoDiferencaFracionada
:
0,
Observacao
:
null,
ItensFracao
:
null,
ItensAdicionais
:
null,
ValorTotal
:
6.4
}
],
ValorTotal
:
35.65
}
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
...
{
parametros
: {
CodigoEstabelecimento
:
"96700001PC9",
CodigoIntegracao
:
99,
Pedido
: {
TaxaDeEntrega
:
10.5,
PagamentoOnline
:
false,
RetirarNaLoja
:
false,
CodigoExternoPedido
:
"121289416789",
Cliente
: {
NomeCompleto
:
"Marcelo Ribeiro",
TipoPessoa
:
0,
Sexo
:
0,
CpfCnpj
:
"08291225249",
Endereco
: {
Logradouro
:
"Av. 09 de Julho",
Numero
:
"2960",
Complemento
:
"1o Andar",
Bairro
:
"Vila Iracema",
Municipio
:
"Jundiai",
MunicipioNumeroIBGE
:
3525904,
UF
:
"SP",
UFNumeroIBGE
:
35,
CEP
:
"13208056",
DDD
:
"19",
Telefone
:
"12345678",
:
"[email protected]",
IdentificacaoEndereco
:
null
},
EnderecoEntrega
:
null,
ConheceuComo
:
"TELEVISAO",
RgIE
:
null
},
Troco
:
0,
Desconto
:
0,
ValorTotal
:
34.26,
Pagamentos
: [
{
Tipo
:
0,
Valor
:
34.26,
CodigoReferencia
:
"1"
}
],
IncluirCPFNaNota
:
true,
ObservacaoPedido
:
"Teste de Observação do Pedido.",
Itens
: [
{
TipoItem
:
0,
Produto
: {
Codigo
:
"1",
Descricao
:
"BIBSFIHA DE CARNE",
PrecoVenda
:
1.98,
PrecoPromocional
:
0
},
Quantidade
:
12,
Acrescimo
:
0,
Desconto
:
0,
MotivoAcrescimoDesconto
:
null,
AcrescimoDiferencaFracionada
:
0,
Observacao
:
"Teste",
ItensFracao
:
null,
ItensAdicionais
:
[],
ValorTotal
:
23.76,
TipoOperacao
:
0
}
]
}
}
}
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.
...
{
EnviarPedidoResult
: {
Erros
:
[],
NumeroPedido
:
73,
PrevisaoEntrega
:
"/Date(1421759892907)/",
Sucesso
:
true
}
}
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.
...
{
EnviarPedidoResult
: {
Erros
: [
"Endereço do cliente com logradouro inválido."
,
"Produto "COCA COLA LT" com quantidade zero."
,
"Somatório das formas de pagamento difere do total do pedido."
],
NumeroPedido
:
0,
PrevisaoEntrega
:
null,
Sucesso
:
false
}
}
.
Bloco de código | ||
---|---|---|
| ||
{
"Itens": [
{
"TipoItem": 1,
"Produto": null,
"Quantidade": 0,
"Acrescimo": 0,
"Desconto": 0,
"MotivoAcrescimoDesconto": null,
"AcrescimoDiferencaFracionada": 0,
"Observacao": null,
"ItensFracao": [
{
"TipoItem": 0,
"Produto": {
"Codigo": "13",
"Descricao": "A MODA DA CASA",
"PrecoVenda": 54.0,
"PrecoOriginal": 0,
"PrecoPromocional": 0,
"Pesavel": true,
"Processado": false,
"ProdutoComposto": false,
"BaixarEstoqueOnline": false,
"QuantidadeEstoque": 0,
"Composicoes": null
},
"Quantidade": 0.5,
"Acrescimo": 0,
"Desconto": 0,
"MotivoAcrescimoDesconto": null,
"AcrescimoDiferencaFracionada": 0,
"Observacao": "",
"ItensFracao": null,
"ItensAdicionais": [
{
"TipoItem": 0,
"Produto": {
"Codigo": "4",
"Descricao": "HEINEKEN LONG NECK",
"PrecoVenda": 2.0,
"PrecoOriginal": 0,
"PrecoPromocional": 0,
"Pesavel": true,
"Processado": false,
"ProdutoComposto": false,
"BaixarEstoqueOnline": false,
"QuantidadeEstoque": 0,
"Composicoes": null
},
"Quantidade": 1,
"Acrescimo": 0,
"Desconto": 0,
"MotivoAcrescimoDesconto": null,
"AcrescimoDiferencaFracionada": 0,
"Observacao": null,
"ItensFracao": null,
"ItensAdicionais": null,
"ValorTotal": 2,
"ValorDescontoItem": 0,
"ValorServicoItem": 0,
"ValorDescontoComboItem": 0,
"ValorAcrescimoItem": 0,
"TipoOperacao": 0
}
],
"ValorTotal": 27,
"ValorDescontoItem": 0,
"ValorServicoItem": 0,
"ValorDescontoComboItem": 0,
"ValorAcrescimoItem": 0,
"TipoOperacao": 0
},
{
"TipoItem": 0,
"Produto": {
"Codigo": "14",
"Descricao": "MODA LIGHT",
"PrecoVenda": 78.0,
"PrecoOriginal": 0,
"PrecoPromocional": 0,
"Pesavel": true,
"Processado": false,
"ProdutoComposto": false,
"BaixarEstoqueOnline": false,
"QuantidadeEstoque": 0,
"Composicoes": null
},
"Quantidade": 0.5,
"Acrescimo": 0,
"Desconto": 0,
"MotivoAcrescimoDesconto": null,
"AcrescimoDiferencaFracionada": 0,
"Observacao": "",
"ItensFracao": null,
"ItensAdicionais": [
{
"TipoItem": 0,
"Produto": {
"Codigo": "3",
"Descricao": "SKOL LONG NECK",
"PrecoVenda": 10.0,
"PrecoOriginal": 0,
"PrecoPromocional": 0,
"Pesavel": true,
"Processado": false,
"ProdutoComposto": false,
"BaixarEstoqueOnline": false,
"QuantidadeEstoque": 0,
"Composicoes": null
},
"Quantidade": 1,
"Acrescimo": 0,
"Desconto": 0,
"MotivoAcrescimoDesconto": null,
"AcrescimoDiferencaFracionada": 0,
"Observacao": null,
"ItensFracao": null,
"ItensAdicionais": null,
"ValorTotal": 10,
"ValorDescontoItem": 0,
"ValorServicoItem": 0,
"ValorDescontoComboItem": 0,
"ValorAcrescimoItem": 0,
"TipoOperacao": 0
}
],
"ValorTotal": 39,
"ValorDescontoItem": 0,
"ValorServicoItem": 0,
"ValorDescontoComboItem": 0,
"ValorAcrescimoItem": 0,
"TipoOperacao": 0
}
],
"ItensAdicionais": null,
"ValorTotal": 66,
"ValorDescontoItem": 0,
"ValorServicoItem": 0,
"ValorDescontoComboItem": 0,
"ValorAcrescimoItem": 0,
"TipoOperacao": 0
}
]
} |
O ValorTotal
do item não deve conter o somatório dos adicionais.
Apenas produtos com a configuração PermitirVendaFracionado
habilitada aceitam quantidade com casas decimais(Q), demais produtos aceitam apenas quantidades inteiras(N).
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 |
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 |
PIX | 20 |
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 | R$ 49,00 |
Taxa de Entrega | R$ 10,50 |
Valor Total Pedido | R$ 59,50 |
Pagamento em dinheiro com nota de R$ 100,00. Neste caso precisa informar o valor de troco:
Pagamento Dinheiro | R$ 100,00 |
Troco | R$ 40,50 |
Bloco de código | ||
---|---|---|
| ||
{
"parametros": {
"Pedido": {
"TaxaDeEntrega": 10.5,
"TaxaEntregaPlayer": 0,
"PagamentoOnline": true,
"RetirarNaLoja": false,
"IdConfiguracaoIntegracao": 0,
"CodigoExternoPedido": "157",
"CodigoExternoPedidoReduzido": null,
"Cliente": {
"Id": null,
"NomeCompleto": "TOTVS",
"TipoPessoa": 0,
"Sexo": 0,
"CpfCnpj": "00000000181",
"Endereco": {
"Logradouro": "Av. 09 de Julho",
"Numero": "2960",
"Complemento": "1o Andar",
"Bairro": "Vila Iracema",
"Municipio": "Jundiai",
"MunicipioNumeroIBGE": 3525904,
"UF": "SP",
"UFNumeroIBGE": 35,
"CEP": "13208056",
"DDD": "19",
"Telefone": "12345678",
"EMail": "[email protected]",
"IdentificacaoEndereco": null,
"InformacoesAdicionais": null
},
"EnderecoEntrega": null,
"ConheceuComo": "TELEVISAO",
"RgIE": null
},
"Troco": 40.5,
"Desconto": 0,
"DescontoTaxaEntrega": 0,
"ValorTotal": 59.5,
"Pagamentos": [
{
"Tipo": 0,
"Valor": 100,
"CodigoReferencia": "3",
"PagoOnline": false
}
],
"IncluirCPFNaNota": true,
"ObservacaoPedido": "",
"AceitaPedidoAutomaticamente": true,
"MinutosRejeitaAutomaticamente": 0,
"Itens": [
{
"TipoItem": 0,
"Produto": {
"Codigo": "5",
"Descricao": "COCA COLA",
"PrecoVenda": 5.0,
"PrecoOriginal": 0,
"PrecoPromocional": 0,
"Pesavel": true,
"Processado": false,
"ProdutoComposto": false,
"BaixarEstoqueOnline": false,
"QuantidadeEstoque": 0,
"Composicoes": null
},
"Quantidade": 1,
"Acrescimo": 0,
"Desconto": 0,
"MotivoAcrescimoDesconto": null,
"AcrescimoDiferencaFracionada": 0,
"Observacao": "",
"ItensFracao": null,
"ItensAdicionais": [],
"ValorTotal": 5,
"ValorDescontoItem": 0,
"ValorServicoItem": 0,
"ValorDescontoComboItem": 0,
"ValorAcrescimoItem": 0,
"TipoOperacao": 0
},
{
"TipoItem": 0,
"Produto": {
"Codigo": "502",
"Descricao": "X TUDO",
"PrecoVenda": 22.0,
"PrecoOriginal": 0,
"PrecoPromocional": 0,
"Pesavel": true,
"Processado": false,
"ProdutoComposto": false,
"BaixarEstoqueOnline": false,
"QuantidadeEstoque": 0,
"Composicoes": null
},
"Quantidade": 2,
"Acrescimo": 0,
"Desconto": 0,
"MotivoAcrescimoDesconto": null,
"AcrescimoDiferencaFracionada": 0,
"Observacao": "",
"ItensFracao": null,
"ItensAdicionais": [],
"ValorTotal": 44,
"ValorDescontoItem": 0,
"ValorServicoItem": 0,
"ValorDescontoComboItem": 0,
"ValorAcrescimoItem": 0,
"TipoOperacao": 0
}
]
},
"CodigoEstabelecimento": "96700001PC13",
"CodigoIntegracao": 99,
"RequestID": null,
"TipoServico": null
}
} |
Response
O serviço retorna um JSON no formato abaixo:
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.
Bloco de código | ||
---|---|---|
| ||
{
"EnviarPedidoResult": {
"Erros": [],
"NumeroPedido": 62673,
"Sucesso": true,
"PrevisaoEntrega": "/Date(1421759892907)/"
}
} |
Erro
Sucesso
= false indica que o pedido não foi registrado no sistema, no atributo Erros encontra a lista de motivos/problemas que ocorreram.
Bloco de código | ||
---|---|---|
| ||
{
"EnviarPedidoResult": {
"Erros": [
"Endereço do cliente com logradouro inválido.",
"Produto "COCA COLA LT" com quantidade zero.",
"Somatório das formas de pagamento difere do total do pedido."
"Endereço do cliente com logradouro inválido.",
],
"NumeroPedido": 0,
"Sucesso": false,
"PrevisaoEntrega": null
}
} |
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}". |
Verifica o status atual do pedido, os possíveis status de um pedido estão descritos na tabela abaixo.
URL do Serviço:
POST: http://{url_do_servidor}/DeliveryService.svc/StatusPedido |
---|
Request:
Bloco de código | ||
---|---|---|
| ||
{
"parametros": {
"CodigoEstabelecimento": "96700001PC1",
"CodigoIntegracao": 99,
"CodigoExterniPedido": "1212894167"
}
} |
Response:
Bloco de código | ||
---|---|---|
| ||
{
"StatusPedidoResult": {
"Erros": [],
"CodigoCancelamento": null,
"CodigoEntregador": null,
"DataHoraConcluido": null,
"DataHoraEntrega": null,
"DescricaoCancelamento": null,
"NomeEntregador": null,
"Status": 1
}
} |
Response Cancelamento:
Bloco de código | ||
---|---|---|
| ||
{
"StatusPedidoResult": {
"Erros": [],
"CodigoCancelamento": 1,
"CodigoEntregador": null,
"DataHoraConcluido": null,
"DataHoraEntrega": null,
"DescricaoCancelamento": "BAIXA DO PEDIDO",
"NomeEntregador": null,
"Status": 4
}
} |
Através do "Status" consegue obter o status do pedido na loja:
Status | Código |
---|---|
NaoEncontrado | 0 |
Recepcionado | 1 |
Entregando | 2 |
Concluido | 3 |
Cancelado | 4 |
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".