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}/PedidoVendaService.svc/StatusPedido |
---|
Status | Código |
NaoEncontrado | 0 |
Recepcionado | 1 |
Expedido | 2 |
Entregue | 3 |
Concluido | 4 |
Cancelado | 5 |
Entregue
: é para quando o pedido faturado com RetirarNaLoja
Request
{ "parametros": { "CodigoExternoPedido": "16", "CodigoEstabelecimento": "96700001PC1", "CodigoIntegracao": 99, "RequestID": null, "TipoServico": null } }
Response
{ "StatusPedidoResult": { "Erros": [], "Status": 1 } }
Retorna a quantidade de produto disponivel no periodo desejado
URL do Serviço:
POST: http://{url_do_servidor}/PedidoVendaService.svc/ConsultarProdutoDisponibilidadeEstoque |
---|
Request
{ "parametros": { "CodigoProduto": "1", "DataRetirada": "/Date(1612206090305)/", "DataDevolucao": "/Date(1612206090302)/", "CodigoEstabelecimento": "96700001PC13", "CodigoIntegracao": 99, "RequestID": null, "TipoServico": null } }
Response
{ "ConsultarProdutoDisponibilidadeEstoqueResult": { "Erros": [], "QuantidadeDisponivel": 100 } }
URL do Serviço:
POST: http://{url_do_servidor} |
---|
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:
{ "parametros": { "Pedido": { "CodigoExternoPedido": "1529453014", "CodigoIntegracao": 0, "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": "" }, "CodigoPedido": 0, "CodigoCliente": 0, "Troco": 0, "Desconto": 0, "ValorTotal": 550.5, "Pagamentos": [ { "Tipo": 2, "Valor": 550.5, "CodigoReferencia": "MC", "PagoOnline": false } ], "TaxaDeEntrega": 10.5, "PagamentoOnline": true, "RetirarNaLoja": true, "DataEntrega": "/Date(1612281364000)/", "DataRetorno": "/Date(1612454164000)/", "Observacao": null, "PeriodoEntrega": null, "PeriodoRetorno": null, "Itens": [ { "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": 10, "Acrescimo": 0, "Desconto": 0, "MotivoAcrescimoDesconto": null, "AcrescimoDiferencaFracionada": 0, "Observacao": "", "ItensFracao": null, "ItensAdicionais": [], "ValorTotal": 540, "ValorDescontoItem": 0, "ValorServicoItem": 0, "ValorDescontoComboItem": 0, "ValorAcrescimoItem": 0, "TipoOperacao": 1 } ] }, "CodigoEstabelecimento": "96700001PC1", "CodigoIntegracao": 99, "RequestID": null, "TipoServico": null } }
Exemplo de entrega no 2º endereço do cliente:
{ "parametros": { "Pedido": { "CodigoExternoPedido": "1529453015", "CodigoIntegracao": 0, "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": { "Logradouro": "RUA CENTRO", "Numero": "1000", "Complemento": "COMERCIAL", "Bairro": "CENTRO", "Municipio": "Jundiai", "MunicipioNumeroIBGE": 3525904, "UF": "SP", "UFNumeroIBGE": 35, "CEP": "13208056", "DDD": null, "Telefone": null, "EMail": null, "IdentificacaoEndereco": "INDENTIFICACAO ENTREGA", "InformacoesAdicionais": null }, "ConheceuComo": "TELEVISAO", "RgIE": "" }, "CodigoPedido": 0, "CodigoCliente": 0, "Troco": 0, "Desconto": 0, "ValorTotal": 550.5, "Pagamentos": [ { "Tipo": 2, "Valor": 550.5, "CodigoReferencia": "MC", "PagoOnline": false } ], "TaxaDeEntrega": 10.5, "PagamentoOnline": true, "RetirarNaLoja": false, "DataEntrega": "/Date(1612281364000)/", "DataRetorno": "/Date(1612454164000)/", "Observacao": null, "PeriodoEntrega": null, "PeriodoRetorno": null, "Itens": [ { "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": 10, "Acrescimo": 0, "Desconto": 0, "MotivoAcrescimoDesconto": null, "AcrescimoDiferencaFracionada": 0, "Observacao": "", "ItensFracao": null, "ItensAdicionais": [], "ValorTotal": 540, "ValorDescontoItem": 0, "ValorServicoItem": 0, "ValorDescontoComboItem": 0, "ValorAcrescimoItem": 0, "TipoOperacao": 1 } ] }, "CodigoEstabelecimento": "96700001PC1", "CodigoIntegracao": 99, "RequestID": null, "TipoServico": null } }
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.
Itens
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
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 |
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 | 60,50 |
Valor Total Pedido | 60,50 |
Pagamento em dinheiro com nota de R$ 100,00. Neste caso precisa informar o valor de troco:
Pagamento Dinheiro | 100,00 |
Troco | 39,50 |
{ "parametros": { "Pedido": { "CodigoExternoPedido": "679698206", "CodigoIntegracao": 0, "Cliente": { "Id": null, "NomeCompleto": "TOTVS", "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": "[email protected]", "IdentificacaoEndereco": null, "InformacoesAdicionais": null }, "EnderecoEntrega": null, "ConheceuComo": "TELEVISAO", "RgIE": "" }, "CodigoPedido": 0, "CodigoCliente": 0, "Troco": 39.5, "Desconto": 0, "ValorTotal": 60.5, "Pagamentos": [ { "Tipo": 0, "Valor": 100.0, "CodigoReferencia": "MC", "PagoOnline": false } ], "TaxaDeEntrega": 10.5, "PagamentoOnline": false, "RetirarNaLoja": true, "DataEntrega": "/Date(1612195968203)/", "DataRetorno": "/Date(1612195968207)/", "Observacao": null, "PeriodoEntrega": null, "PeriodoRetorno": null, "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": 10, "Acrescimo": 0, "Desconto": 0, "MotivoAcrescimoDesconto": null, "AcrescimoDiferencaFracionada": 0, "Observacao": "", "ItensFracao": null, "ItensAdicionais": [], "ValorTotal": 50, "ValorDescontoItem": 0, "ValorServicoItem": 0, "ValorDescontoComboItem": 0, "ValorAcrescimoItem": 0, "TipoOperacao": 1 } ] }, "CodigoEstabelecimento": "96700001PC1", "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.
{ "EnviarPedidoResult": { "Erros": [], "Sucesso": true } }
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": [ "Data de Entrega 01/02/2021 16:12:48 está menor que a Data Atual 01/02/2021 16:16:57.", "Data de Retorno 01/02/2021 16:12:48 está menor que a Data Atual 01/02/2021 16:16:57.", "Pedido com retirada na loja e com taxa de entrega maior do que zero." ], "Sucesso": false } }
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. |