Checkpoints
Ver
GET /api/v1/scheduled_visit_checkpoints/[id]
Parâmetros de URL:
parâmetro |
descrição |
obrigatório |
|---|---|---|
id |
id do checkpoint |
sim |
Retorno
É retornado um JSON com os seguintes campos:
id: o id do checkpoint
scheduled_visit_id: a data em que o checkpoint foi criado
created_at: a data de criação do checkpoint
updated_at: a data de atualização do checkpoint
restock: se é um reabastecimento
cash_collect: se é uma coleta
only_visit: se não é nem um reabastecimento nem uma coleta, apenas uma visita
finished: se está finalizado
finished_at: a data em que o checkpoint foi finalizado
reopened_at: a data em que o checkpoint foi reaberto
installation_id: o id da instalação
planogram_id: o id do planograma
pick_list_id: o id da pick list
synched_at: a data em que o checkpoint foi sincronizado com o VMpay Visitor
pending_inventory_adjustment: se o ajuste de inventário está pendente
inventory_adjustment_id: o id do ajuste de inventário
scheduled_at: a data em que o agendamento foi efetuado
synched_by: identificação do smartphone usado para sincronizar com o VMpay
edited_by: identificação do usuário que editou a agenda
inventories: lista de inventários em que cada elemento contém os seguintes campos:
id: o id do inventário
planogram_item_id: o id do item do planograma
capacity: capacidade do item do planograma
expected_vacant_amount: saldo esperado para o item
entered_vacant_amount: saldo informado para o item no VMpay Visitor
manual_entered_amount: valor informado na correção manual
vacant_amount_difference: resultado do cálculo da diferença
Positivo: diferença resultou em quebra
Negativo: diferença resultou em sobra
cost_price: preço de custo do produto no momento do retorno do visitor
good_id: o id do produto
upc_code: código do produto
desired_price: valor do produto
expiration_date: data de vencimento do produto
returned_amounts: lista de retornos do Visitor com os seguintes campos:
id: o id do registro
original_value: valor do registro antes da edição
value: valor final após edição
edited: se o registro foi editado ou não
returned_amount_type_id: o id do tipo de retorno
code: codigo do registro
damaged_item_return
expired_item_return
grid_replacement_leftover
pick_list_leftover
technical_problem_return
incorrect_grid_return
relocated_machine_return
removed_machine_return
product_inversion_return
item_not_shipped_return
quantity_leftover
par_level_reduction
about_to_expire
description: descrição do registro
Retorno Danificado
Retorno Vencido
Retorno Troca de Grade
Retorno Pick list
Retorno Problema Técnico
Retorno Grade Incorreta
Retorno Máquina Remanejada
Retorno Máquina Retirada
Retorno Inversão Produto
Retorno Item não enviado
Retorno Excesso
Retorno Redução de Nível de par
Retorno A Vencer
custom_values: lista de campos customizados em que cada elemento contém os seguintes campos:
id: o id do campo customizado
field: dados do campo customizado:
name: nome do campo
label: rótulo do campo
required: se o campo é obrigatório
options: opções caso o campo seja do tipo escolha
field_type: tipo do campo
field_value:
value: valor preenchido no VMpay Visitor
Exemplo:
{
"id": 21013,
"scheduled_visit_id": 4744,
"created_at": "2016-12-21T07:56:05.000-02:00",
"updated_at": "2016-12-21T10:16:01.000-02:00",
"restock": true,
"cash_collect": false,
"only_visit": false,
"finished": true,
"finished_at": "2016-12-21T16:39:20.000-02:00",
"reopened_at": null,
"installation_id": 1896,
"planogram_id": 11204,
"pick_list_id": 63089,
"synched_at": "2016-12-22T08:05:33.000-02:00",
"pending_inventory_adjustment": true,
"inventory_adjustment_id": null,
"scheduled_at": "2016-12-21T10:16:01.000-02:00",
"synched_by": "VMVISITOR - JOSÉ",
"edited_by": "Claudio da Silva",
"inventories": [
{
"id": 452556,
"planogram_item_id": 385102,
"capacity": 10.0,
"expected_vacant_amount": 6.0,
"entered_vacant_amount": 7.0,
"manual_entered_amount": 0,
"vacant_amount_difference": -3.0,
"cost_price": 2.5,
"good_id": 522328,
"upc_code": "2847",
"desired_price": 3.90,
"expiration_date": null,
"returned_amounts": [
{
"id": 15197,
"original_value": 1.0,
"value": 2.0,
"edited": true,
"returned_amount_type_id": 7,
"code": "relocated_machine_return",
"description": "Retorno Máquina Remanejada"
}
]
},
{
"id": 452557,
"planogram_item_id": 385103,
"capacity": 10.0,
"expected_vacant_amount": 0.0,
"entered_vacant_amount": 0.0,
"manual_entered_amount": 0,
"vacant_amount_difference": 0.0,
"good_id": 70679,
"upc_code": "1910",
"desired_price": 5.50,
"expiration_date": "2016-12-26",
"returned_amounts": []
},
{
"id": 452558,
"planogram_item_id": 385104,
"capacity": 13.0,
"expected_vacant_amount": 5.0,
"entered_vacant_amount": 2.0,
"manual_entered_amount": -1,
"vacant_amount_difference": 2.0,
"good_id": 70688,
"desired_price": 9.98,
"expiration_date": null,
"returned_amounts": [
{
"id": 15196,
"original_value": 4.0,
"value": 8.0,
"edited": true,
"returned_amount_type_id": 10,
"code": "item_not_shipped_return",
"description": "Retorno Item não enviado"
}
]
},
{
"id": 452559,
"planogram_item_id": 385105,
"capacity": 10.0,
"expected_vacant_amount": 0.0,
"entered_vacant_amount": 8.0,
"manual_entered_amount": 0,
"vacant_amount_difference": 0.0,
"good_id": 70678,
"expiration_date": null,
"returned_amounts": [
{
"id": 15194,
"original_value": 1.0,
"value": 2.0,
"edited": true,
"returned_amount_type_id": 6,
"code": "incorrect_grid_return",
"description": "Retorno Grade Incorreta"
},
{
"id": 15195,
"original_value": 3.0,
"value": 6.0,
"edited": true,
"returned_amount_type_id": 9,
"code": "product_inversion_return",
"description": "Retorno Inversão Produto"
}
]
}
],
"custom_values": [
{
"id": 3298,
"field": {
"name": "limpeza",
"label": "Limpeza?",
"field_type": "boolean",
"required": true,
"options": []
},
"field_value": {
"value": true
}
},
{
"id": 3302,
"field": {
"name": "malote",
"label": "Malote",
"field_type": "string",
"required": true,
"options": [],
},
"field_value": {
"value": "123"
}
},
{
"id": 3305,
"field": {
"name": "responsavel",
"label": "Responsável pela limpeza",
"field_type": "choose",
"required": true,
"options": [
"João",
"Maria",
"José"
],
},
"field_value": {
"value": "123"
}
}
]
}
Ajustar
Se um item do inventário não precisar de ajuste, não é necessário mencioná-lo, ele pode ser omitido.
GET /api/v1/scheduled_visit_checkpoints/[id]/adjust
Parâmetros de URL:
parâmetro |
descrição |
obrigatório |
|---|---|---|
id |
id do checkpoint |
sim |
Request:
{
"checkpoint": {
"inventories": [
{
"id": "1444",
"entered_vacant_amount": 5
},
{
"id": "1445",
"entered_vacant_amount": 10,
"manual_entered_amount": 1,
"returned_amounts": [
{
"returned_amount_type_id": 1,
"value": 2
}
]
},
{
"id": "1446",
"entered_vacant_amount": 8,
"manual_entered_amount": 1,
"returned_amounts": [
{
"returned_amount_type_id": 3,
"value": 1
}
]
}
],
"custom_values": [
{
"id": 3004,
"value": "Não"
},
{
"id": 2956,
"value": "Thiago"
}
]
}
}
Campos
Caso se deseje remover um returned_amount, deve-se adicionar o atributo _destroy com valor true à chamada como no exemplo abaixo:
{
"checkpoint": {
"inventories": [
{
"id": "1445",
"entered_vacant_amount": 10,
"manual_entered_amount": 1,
"returned_amounts": [
{
"returned_amount_type_id": 1,
"_destroy": true
}
]
},
]
}
}
Obrigatórios
checkpoint
inventories: um array contendo os items do inventário relacionado ao checkpoint.
id: o id do inventário, gerado automaticamente pelo sistema no momento da criação do inventário.
entered_vacant_amount: saldo informado para o item no VMpay Visitor.
manual_entered_amount: valor informado na correção manual.
returned_amounts: um array contendo a lista de retornos.
returned_amount_type_id: id do tipo de retorno, pode ser consultado aqui.
value: quantidade retornada do produto.
custom_values: um array contendo a lista de campos customizados.
id: o id do campo customizado, gerado automaticamente pelo sistema no momento da criação do retorno.
value: valor do campo customizado, deverar respeitar o tipo definido no campo field_type.
Retorno
status |
descrição |
response body |
|---|---|---|
200 |
Atualizado com sucesso |
(vazio) |
Erros
status |
descrição |
response body |
|---|---|---|
422 |
Inventário/Tipo de retorno não encontrado |
{ “status”: “404”, “error”: “Not Found” } |
422 |
Visita não possui ajuste de inventário pendente |
{ “status”: “422”, “error”: “Ajuste de inventário já criado” } |
422 |
Visita não possui inventários para ajuste |
{ “status”: “422”, “error”: “Instalação não possui reabastecimento para ser ajustado” } |
422 |
erro ao atualizar |
ver exemplo abaixo |
422 - erro ao atualizar:
{
"custom_values": [
"Valor do campo customizado é inválido"
]
}
Confirmar
GET /api/v1/scheduled_visit_checkpoints/[id]/confirm
Parâmetros de URL:
parâmetro |
descrição |
obrigatório |
|---|---|---|
id |
id do checkpoint |
sim |
Retorno
status |
descrição |
response body |
|---|---|---|
200 |
Confirmada com sucesso |
(vazio) |
Erros
status |
descrição |
response body |
|---|---|---|
422 |
Visita não finalizada |
{ “status”: “422”, “error”: “Visita não finalizada” } |
422 |
Ajuste de inventário já criado |
{ “status”: “422”, “error”: “Ajuste de inventário já criado” } |
422 |
Instalação não possui reabastecimento para ser ajustado |
{ “status”: “422”, “error”: “Instalação não possui reabastecimento para ser ajustado” } |