API de Integração Onpedido

Api de Comunicação

Olá amigo desenvolvedor, com a API de Integração Onpedido é possível seu software receber e sincronizar os pedidos onlines vindos de qualquer uma das plataformas Onpedido, sejam elas App iOS, App Android, WebApp, Site Desktop e Interface de Pedidos dos seus clientes. Nesse guia demonstrarei como é feita a integração do seu sistema ao nosso de forma fácil e completa.


1. Gerando o token de acesso a base Onpedido:

Acesse o painel administrativo do seu cliente e na aba "Configurações" procure por "Token de Comunicação via API" e clique em "Regerar Token" um novo token de acesso a base de dados será gerado, salve esse código em um lugar seguro pois ele será utilizado em todas as requisições a base de dados do sistema Onpedido do seu cliente.

Api Onpedido regerar token de acesso

2. Informando seu Token

Para acessar qualquer informação na base Onpedido é necessário informar o token de acesso junto com uma ação de solicitação.
www.meusitedelivery.com.br/xml?token={token-aqui}&acao=pedidos

Caso o token de acesso seja informado de forma incorreta ou caso você realize uma outra solicitação de dados em menos de 5 segundos após a última solicitação você obterá o seguinte erro do sistema:
<onpedido>
    <status>
        <status>false</status>
        <codigo-erro>005</codigo-erro>
        <mensagem>
            Token de acesso inválido ou limite de conexão excedido.
            Aguarde 5 segundos e tente novamente ou verifique se o token de acesso
            está correto na página configurações do sistema Onpedido.
        </mensagem>
    </status>
</onpedido>

Caso você informe o token de acesso corretamente o sistema responderá da seguinte maneira:
<onpedido>
    <status>
        <status>true</status>
        <novos-pedidos>1</novos-pedidos>
        <clientes-online>0</clientes-online>
        <mensagem>Consulta a base realizada com sucesso.</mensagem>
    </status>
    <pedidos>
        <pedido>
            <info>
                <ip>177.132.199.157</ip>
                <id>
                    <pedido>57</pedido>
                    <cliente>44</cliente>
                </id>
                <plataforma>Site Desktop</plataforma>
                <status-pedido>Novo</status-pedido>
                <impressao>false</impressao>
                <data>
                    <timestamp>1501011803</timestamp>
                    <corrente>25/07/2017 às 16:43hs</corrente>
                </data>
                <agendamento>
                    <status>false</status>
                    <data>
                        <timestamp>1501011772</timestamp>
                        <corrente>25/07/2017 às 16:42hs</corrente>
                    </data>
                </agendamento>
            </info>
            <cliente>
                <nome>Matheus Campos</nome>
                <qtd-pedidos>3</qtd-pedidos>
                <celular>
                    <formatado>(51) 98210-5718</formatado>
                    <desformatado>51982105718</desformatado>
                </celular>
                <telefone>
                    <status>false</status>
                    <formatado>false</formatado>
                    <desformatado>false</desformatado>
                </telefone>
                <endereco>
                    <cep>92330170</cep>
                    <rua>Rua Santa Catarina</rua>
                    <numero>1206</numero>
                    <bairro>Matias Velho</bairro>
                    <cidade>Canoas</cidade>
                    <complemento>Casa Da Frente</complemento>
                    <referencia>Segunda rua direita</referencia>
                    <formatado>
                        Rua Santa Catarina, 1206, Casa Da Frente, Matias Velho, Canoas (Segunda rua direita) - CEP: 92330-170
                    </formatado>
                </endereco>
            </cliente>
            <produtos>
                <produto>
                    <id>289</id>
                    <nome>Monte Sua Salada</nome>
                    <qtd>1</qtd>
                    <opcao>
                        <nome>Refrigerante</nome>
                        <qtd>2</qtd>
                        <valor>
                            <unid>4.50</unid>
                            <total>9.00</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Tamanho 500ml</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>10.00</unid>
                            <total>10.00</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Tamanho 750ml</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>20.00</unid>
                            <total>20.00</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Alface Roxa</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>0.00</unid>
                            <total>0.00</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Ovo de Codorna</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>0.00</unid>
                            <total>0.00</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Pene Integral</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>5.50</unid>
                            <total>5.50</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Uva Passas</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>5.00</unid>
                            <total>5.00</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Gergelim</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>5.50</unid>
                            <total>5.50</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Orégano</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>0.00</unid>
                            <total>0.00</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Molho Pesto</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>5.00</unid>
                            <total>5.00</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Cenoura Ralada</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>0.00</unid>
                            <total>0.00</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Cebola Roxa</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>0.00</unid>
                            <total>0.00</total>
                        </valor>
                    </opcao>
                    <comentario>
                        <status>false</status>
                        <comentario>false</comentario>
                    </comentario>
                    <desconto>
                        <status>false</status>
                        <percentual>0</percentual>
                        <valor>0.00</valor>
                    </desconto>
                    <valor>
                        <opcoes>60.00</opcoes>
                        <produto>0.00</produto>
                        <total>60.00</total>
                    </valor>
                </produto>
                <produto>
                    <id>288</id>
                    <nome>Combo do Dia</nome>
                    <qtd>1</qtd>
                    <opcao>
                        <nome>Salada 2</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>0.00</unid>
                            <total>0.00</total>
                        </valor>
                    </opcao>
                    <comentario>
                        <status>false</status>
                        <comentario>false</comentario>
                    </comentario>
                    <desconto>
                        <status>false</status>
                        <percentual>0</percentual>
                        <valor>0.00</valor>
                    </desconto>
                    <valor>
                        <opcoes>0.00</opcoes>
                        <produto>20.90</produto>
                        <total>20.90</total>
                    </valor>
                </produto>
            </produtos>
            <valor>
                <cupom>
                    <status>false</status>
                    <desconto>0.00</desconto>
                </cupom>
                <taxa>0.00</taxa>
                <retirada>
                    <status>false</status>
                </retirada>
                <pagamento>Dinheiro</pagamento>
                <troco>
                    <status>true</status>
                    <recebido>100.00</recebido>
                    <valor>19.10</valor>
                </troco>
                <total>80.90</total>
            </valor>
        </pedido>
    </pedidos>
