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” }