Instalações Virtuais
Instalações Virtuais são as que não possuem uma vending machine e, por consequência, uma VMbox. Tais instalações são utilizadas em micro markets.
Com exceção da criação e da atualização, pode-se utilizar também os serviços em Instalações para operar sobre estas instalações.
Listar
Lista as instalações virtuais de determinada máquina.
GET /api/v1/machines/[machine_id]/virtual_installations
Parâmetros de URL:
parâmetro |
descrição |
obrigatório |
|---|---|---|
machine_id |
id da máquina |
sim |
Retorno
status |
descrição |
|---|---|
200 |
OK |
Exemplo:
[
{
"id": 1234,
"created_at": "2020-10-19T12:34:56.000-03:00",
"updated_at": "2020-10-19T12:56:34.000-03:00",
"location_id": 56,
"machine_id": 678,
"equipment_id": 4321,
"place": "Micro market",
"notifications_enabled": true,
"virtual_equipment": true,
"issues_invoice": true,
"enable_market_app": true,
"enable_restricted_door_control": true,
"enable_external_eft": true
},
{
"id": 1236,
"created_at": "2020-10-20T12:34:56.000-03:00",
"updated_at": "2020-10-20T12:56:34.000-03:00",
"location_id": 2345,
"machine_id": 8654,
"equipment_id": 4389,
"place": "Sala do mercado",
"notifications_enabled": true,
"virtual_equipment": true,
"issues_invoice": false,
"enable_market_app": true,
"enable_restricted_door_control": false,
"enable_external_eft": false
}
]
Ver
Mostra determinada instalação de uma máquina.
GET /api/v1/machines/[machine_id]/virtual_installations/[id]
Parâmetros de URL:
parâmetro |
descrição |
obrigatório |
|---|---|---|
machine_id |
id da máquina |
sim |
id |
id da instalação |
sim |
Retorno
status |
descrição |
|---|---|
200 |
OK |
O campo issues_invoice indica se são emitidas NFCe depois da compra. Este campo só é retornado se o operator suportar a emissão.
O campo enable_market_app indica se esta instalação irá aparecer no app VMmarket. Este campo só é retornado se o operator estiver configurado.
O campo enable_restricted_door_control indica se esta instalação possui uma porta de controle de acesso a produtos restritos a maiores de idade e se o app VMmarket irá controlar a sua destrava. Este campo só é retornado se o operator estiver configurado.
O campo enable_external_eft indica se a API de Transações cashless externas está habilitada para esta instalação.
{
"id": 1234,
"created_at": "2020-10-19T12:34:56.000-03:00",
"updated_at": "2020-10-19T12:56:34.000-03:00",
"location_id": 56,
"machine_id": 678,
"equipment_id": 4321,
"place": "Micro market",
"notifications_enabled": true,
"virtual_equipment": true,
"issues_invoice": true,
"enable_market_app": true,
"enable_restricted_door_control": true,
"enable_external_eft": true,
"pending_planogram": null,
"current_planogram": {
"id": 1235678,
"created_at": "2020-10-19T12:34:56.000-03:00",
"updated_at": "2020-10-19T12:34:56.000-03:00",
"due": "now",
"started_at": "2020-10-19T12:34:56.000-03:00",
"items": [
{
"id": 346354,
"type": "Coil",
"name": "1",
"good_id": 1234,
"capacity": 20,
"par_level": 20,
"alert_level": 4,
"desired_price": 5.0,
"logical_locator": 1,
"physical_locators":[
"1"
],
"current_balance": 15.0
},
{
"id": 346355,
"type": "Coil",
"name": "2",
"good_id": 1237,
"capacity": 10,
"par_level": 10,
"alert_level": 2,
"desired_price": 7.8,
"logical_locator": 2,
"physical_locators":[
"2"
],
"current_balance": 9.0
}
]
}
}
Erros
status |
descrição |
response body |
|---|---|---|
404 |
máquina ou instalação não encontrada |
(vazio) |
Criar
Cria uma nova instalação virtual em determinada máquina.
Se a máquina já possuir uma instalação ativa (virtual ou não), a mesma é baixada automaticamente na data e hora atuais. A instalação criada torna-se a ativa.
POST /api/v1/machines/[machine_id]/virtual_installations
Parâmetros de URL:
parâmetro |
descrição |
obrigatório |
|---|---|---|
machine_id |
id da máquina |
sim |
Request:
{
"installation": {
"location_id": 56,
"place": "Micro market",
"notifications_enabled": true,
"issues_invoice": true,
"enable_market_app": true,
"enable_restricted_door_control": true,
"enable_external_eft": true,
"planograms_attributes": [
{
"items_attributes": [
{
"type": "Coil",
"name": "1",
"good_id": 1234,
"capacity": 20,
"par_level": 20,
"alert_level": 4,
"desired_price": 5.0,
"logical_locator": 1
},
{
"type": "Coil",
"name": "2",
"good_id": 1237,
"capacity": 10,
"par_level": 10,
"alert_level": 2,
"desired_price": 7.8,
"logical_locator": 2
}
]
}
]
}
}
Campos
Obrigatórios
installation
location_id: id do local.
equipment_id: id do equipamento.
notifications_enabled: enviar notificações?
planograms_attributes: os planogramas da instalação. Nesse caso, somente um planograma é preenchido: o inicial. Para detalhes, ver Instalações.
Opcionais
installation
place: local interno.
issues_invoice: emitir NFCe?
Valor será ignorado a menos que o operador tenha suporte à emissão de NFCe.
enable_market_app: Habilitar app market?
Valor será ignorado a menos que o operador tenha suporte ao app market.
enable_restricted_door_control: Habilitar controle de porta 18+?
Valor será ignorado a menos que o operador tenha suporte ao app market.
enable_external_eft: Habilitar TEF externo?
Valor será ignorado a menos que o operador tenha suporte a esta funcionalidade.
Retorno
status |
descrição |
|---|---|
201 |
Criado com sucesso |
Exemplo:
{
"id": 1234,
"created_at": "2020-10-19T12:34:56.000-03:00",
"updated_at": "2020-10-19T12:56:34.000-03:00",
"location_id": 56,
"machine_id": 678,
"equipment_id": 4321,
"place": "Micro market",
"notifications_enabled": true,
"virtual_equipment": true,
"issues_invoice": true,
"enable_market_app": true,
"enable_restricted_door_control": true,
"enable_external_eft": true,
"pending_planogram": null,
"current_planogram": {
"id": 1235678,
"created_at": "2020-10-19T12:34:56.000-03:00",
"updated_at": "2020-10-19T12:34:56.000-03:00",
"due": "now",
"started_at": "2020-10-19T12:34:56.000-03:00",
"items": [
{
"id": 346354,
"type": "Coil",
"name": "1",
"good_id": 1234,
"capacity": 20,
"par_level": 20,
"alert_level": 4,
"desired_price": 5.0,
"logical_locator": 1,
"physical_locators":[
"1"
],
"current_balance": 15.0
},
{
"id": 346355,
"type": "Coil",
"name": "2",
"good_id": 1237,
"capacity": 10,
"par_level": 10,
"alert_level": 2,
"desired_price": 7.8,
"logical_locator": 2,
"physical_locators":[
"2"
],
"current_balance": 9.0
}
]
}
}
Erros
status |
descrição |
response body |
|---|---|---|
400 |
parâmetros faltando |
{ “status”: “400”, “error”: “Bad Request” } |
401 |
não autorizado |
(vazio) |
422 |
erro ao criar |
ver exemplo abaixo |
422 - erro ao criar
{
"location_id": [
"não pode ficar em branco"
]
}
Atualizar
Atualiza uma instalação virtual de determinada máquina.
PATCH /api/v1/machines/[machine_id]/virtual_installations/[id]
Parâmetros de URL:
parâmetro |
descrição |
obrigatório |
|---|---|---|
machine_id |
id da máquina |
sim |
id |
id da instalação |
sim |
Request:
{
"installation": {
"location_id": 56,
"place": "Micro market",
"notifications_enabled": true,
"issues_invoice": true,
"enable_market_app": true,
"enable_restricted_door_control": true,
"enable_external_eft": true
}
}
Campos
Ao menos um campo interno a installation deve ser passado.
Não é permitido atualizar um planograma ativo, somente cadastrar um outro planograma pendente. Para tanto, ver Planogramas.
Retorno
status |
descrição |
|---|---|
200 |
Atualizado com sucesso |
Exemplo:
{
"id": 1234,
"created_at": "2020-10-19T12:34:56.000-03:00",
"updated_at": "2020-10-19T12:56:34.000-03:00",
"location_id": 56,
"machine_id": 678,
"equipment_id": 4321,
"place": "Micro market",
"notifications_enabled": true,
"virtual_equipment": true,
"issues_invoice": true,
"enable_market_app": true,
"enable_restricted_door_control": true,
"enable_external_eft": true,
"pending_planogram": null,
"current_planogram": {
"id": 1235678,
"created_at": "2020-10-19T12:34:56.000-03:00",
"updated_at": "2020-10-19T12:34:56.000-03:00",
"due": "now",
"started_at": "2020-10-19T12:34:56.000-03:00",
"items": [
{
"id": 346354,
"type": "Coil",
"name": "1",
"good_id": 1234,
"capacity": 20,
"par_level": 20,
"alert_level": 4,
"desired_price": 5.0,
"logical_locator": 1,
"physical_locators":[
"1"
],
"current_balance": 15.0
},
{
"id": 346355,
"type": "Coil",
"name": "2",
"good_id": 1237,
"capacity": 10,
"par_level": 10,
"alert_level": 2,
"desired_price": 7.8,
"logical_locator": 2,
"physical_locators":[
"2"
],
"current_balance": 9.0
}
]
}
}
Erros
status |
descrição |
response body |
|---|---|---|
400 |
parâmetros faltando |
{ “status”: “400”, “error”: “Bad Request” } |
401 |
não autorizado |
(vazio) |
404 |
máquina ou instalação não encontrada |
(vazio) |
422 |
erro ao atualizar |
ver exemplo abaixo |
422 - erro ao atualizar:
{
"location_id": [
"não é válido"
]
}
Baixar
Baixa uma instalação virtual de determinada máquina.
DELETE /api/v1/machines/[machine_id]/virtual_installations/[id]
Parâmetros de URL:
parâmetro |
descrição |
obrigatório |
|---|---|---|
machine_id |
id da máquina |
sim |
id |
id da instalação |
sim |
Retorno
status |
descrição |
response body |
|---|---|---|
204 |
Excluído com sucesso |
(vazio) |
Erros
status |
descrição |
response body |
|---|---|---|
401 |
não autorizado |
(vazio) |
404 |
máquina ou instalação não encontrada |
(vazio) |
Reabastecer manualmente
Efetua o reabastecimento da pick list atualmente pendente, caso exista e a operação seja permitida.
POST /api/v1/machines/[machine_id]/virtual_installations/[id]/restock
Parâmetros de URL
parâmetro |
descrição |
obrigatório |
|---|---|---|
machine_id |
id da máquina |
sim |
id |
id da instalação |
sim |
Retorno
status |
descrição |
|---|---|
200 |
Reabastecimento criado com sucesso |
422 |
Não foi possível criar reabastecimento |