Í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:
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:
...
NaoEncontrado
...
0
...
Recepcionado
...
1
...
Entregando
...
2
...
Concluido
...
3
...
Cancelado
...
4
Metodo para enviar pedido para a loja.
URL do Serviço:
...
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": "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 |
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, "ProdutoValorServicoItem": {0, "CodigoValorDescontoComboItem": "5"0, "DescricaoValorAcrescimoItem": "COCA COLA"0, "PrecoVendaTipoOperacao": 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, "PrecoPromocionalTipoItem": 0, "PesavelProduto": true,{ "ProcessadoCodigo": false"61", "ProdutoCompostoDescricao": false"ESFIHA DE CARNE", "BaixarEstoqueOnlinePrecoVenda": false2.0, "QuantidadeEstoquePrecoOriginal": 0, "ComposicoesPrecoPromocional": null0, }"Pesavel": false, "QuantidadeProcessado": 1false, "AcrescimoProdutoComposto": 0false, "DescontoBaixarEstoqueOnline": 0false, "MotivoAcrescimoDescontoQuantidadeEstoque": null0, "AcrescimoDiferencaFracionadaComposicoes": 0null }, "ObservacaoQuantidade": ""10, "ItensFracaoAcrescimo": null0, "ItensAdicionaisDesconto": []0, "ValorTotalMotivoAcrescimoDesconto": 5null, "ValorDescontoItemAcrescimoDiferencaFracionada": 0, "ValorServicoItemObservacao": 0"", "ValorDescontoComboItemItensFracao": 0null, "ValorAcrescimoItemItensAdicionais": 0,[ { "TipoOperacaoTipoItem": 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": [ "Produto": { "TipoItem": 0, "Produto": { "Codigo": "615", "Descricao": "ESFIHACOCA DE CARNECOLA", "PrecoVenda": 25.0, "PrecoOriginal": 0, "PrecoPromocional": 0, "Pesavel": falsetrue, "Processado": false, "ProdutoComposto": false, "BaixarEstoqueOnline": false, "QuantidadeEstoque": 0, "Composicoes": null }, "Quantidade": 101, "Acrescimo": 0, "Desconto": 0, "MotivoAcrescimoDesconto": null, "AcrescimoDiferencaFracionada": 0, "Observacao": ""null, "ItensFracao": null, "ItensAdicionais": [ {null, "TipoItemValorTotal": 05, "ProdutoValorDescontoItem": {0, "CodigoValorServicoItem": "5"0, "DescricaoValorDescontoComboItem": "COCA COLA"0, "PrecoVendaValorAcrescimoItem": 5.0, "PrecoOriginalTipoOperacao": 0, } "PrecoPromocional], "ValorTotal": 020, "PesavelValorDescontoItem": true0, "ProcessadoValorServicoItem": false0, "ProdutoCompostoValorDescontoComboItem": false0, "ValorAcrescimoItem": 0, "BaixarEstoqueOnlineTipoOperacao": 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": [ { "QuantidadeEstoque": 0, "ComposicoesCodigoExterno": null, "TipoItem": 1, }"Produto": 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 | ||
---|---|---|
| ||
{ }, "ItensFracaoQuantidade": [0.5, { "Acrescimo": 0, "TipoItemDesconto": 0, "ProdutoMotivoAcrescimoDesconto": {null, "CodigoAcrescimoDiferencaFracionada": "13"0, "DescricaoObservacao": "A MODA DA CASA", "PrecoVendaItensFracao": 54.0null, "PrecoOriginal""ItensAdicionais": 0[], "PrecoPromocionalValorTotal": 027, "PesavelValorDescontoItem": true0, "ProcessadoValorServicoItem": false0, "ProdutoCompostoValorDescontoComboItem": false0, "BaixarEstoqueOnlineValorAcrescimoItem": false0, "QuantidadeEstoqueTipoOperacao": 0, }, "Composicoes": null{ }"CodigoExterno": "468713429", "QuantidadeTipoItem": 0.5, "AcrescimoProduto": 0,{ "DescontoCodigo": 0"14", "MotivoAcrescimoDescontoDescricao": null"MODA LIGHT", "AcrescimoDiferencaFracionadaPrecoVenda": 78.0, "ObservacaoPrecoOriginal": ""0, "ItensFracaoPrecoPromocional": null0, "ItensAdicionaisPesavel": []true, "ValorTotalProcessado": 27false, "ValorDescontoItemProdutoComposto": 0false, "ValorServicoItemBaixarEstoqueOnline": 0false, "ValorDescontoComboItemQuantidadeEstoque": 0, "ValorAcrescimoItemComposicoes": 0,null }, "TipoOperacaoQuantidade": 0.5, }"Acrescimo": 0, { "Desconto": 0, "TipoItemMotivoAcrescimoDesconto": 0null, "ProdutoAcrescimoDiferencaFracionada": {0, "CodigoObservacao": "14", "DescricaoItensFracao": "MODA LIGHT"null, "PrecoVendaItensAdicionais": 78.0[], "PrecoOriginalValorTotal": 039, "PrecoPromocional""ValorDescontoItem": 0, "PesavelValorServicoItem": true0, "ProcessadoValorDescontoComboItem": false0, "ProdutoCompostoValorAcrescimoItem": false0, "BaixarEstoqueOnlineTipoOperacao": false,0 } "QuantidadeEstoque": 0], "ComposicoesItensAdicionais": null }, "QuantidadeValorTotal": 0.566, "AcrescimoValorDescontoItem": 0, "DescontoValorServicoItem": 0, "MotivoAcrescimoDescontoValorDescontoComboItem": null0, "AcrescimoDiferencaFracionadaValorAcrescimoItem": 0, "ObservacaoTipoOperacao": "",0 "ItensFracao": null, "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 |
...
Forma de Pagamento | Código |
Dinheiro | 0 |
Cheque | 1 |
Cartão de Credito | 2 |
Cartão de Debito | 3 |
Ticket | 4 |
PIX | 20 |
CodigoReferencia
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.
...
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 } } |
...
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". |
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 |