Pick lists Padrão
Estratégia Pick lists Padrão: os status possíveis são:
confirmed: pick list pendente para aplicação.
applied: pick list aplicada.
cancelled: pick list cancelada.
Listar
Lista as pick lists de determinada máquina e instalação.
GET /api/v1/machines/[machine_id]/installations/[installation_id]/pick_lists
Parâmetros de URL:
parâmetro |
descrição |
obrigatório |
|---|---|---|
machine_id |
id da máquina |
sim |
installation_id |
id da instalação |
sim |
É possível filtrar as pick lists com uma query string. Veja na API do relatório de pick lists os campos possíveis.
Retorno
status |
descrição |
|---|---|
200 |
OK |
Exemplo:
[
{
"id": 4164,
"created_at": "2015-11-09T07:49:34.000-02:00",
"updated_at": "2015-11-09T12:40:13.000-02:00",
"installation_id": 857,
"planogram_id": 2477,
"group_id": 1,
"distribution_center_id": 1,
"machine_id": 49,
"supply_category_id": 1,
"separate_status": "separated",
"pending": false,
"status": "applied",
"url": "https://vmpay.vertitecnologia.com.br/api/v1/machines/49/installations/857/pick_lists/4164",
"notes": "some extra info",
"routes": [
{
"id": 1,
"name": "Route 01"
},
{
"id": 2,
"name": "Other route"
}
]
},
{
"id": 4302,
"created_at": "2015-11-12T12:51:04.000-02:00",
"updated_at": "2015-11-12T15:46:32.000-02:00",
"installation_id": 857,
"planogram_id": 2563,
"group_id": 1,
"distribution_center_id": 1,
"machine_id": 49,
"supply_category_id": 1,
"separate_status": "separated",
"pending": false,
"status": "cancelled",
"url": "https://vmpay.vertitecnologia.com.br/api/v1/machines/49/installations/857/pick_lists/4302",
"notes": null,
"routes:" []
}
]
Ver
Mostra determinada pick list de uma máquina e instalação.
GET /api/v1/machines/[machine_id]/installations/[installation_id]/pick_lists/[id]
Parâmetros de URL:
parâmetro |
descrição |
obrigatório |
|---|---|---|
machine_id |
id da máquina |
sim |
installation_id |
id da instalação |
sim |
id |
id da pick list |
sim |
Filtro
O parâmetro abaixo pode ser passado como uma query string.
- show_all_items:
Mostra todos os itens, incluindo os com quantidades zeradas:
true: retorna todos os itens, incluindo os com quantidades zeradas.
false: retorna somente os itens com quantidade maior que zero.
não informado: retorna somente os itens com quantidade maior que zero (default).
Exemplos:
GET /api/v1/machines/[machine_id]/installations/[installation_id]/pick_lists/[id]?show_all_items=true
GET /api/v1/machines/[machine_id]/installations/[installation_id]/pick_lists/[id]?show_all_items=false
GET /api/v1/machines/[machine_id]/installations/[installation_id]/pick_lists/[id]
Retorno
status |
descrição |
|---|---|
200 |
OK |
Exemplo:
{
"id": 4164,
"created_at": "2015-11-09T07:49:34.000-02:00",
"updated_at": "2015-11-09T12:40:13.000-02:00",
"planogram_id": 2477,
"group_id": 1,
"distribution_center_id": 1,
"supply_category_id": 1,
"separate_status": "separated",
"pending": false,
"status": "applied",
"notes": "some extra info",
"items": [
{
"id": 167188,
"planogram_item_id": 93477,
"quantity": 8,
"ignored": true,
"ignore_reason": "Estoque disponível insuficiente",
"good_id": 2229,
"barcodes": ["3568765432158", "9876543211658", "9876543212845"]
},
{
"id": 167190,
"planogram_item_id": 93479,
"quantity": 3,
"ignored": false,
"good_id": 543,
"barcodes": ["2345678900045"]
},
{
"id": 167191,
"planogram_item_id": 93480,
"quantity": 3,
"ignored": false,
"good_id": 533,
"barcodes": ["1287453612345"]
},
{
"id":167192
"planogram_item_id":93481,
"quantity":12,
"ignored":false,
"packing_quantity":1,
"good_id":2225,
"barcodes": ["3265147898652"]
},
{
"id": 167193,
"planogram_item_id": 93482,
"quantity": 2,
"ignored": false,
"good_id": 533,
"barcodes": ["3256983216954"]
}
]
"routes": [
{
"id": 1,
"name": "Route 01"
},
{
"id": 2,
"name": "Other route"
}
]
}
Erros
status |
descrição |
response body |
|---|---|---|
404 |
máquina/instalação/pick list não encontrada |
{ “status”: “404”, “error”: “Not Found” } |
Criar
Cria uma nova pick list em determinada máquina e instalação.
A pick list criada fica pendente e pode ser atualizado. O mesmo só entra em atividade no próximo reabastecimento da máquina.
Uma instalação pode ter apenas um pick list pendente por categoria de reabastecimento. Se houver uma tentativa de cadastro de um outro pick list, será retornado um erro de validação, código HTTP 422.
Deve-se indicar o planograma da instalação ao qual o pick list se aplica. O planograma deve ser o atual da máquina ou o pendente a entrar no próximo reabastecimento. Se houver uma tentativa de cadastro de um pick list relacionado a um planograma inativo, será retornado um erro de validação, código HTTP 422.
Caso algum item do planograma não faça parte do reabastecimento correspondente, não há a necessidade de indicá-lo com a quantidade zerada no pick list; o mesmo pode ser omitido.
POST /api/v1/machines/[machine_id]/installations/[installation_id]/pick_lists
Parâmetros de URL:
parâmetro |
descrição |
obrigatório |
|---|---|---|
machine_id |
id da máquina |
sim |
installation_id |
id da instalação |
sim |
Request:
{
"pick_list": {
"planogram_id": 2563,
"items_attributes": [
{
"planogram_item_id": 96633,
"quantity": 4
},
{
"planogram_item_id": 96632,
"quantity": 9
}
]
}
}
Campos
Obrigatórios
pick_list
planogram_id: o id do planograma. Deve estar ativo ou pedente.
supply_category_id: id da categoria de reabastecimento (Caso utilize mais de uma categoria de abastecimento, esse campo é obrigatório)
items_attributes: um array contendo os items do pick list.
planogram_item_id: o id do item de planograma correspondente.
quantity: a quantidade a ser reabastecida.
Opcionais
pick_list
notes: observações do pick list.
items_attributes: um array contendo os items do pick list.
packing_quantity: a quantidade de packings,associado ao item, a ser reabastecida.
skip_rules: pode ser true ou false. Se for true, não aplicará o conjunto de regras vinculado a instalação. Se não informado, o conjunto de regras é aplicado por padrão.
Caso o parâmetro opcional seja passado, o valor do quantity é reescrito para a quantidade existente no packing multiplicado pelo número de packings.
Retorno
status |
descrição |
|---|---|
201 |
Criado com sucesso |
Exemplo:
{
"id": 4794,
"created_at": "2016-02-16T15:22:26.519-02:00",
"updated_at": "2016-02-16T15:22:26.519-02:00",
"planogram_id": 2563,
"supply_category_id": 1,
"separate_status": "separated",
"pending": true,
"status": "confirmed",
"notes": null,
"items": [
{
"id": 191350,
"planogram_item_id": 96633,
"quantity": 4
},
{
"id": 191351,
"planogram_item_id": 96632,
"quantity": 9
}
]
}
Erros
status |
descrição |
response body |
|---|---|---|
400 |
parâmetros faltando |
{ “status”: “400”, “error”: “Bad Request” } |
401 |
não autorizado |
(vazio) |
409 |
conflito |
(vazio) |
422 |
erro ao criar |
ver exemplo abaixo |
422 - erro ao criar
{
"base": [
"Já existe um pick list cadastrado para o próximo reabastecimento"
]
}
Atualizar
Atualiza um pick list de determinada máquina e instalação.
Somente pick lists pendentes podem ser atualizados. Se houver uma tentativa de atualização de um pick list já utilizado em algum reabastecimento, será retornado um erro de validação, código HTTP 422.
Não é permitido alterar a categoria de abastecimento de uma pick list já criada. Se houver uma tentativa, será retornado um erro de validação, código HTTP 422.
Os items podem ser criados, atualizados ou excluídos. Os items omitidos não são alterados.
PATCH /api/v1/machines/[machine_id]/installations/[installation_id]/pick_lists/[id]
Parâmetros de URL:
parâmetro |
descrição |
obrigatório |
|---|---|---|
machine_id |
id da máquina |
sim |
installation_id |
id da instalação |
sim |
id |
id da pick list |
sim |
Request:
{
"pick_list": {
"items_attributes": [
{
"id": 191350,
"quantity": 11
},
{
"id": 191351,
"quantity": 12
}
]
}
}
Campos
Obrigatórios
pick_list
items_attributes: um array contendo os items do pick list.
id: o id do item a ser atualizado ou excluído. Se omitido, considera-se como um item sendo inserido.
planogram_item_id: o id do item de planograma correspondente. Somente necessário na inserção de um novo item.
quantity: a quantidade a ser reabastecida.
_destroy: parâmetro passado para excluir o item do pick list. Para tanto, valor deve ser true.
Opcionais
pick_list
notes: observações do pick list.
items_attributes: um array contendo os items do pick list.
packing_quantity: o número de packings, a ser reabastecido.
skip_rules: pode ser true ou false. Se for true, não aplicará o conjunto de regras vinculado a instalação. Se não informado, o conjunto de regras é aplicado por padrão.
Caso o parâmetro opcional seja passado e exista um packing associado ao respectivo item, o valor do quantity é reescrito para a quantidade existente no packing multiplicado por packing_quantity.
Retorno
status |
descrição |
|---|---|
200 |
Atualizado com sucesso |
Exemplo:
{
"id": 4794,
"created_at": "2016-02-16T15:22:26.000-02:00",
"updated_at": "2016-02-16T15:22:26.000-02:00",
"planogram_id": 2563,
"pending": true,
"status": "confirmed",
"notes": null,
"items": [
{
"id": 191350,
"planogram_item_id": 96633,
"quantity": 11
},
{
"id": 191351,
"planogram_item_id": 96632,
"quantity": 12
}
],
skip_rules: true
}
Erros
status |
descrição |
response body |
|---|---|---|
400 |
parâmetros faltando |
{ “status”: “400”, “error”: “Bad Request” } |
401 |
não autorizado |
(vazio) |
404 |
máquina/instalação/pick list não encontrada |
{ “status”: “404”, “error”: “Not Found” } |
409 |
conflito |
{ “status”: “409”, “error”: “Deadlock/Timeout” } |
422 |
erro ao atualizar |
ver exemplo abaixo |
422 - erro ao atualizar:
{
"base": "Pick list deve estar pendente"
}
Cancelar
Cancela a pick list.
Somente pick lists Pendentes podem ser canceladas.
Se houver uma tentativa de cancelamento de uma pick list que já foi utilizada em algum reabastecimento, será retornado um erro de validação com código HTTP 422.
DELETE /api/v1/machines/[machine_id]/installations/[installation_id]/pick_lists/[id]
Parâmetros de URL:
parâmetro |
descrição |
obrigatório |
|---|---|---|
machine_id |
id da máquina |
sim |
installation_id |
id da instalação |
sim |
id |
id da pick list |
sim |
Retorno
status |
descrição |
response body |
|---|---|---|
204 |
Cancelada com sucesso |
(vazio) |
Erros
status |
descrição |
response body |
|---|---|---|
404 |
máquina/instalação/pick list não encontrada |
{ “status”: “404”, “error”: “Not Found” } |