Equipamentos


Listar

Endpoint que lista todos os equipamentos cadastrados.

Method URI Headers Authorization
GET /api/v4/equipments Content-Type:application/json Authorization: Bearer {token}

Parameters

_q: equipamento x (string) - "Busca os equipamentos pelo nome ou id."
_sort: id (string) ("id", "nome") - "Define o campo de ordenação da lista."
_order: desc (string) ("asc", "desc") - "Define a ordem da lista com base no campo definido."
_limit: 10 (integer) - "Quantidade de itens por página."
_page: 1 (integer) - "Página a ser carregada."
companies: [1, 2] (array, integer) - "Filtra equipamentos dos ID's de empresas."
companiesGroup: [1, 2] (array, integer) - "Filtra equipamentos dos ID's de empresas informados e seus parentes."
account_id: 2 (integer) - "Filtra equipamentos de uma conta, válido apenas para Super Admin."
without_device: 1 (boolean) - "Filtra equipamentos sem dispositivo vinculado"
type_id: 1 (integer) - "Filtra equipamentos pelo tipo, Ex: Energia, água, gás."

{info} Apenas persona Super admin consegue filtrar equipamentos pelo parâmetro account_id. As demais personas só terão acesso aos equipamentos vinculados a sua conta.

Response

{success} Response 200 (application/json)

{
  "items": [
    {
      "id": 1,
      "name": "Equipment 1",
      "company": {
        "id": 1,
        "name": "Company 1"
      },
      "device": null,
      "model": null,
      "rule_operational": {
        "id": 3,
        "title": "ignorar"
      },
      "distributor" : null,
      "account": {
        "id": 2,
        "title": "Conta X"
      }, 
      "is_virtual" : true,
      "scde_key": "456789"
    },
    {
      "id": 2,
      "name": "Equipment 2",
      "company": {
        "id": 1,
        "name": "Company 1"
      },
      "device": {
        "id": 1,
        "code": "ABCD1234",
        "model_id": 1,
        "type_id": 1
      },
      "model": {
        "id": 1,
        "name": "Zordon"
      },
      "rule_operational": {
        "id": 3,
        "title": "ignorar"
      },
      "distributor": {
        "id": 1,
        "name": "ABC"
      },
      "account": {
        "id": 2,
        "title": "Conta X"
      },
      "is_virtual" : false,
      "scde_key": "456789"
    }
  ],
  "total": 2,
  "per_page": 10,
  "current_page": 1
}

{primary} Response 204 (application/json)

Quando os critérios de parâmetros não contiver registros a serem retornados.

{warning} Response 422 (application/json)

{
    "companies.*": [
        "O campo companies.0 selecionado é inválido.",
        "Permissões insuficientes para essa conta"
    ],
    "companiesGroup.*": [
        "O campo companiesGroup.0 selecionado é inválido.",
        "Permissões insuficientes para essa conta"
    ],
    "account_id": [
        "O campo account id selecionado é inválido."
    ]
}

{warning} Response 400 (application/json)

Quando ocorre algum erro ou usuário não tem permissão.

Pegar

Endpoint que pega os dados de um equipamento específico.

Method URI Headers Authorization
GET /api/v4/equipments/{equipmentId} Content-Type:application/json Authorization: Bearer {token}

Parameters

equipmentId: 1 - (integer, required) - "Id do equipamento"

Response

{success} Response 200 (application/json)

{
    "id": 1,
    "name": "Equipment 1",
    "company": {
      "id": 1,
      "name": "Company 1"
    },
    "device": null,
    "rule_operational": {
        "id": 3,
        "title": "ignorar"
    },
    "distributor": {
        "id": 1,
        "name": "ABC"
    },
    "account": {
        "id": 2,
        "title": "Conta X"
    },
    "is_virtual" : true,
    "scde_key": "456789"
}

{warning} Response 400 (application/json)

Quando ocorre algum erro ou usuário não tem permissão.

Criar

Endpoint que cria um equipamento.

Method URI Headers Authorization
POST /api/v4/equipments Content-Type:application/json Authorization: Bearer {token}

Attributes

name: "Equipment 1" (string, required) - "Nome do equipamento."
rule_operational_id: 3 (integer) - "ID da regra operacional. Padrão Ignorar"
company_id: 1 (integer, required) - "ID da empresa que o equipamento pertence."
distributor_id: 1 (integer) - "ID da distribuidora."
scde_key: "123465" (string) - "Chave SCDE do Equipamento"

{info} O equipamento será vinculado a conta que a empresa pertence.

Response

{success} Response 201 (application/json)

{
    "id": 1,
    "name": "Equipment 1",
    "company": {
      "id": 1,
      "name": "Company 1"
    },
    "device": null,
    "rule_operational": {
        "id": 3,
        "title": "ignorar"
    },
    "distributor": {
        "id": 1,
        "name": "ABC"
    },
    "account": {
        "id": 2,
        "title": "Conta X"
    },
    "is_virtual" : true,
    "scde_key": "456789"
}

{warning} Response 422 (application/json)

{
    "name": [
        "O campo name é obrigatório."
    ],
    "rule_operational_id": [
        "O campo rule operational id é obrigatório."
    ],
    "company_id": [
        "O campo company id é obrigatório.",
        "Permissões insuficientes para essa conta",
        "É necessário vincular uma conta a empresa associada a este equipamento!"
    ],
    "scde_key": [
        "O campo scde key deve ser uma string."
    ]
}

{warning} Response 400 (application/json)

Quando ocorre algum erro ou usuário não tem permissão.

Atualizar

Endpoint que atualiza um equipamento.

Method URI Headers Authorization
PUT /api/v4/equipments/1 Content-Type:application/json Authorization: Bearer {token}

Attributes

name: "Equipment 1" (string) - "Nome do equipamento."
rule_operational_id: 1 (integer) - "ID da regra operacional."
company_id: 1 (integer) - "ID da empresa que o equipamento pertence."
distributor_id: 1 (integer) - "ID da distribuidora."
scde_key: "123465" (string) - "Chave SCDE do Equipamento"

Response

{success} Response 200 (application/json)

{
    "id": 1,
    "name": "Equipment 1",
    "company": {
      "id": 1,
      "name": "Company 1"
    },
    "device": null,
    "rule_operational": {
        "id": 3,
        "title": "ignorar"
    },
    "distributor": {
        "id": 1,
        "name": "ABC"
    },
    "account": {
        "id": 2,
        "title": "Conta X"
    },
    "is_virtual" : true,
    "scde_key": "456789"
}

{warning} Response 422 (application/json)

{
    "company": [
        "Permissões insuficientes para essa conta",
        "É necessário vincular uma conta a empresa associada a este equipamento!"
    ],
    "scde_key": [
        "O campo scde key deve ser uma string."
    ]
}

{warning} Response 400 (application/json)

Quando ocorre algum erro ou usuário não tem permissão.

Deletar

Endpoint que deleta um equipamento.

Method URI Headers Authorization
DELETE /api/v3/equipments/1 Content-Type:application/json Authorization: Bearer {token}

Response

{primary} Response 204 (application/json)

Quando o registro for excluido com sucesso.

{warning} Response 400 (application/json)

Quando ocorre algum erro ou usuário não tem permissão.