Você está na página 1de 8

KVS Cloud API

www.opalaconsult.com V0.1 - 2020-05-12


Descrição 3

Token de comunicação 3

Rotas existentes 3
/device_register 3
/orders 3
/order_create 6
/mark_synced 6

Notas 7

Exemplos curl 7

KVS 7
/home/pi/Desktop/Kitchen_Video/bin/start_app.sh 7
/home/pi/Desktop/Kitchen_Video/etc/config.ini 8
Sem ip redirect por tipo de produto 8
Com ip redirect por tipo de produto 8

www.opalaconsult.com V0.1 - 2020-05-12


Descrição
Este documento detalha a API que permite usar uma API simples para gravar / ler da cloud
uma estrutura JSON.

Todas as rotas aceitam POST ou GET e recebem e devolvem dados em JSON.

Nos parâmetros a receber, estão a bold os que são obrigatórios.

Token de comunicação
Todas as rotas da API necessitam de um token para “autorizar” o uso da API.

Token para demonstração e é válido até 2021-12-31:

f780d3b4f48353171786563c63f420cb

Rotas existentes

/device_register
http://apis_v2.net-bo.com/kvs/device_register

Serve para registar um dispositivo KVS. Esta rota é usada pelo KVS quando se ativa um
token para utilizar a Cloud API.

Parametros a receber:

{
'token' => 'f780d3b4f48353171786563c63f420cb',
'hardlock' => '82b630a1'
}

Resultado:

{
success: 1
}

/orders
http://apis_v2.net-bo.com/kvs/orders

Parametros a receber:

www.opalaconsult.com V0.1 - 2020-05-12


{
'token' => 'f780d3b4f48353171786563c63f420cb',
'hardlock' => '82b630a1',
'date_from' => '0',
'date_to' => '0',
'from_id' => '0',
'sync' => '0'
}

date_from Devolve pedidos entre duas datas


date_to

from_id Devolve os pedidos com ids depois do id from_id

sync Devolve pedidos que já foram (1) ou não (0) sincronizados com o KVS

last Devolve os últimos x pedidos

Resultado:

{
'success' => {
'9' => {
'order_id' => '9',
'date_created' => '2020-05-12 17:43:06',
'customer_aux' => '',
'customer_code' => '200',
'pickup_datetime' => '2020-05-12 10:23:10',
'customer_phone' => '+351936272176',
'order_type' => 'TAKE-AWAY',
'table_number' => '20',
'remote_code' => 'xpto123',
'order_total' => '10',
'customer_name' => 'Miguel Manso'
'products' => [
{
'quantity' => '10',
'name' => 'Coca-Cola',
'type' => 'drink',
'code' => '',
'price' => '0',
'vat' => '0'
},
{
'type' => 'drink',
'code' => '',
'name' => '7Up',
'quantity' => '10',
'price' => '0',

www.opalaconsult.com V0.1 - 2020-05-12


'vat' => '0'
},
{
'type' => 'food',
'code' => '',
'name' => 'Hot-Dog',
'quantity' => '10',
'price' => '0',
'vat' => '0'
}
],
},
'13' => {
'order_id' => '13',
'date_created' => '2020-05-12 18:33:02',
'table_number' => '20',
'remote_code' => 'xpto123',
'order_total' => '10',
'customer_name' => 'Miguel Manso',
'pickup_datetime' => '2020-05-12 10:23:10',
'customer_aux' => '',
'customer_code' => '200',
'customer_phone' => '+351936272176',
'order_type' => 'TAKE-AWAY'
'products' => [
{
'quantity' => '10',
'type' => 'drink',
'code' => '',
'name' => 'Coca-Cola',
'price' => '0',
'vat' => '0'
},
{
'quantity' => '10',
'name' => '7Up',
'type' => 'drink',
'code' => '',
'price' => '0',
'vat' => '0'

},
{
'quantity' => '10',
'name' => 'Hot-Dog',
'type' => 'food',
'code' => '',
'price' => '0',
'vat' => '0'
}
]

www.opalaconsult.com V0.1 - 2020-05-12


}
}

/order_create
http://apis_v2.net-bo.com/kvs/order_create

Serve para criar um pedido que irá para O KVS.

Parametros a receber:

{
​'token' => 'f780d3b4f48353171786563c63f420cb',
'hardlock' => '82b630a1',
​'order_code' => '10001',
'order_type' => 'TAKE-AWAY',
'table_number' => '20',
'remote_code' => 'xpto123',
'pickup_datetime' => '2020-05-12 10:23:10',
'order_total' => '10',
'customer_code' => '200',
'customer_name' => 'Miguel Manso',
'customer_phone' => '+351936272176',
'customer_aux' => '',
'products' => [
{
'quantity' => '10',
'name' => 'Coca-Cola',
'type' => 'drink',
'code' => '1',
'price' => '5',
'vat' => '23'
},
{
'quantity' => '4',
'name' => 'Burguer',
'type' => food,
'code' => '2',
'price' => '10',
'vat' => '13'
}
]
}

/mark_synced
http://apis_v2.net-bo.com/kvs/mark_synced

Serve para marcar pedidos como já estando sincronizados.

www.opalaconsult.com V0.1 - 2020-05-12


Parametros a receber:

{
​'token' => 'f780d3b4f48353171786563c63f420cb',
'hardlock' => '82b630a1',
​'orders' => [1, 2, 3, 4],
}

Notas
Todas as rtas da API retornam respostas com content-type text/json. Sempre que
por algum motivo alguma rota devolver um erro, a resposta terá uma key do género:
{
error: 'Invalid token...'
}

Exemplos curl
curl \
-H "Content-Type: application/json" \
-X POST \
-d '{"token":"f780d3b4f48353171786563c63f420cb","hardlock":"82b630a1",
"remote_code":"xpto123","order_code":"1001",
"order_type":"TAKE-AWAY","order_total":"10",
"pickup_datetime":"2020-05-12 10:23:10","table_number":"10",
"customer_code":"200","customer_name":"Miguel Manso",
"customer_phone":"+351936272176","customer_aux":"",
"customer_code":"200","customer_name":"Miguel Manso",
"products":[{"name":"Coca-Cola","quantity":"10","type":"drink"}]}' \
http://apis_v2.net-bo.com/kvs/order_create

KVS

/home/pi/Desktop/Kitchen_Video/bin/start_app.sh

/home/pi/Desktop/Kitchen_Video/bin/ping_server.sh

ps -ef | grep cloud_api | grep -v grep | awk '{print $2}'| sudo xargs
kill -9 2> /dev/null
/home/pi/Desktop/Kitchen_Video/bin/cloud_api.pl &

www.opalaconsult.com V0.1 - 2020-05-12


/home/pi/Desktop/Kitchen_Video/etc/config.ini

Sem ip redirect por tipo de produto

CLOUD_API_KEY=f780d3b4f48353171786563c63f420cb

Com ip redirect por tipo de produto

CLOUD_API_KEY=f780d3b4f48353171786563c63f420cb|food=127.0.0.1,drink=127.0.0.1

token | food = 127.0.0.1 , drink = 127.0.0.1

www.opalaconsult.com V0.1 - 2020-05-12

Você também pode gostar