Insumos
Listar
GET /api/v1/inputs
Retorno
status |
descrição |
|---|---|
200 |
OK |
Exemplo:
[
{
"id": 3044,
"created_at": "2016-01-20T16:27:55.000-02:00",
"updated_at": "2016-01-20T16:27:55.000-02:00",
"category_id": 470,
"name": "Leite em pó",
"unit": "gram",
"external_id": null,
"url": "https://vmpay.vertitecnologia.com.br/api/v1/inputs/3044"
},
{
"id": 3045,
"created_at": "2016-01-20T16:28:04.000-02:00",
"updated_at": "2016-01-20T16:28:04.000-02:00",
"category_id": 470,
"name": "Café em pó",
"unit": "gram",
"external_id": null,
"packing": {
"id":2,
"name": "Pacote 1kg",
"quantity":1000
},
"url": "https://vmpay.vertitecnologia.com.br/api/v1/inputs/3045"
}
]
Ver
GET /api/v1/inputs/[id]
Parâmetros de URL:
parâmetro |
descrição |
obrigatório |
|---|---|---|
id |
id do insumo |
sim |
Retorno
status |
descrição |
|---|---|
200 |
OK |
Exemplo:
{
"id": 3044,
"created_at": "2016-01-20T16:27:55.000-02:00",
"updated_at": "2016-01-20T16:27:55.000-02:00",
"category_id": 470,
"name": "Leite em pó",
"unit": "gram",
"external_id": null,
"url": "https://vmpay.vertitecnologia.com.br/api/v1/inputs/3044"
}
Erros
status |
descrição |
response body |
|---|---|---|
404 |
insumo não encontrado |
{ “status”: “404”, “error”: “Not Found” } |
Criar
POST /api/v1/inputs
Request:
{
"input": {
"category_id": 11,
"name": "Leite em pó",
"unit": "gram",
"external_id": 'qwe123',
"good_packing_attributes": {
"packing_id": 2
}
}
}
Campos
Obrigatórios
input
category_id: id da categoria.
name: Nome do insumo.
unit: A unidade de medida do insumo.
Valores permitidos: default (Unidade), milliliter (Mililitro) e gram (Grama).
Opcionais
input
external_id: identificador externo do insumo.
good_packing_attributes: Array com atributos do packing associado
packing_id: Id do packing associado ao insumo. É necessário que o packing tenha a mesma unidade de medida do insumo, caso contrário ele é ignorado.
Retorno
status |
descrição |
|---|---|
201 |
Criado com sucesso |
Exemplo:
{
"id": 2829,
"created_at": "2016-02-16T08:53:54.731-02:00",
"updated_at": "2016-02-16T08:53:54.731-02:00",
"category_id": 11,
"name": "Leite em pó",
"unit": "gram",
"external_id": 'qwe123',
"packing": {
"id":2,
"name": "Pacote 1kg",
"quantity":1000
},
"url": "http://localhost:4000/api/v1/inputs/2829"
}
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
{
"name": [
"já está em uso"
]
}
Atualizar
PATCH /api/v1/inputs/[id]
Parâmetros de URL:
parâmetro |
descrição |
obrigatório |
|---|---|---|
id |
id do insumo |
sim |
Request:
{
"input": {
"name": "Novo nome"
}
}
Campos
Ao menos um campo interno a input deve ser passado.
Caso se deseje remover o packing, deve-se adicionar o atributo _destroy com valor true à chamada como no exemplo abaixo:
Exemplo exclusão de packing:
{
"input": {
"name": "Novo nome",
"good_packing_attributes": {
"id": 2,
"_destroy": true
}
}
}
Retorno
status |
descrição |
|---|---|
200 |
Atualizado com sucesso |
Exemplo:
{
"id": 2829,
"created_at": "2016-02-16T08:53:54.000-02:00",
"updated_at": "2016-02-16T08:59:35.600-02:00",
"category_id": 11,
"name": "Novo nome",
"unit": "gram",
"external_id": null,
"packing": {
"id":2,
"name": "Pacote 1kg",
"quantity":1000
},
"url": "http://localhost:4000/api/v1/inputs/2829"
}
Erros
status |
descrição |
response body |
|---|---|---|
400 |
parâmetros faltando |
{ “status”: “400”, “error”: “Bad Request” } |
401 |
não autorizado |
(vazio) |
404 |
insumo não encontrado |
{ “status”: “404”, “error”: “Not Found” } |
422 |
erro ao atualizar |
ver exemplo abaixo |
422 - erro ao atualizar
{
"name": [
"não pode ficar em branco"
]
}
Excluir
DELETE /api/v1/inputs/[id]
Parâmetros de URL:
parâmetro |
descrição |
obrigatório |
|---|---|---|
id |
id do insumo |
sim |
Retorno
status |
descrição |
response body |
|---|---|---|
204 |
Excluído com sucesso |
(vazio) |
Erros
status |
descrição |
response body |
|---|---|---|
404 |
insumo não encontrado |
{ “status”: “404”, “error”: “Not Found” } |