</onpedido>

Em todas as saídas de dados o campo "<status></status>" sempre retornará "true" ou "false" para uma ação que você solicitar ou para o caso daquele determinado dado ser opcional de ser informado pelo cliente do delivery.

O campo "<status></status>" também informa se uma ação foi bem sucedida. Podendo assim você criar condições de erro para cada ação e informação que seja ou não passadas ou recebidas de maneira esperada.


3. Obtendo pedidos

Ao executar a url de requisição abaixo:
www.meusitedelivery.com.br/xml?token={token-aqui}&acao=pedidos
Será informado via XML se há pedidos não impressos, no caso de haver pedidos não impressos na base Onpedido, eles já serão listados no corpo da obtenção de status. Caso contrário somente as informações de status e de clientes online serão informadas. Veja os exemplos abaixo:

1º Exemplo – Não há pedidos

<onpedido>
    <status>
        <status>true</status>
        <novos-pedidos>0</novos-pedidos>
        <clientes-online>0</clientes-online>
        <mensagem>Consulta a base realizada com sucesso.</mensagem>
    </status>
</onpedido>

2º Exemplo – Há pedidos na base (Listando pedidos...)

<onpedido>
    <status>
        <status>true</status>
        <novos-pedidos>1</novos-pedidos>
        <clientes-online>0</clientes-online>
        <mensagem>Consulta a base realizada com sucesso.</mensagem>
    </status>
    <pedidos>
        <pedido>
            <info>
                <ip>177.132.199.157</ip>
                <id>
                    <pedido>57</pedido>
                    <cliente>44</cliente>
                </id>
                <plataforma>Site Desktop</plataforma>
                <status-pedido>Novo</status-pedido>
                <impressao>false</impressao>
                <data>
                    <timestamp>1501011803</timestamp>
                    <corrente>25/07/2017 às 16:43hs</corrente>
                </data>
                <agendamento>
                    <status>false</status>
                    <data>
                        <timestamp>1501011772</timestamp>
                        <corrente>25/07/2017 às 16:42hs</corrente>
                    </data>
                </agendamento>
            </info>
            <cliente>
                <nome>Matheus Campos</nome>
                <qtd-pedidos>3</qtd-pedidos>
                <celular>
                    <formatado>(51) 98210-5718</formatado>
                    <desformatado>51982105718</desformatado>
                </celular>
                <telefone>
                    <status>false</status>
                    <formatado>false</formatado>
                    <desformatado>false</desformatado>
                </telefone>
                <endereco>
                    <cep>92330170</cep>
                    <rua>Rua Santa Catarina</rua>
                    <numero>1206</numero>
                    <bairro>Matias Velho</bairro>
                    <cidade>Canoas</cidade>
                    <complemento>Casa Da Frente</complemento>
                    <referencia>Segunda rua direita</referencia>
                    <formatado>
                        Rua Santa Catarina, 1206, Casa Da Frente, Matias Velho, Canoas (Segunda rua direita) - CEP: 92330-170
                    </formatado>
                </endereco>
            </cliente>
            <produtos>
                <produto>
                    <id>289</id>
                    <nome>Monte Sua Salada</nome>
                    <qtd>1</qtd>
                    <opcao>
                        <nome>Refrigerante</nome>
                        <qtd>2</qtd>
                        <valor>
                            <unid>4.50</unid>
                            <total>9.00</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Tamanho 500ml</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>10.00</unid>
                            <total>10.00</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Tamanho 750ml</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>20.00</unid>
                            <total>20.00</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Alface Roxa</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>0.00</unid>
                            <total>0.00</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Ovo de Codorna</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>0.00</unid>
                            <total>0.00</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Pene Integral</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>5.50</unid>
                            <total>5.50</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Uva Passas</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>5.00</unid>
                            <total>5.00</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Gergelim</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>5.50</unid>
                            <total>5.50</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Orégano</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>0.00</unid>
                            <total>0.00</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Molho Pesto</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>5.00</unid>
                            <total>5.00</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Cenoura Ralada</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>0.00</unid>
                            <total>0.00</total>
                        </valor>
                    </opcao>
                    <opcao>
                        <nome>Cebola Roxa</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>0.00</unid>
                            <total>0.00</total>
                        </valor>
                    </opcao>
                    <comentario>
                        <status>false</status>
                        <comentario>false</comentario>
                    </comentario>
                    <desconto>
                        <status>false</status>
                        <percentual>0</percentual>
                        <valor>0.00</valor>
                    </desconto>
                    <valor>
                        <opcoes>60.00</opcoes>
                        <produto>0.00</produto>
                        <total>60.00</total>
                    </valor>
                </produto>
                <produto>
                    <id>288</id>
                    <nome>Combo do Dia</nome>
                    <qtd>1</qtd>
                    <opcao>
                        <nome>Salada 2</nome>
                        <qtd>1</qtd>
                        <valor>
                            <unid>0.00</unid>
                            <total>0.00</total>
                        </valor>
                    </opcao>
                    <comentario>
                        <status>false</status>
                        <comentario>false</comentario>
                    </comentario>
                    <desconto>
                        <status>false</status>
                        <percentual>0</percentual>
                        <valor>0.00</valor>
                    </desconto>
                    <valor>
                        <opcoes>0.00</opcoes>
                        <produto>20.90</produto>
                        <total>20.90</total>
                    </valor>
                </produto>
            </produtos>
            <valor>
                <cupom>
                    <status>false</status>
                    <desconto>0.00</desconto>
                </cupom>
                <taxa>0.00</taxa>
                <retirada>
                    <status>false</status>
                </retirada>
                <pagamento>Dinheiro</pagamento>
                <troco>
                    <status>true</status>
                    <recebido>100.00</recebido>
                    <valor>19.10</valor>
                </troco>
                <total>80.90</total>
            </valor>
        </pedido>
    </pedidos>
</onpedido>


5. Informando que o pedido foi impresso

Enquanto você não informar a base Onpedido que o pedido foi impresso ele continuará aparecendo para impressão nos campos de status, somente após o seu software ou aplicação confirmar o recebimento do pedido, ele não aparecerá mais na requisição de status de pedidos (Se há novos pedidos).

Para realizar essa confirmação e fazer com que o pedido desapareça da sessão de não impressos você deve executar a seguinte ação após capturar e imprimir o pedido:
www.meusitedelivery.com.br/xml?token={token-aqui}&acao=impressao&idpedido={id-do-pedido-ja-impresso-aqui}

Estando tudo correto você obterá a seguinte resposta do sistema:
<onpedido>
    <status>
        <status>true</status>
        <mensagem>Ok, o pedido recebeu a confirmação de impressão.</mensagem>
    </status>
</onpedido>

6. Exemplo de pedido impresso:

Essa é apenas uma sugestão de como o pedido exibido no XML acima ficaria impresso.

Viu como é fácil realizar a implantação, mas caso você tenha ficado com mais alguma dúvida não se preocupe aqui não temos burocracia, entre em contato através do e-mail: contato@pear.com.br que tiramos todas as suas dúvidas.