Medições


Listar

Endpoint que lista todas as medições cadastradas.

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

Parameters

_q: medição x (string) - "Busca as medições 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 medições dos ID's de empresas."
companiesGroup: [1, 2] (array, integer) - "Filtra medições dos ID's de empresas informados e seus parentes."
account_id: 2 (integer) - "Filtra medições de um grupo econômico, válido apenas para Super Admin."
without_device: 1 (boolean) - "Filtra medições sem dispositivo vinculado"
type_id: 1 (integer) - "Filtra medições pelo tipo, Ex: Energia, água, gás."
equipment_contract_type_id: 1 (integer) - "Filtra medições pelo tipo do contrato, Ex: Cativo ou Livre"

{info} Apenas persona Super admin consegue filtrar medições pelo parâmetro account_id. As demais personas só terão acesso às medições vinculadas ao seu grupo econômico.

Response

{success} Response 200 (application/json)

{
    "items": [
        {
            "id": 1,
            "name": "Equipment 1",
            "company": {
                "id": 1,
                "name": "Company 1"
            },
            "device": {
                "id":  1,
                "code": "DEV123_MDB_1",
                "model_id": 7,
                "type_id": 1
            },
            "status": {
                "id": 1,
                "slug": "conectado"
            },
            "model": {
                "id": 1,
                "name": "Modelo X"
            },
            "rule_operational": {
                "id": 3,
                "title": "ignorar"
            },
            "distributor" : {
                "id": 1,
                "name": "ENEL SP"
            },
            "account": {
                "id": 2,
                "title": "Conta X"
            },
            "is_virtual" : false,
            "scde_key": "ABCDEFGHIJ999 (L)"
        }
    ],
    "per_page": 10,
    "current_page": 1,
    "last_page": 1,
    "total": 6
}

{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 esse grupo econômico"
    ],
    "companiesGroup.*": [
        "O campo companiesGroup.0 selecionado é inválido.",
        "Permissões insuficientes para esse grupo econômico"
    ],
    "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 uma medição específica.

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

Parameters

equipmentId: 1 - (integer, required) - "Id da medição"

Response

{success} Response 200 (application/json)

{
    "id": 1,
    "name": "Equipment 1",
    "company": {
      "id": 1,
      "name": "Company 1"
    },
    "device": {
        "id": 1,
        "code": "DEV123_MDB_1",
        "model_id": 7,
        "type_id": 1
    },
    "rule_operational": {
        "id": 3,
        "title": "ignorar"
    },
    "distributor": {
        "id": 1,
        "name": "ENEL SP"
    },
    "account": {
        "id": 2,
        "title": "Grupo Econômico X"
    },
    "is_virtual" : false,
    "scde_key": "ABCDEFGHIJ999 (L)",
    "voltage_class": {
        "id": 2,
        "name": "A2"
    },
    "tariff_modality": {
        "id": 2,
        "name": "Azul"
    },
    "demand_peak_tolerance": 4,
    "demand_off_peak_tolerance": 5,
    "equipment_contract_type": {
      "id": 1,
      "name": "Cativo"
    }
}

{warning} Response 400 (application/json)

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

Criar

Endpoint que cria uma medição.

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

Attributes

name: "Equipment 1" (string, required) - "Nome da medição."
rule_operational_id: 3 (integer) - "ID da regra operacional. Padrão Ignorar"
company_id: 1 (integer, required) - "ID da empresa que a medição pertence."
distributor_id: 1 (integer) - "ID da distribuidora."
scde_key: "123465" (string) - "Chave SCDE da Medição"
voltage_class_id: (integer) - "ID da classe de Voltagem",
tariff_modality_id: (integer) - "ID da Modalidade Tarifária",
demand_peak_tolerance: (integer) - "Tolerância de demanda ponta. Default: 5",
demand_off_peak_tolerance: (integer) - "Tolerância de demanda fora ponta. Default: 5"
equipment_contract_type_id: (integer) - "Tipo de contrato"

{info} A medição será vinculada ao grupo econômico que a empresa pertence.

Response

{success} Response 201 (application/json)

{
    "id": 1,
    "name": "Equipment 1",
    "company": {
      "id": 1,
      "name": "Company 1"
    },
    "device": {
        "id": 1,
        "code": "DEV123_MDB_1",
        "model_id": 7,
        "type_id": 1
    },
    "rule_operational": {
        "id": 3,
        "title": "ignorar"
    },
    "distributor": {
        "id": 1,
        "name": "ENEL SP"
    },
    "account": {
        "id": 2,
        "title": "Grupo Econômico X"
    },
    "is_virtual" : false,
    "scde_key": "ABCDEFGHIJ999 (L)",
    "voltage_class": {
        "id": 2,
        "name": "A2"
    },
    "tariff_modality": {
        "id": 2,
        "name": "Azul"
    },
    "demand_peak_tolerance": 4,
    "demand_off_peak_tolerance": 5,
    "equipment_contract_type": {
      "id": 1,
      "name": "Cativo"
    }
}

{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 esse grupo econômico",
        "É necessário vincular um grupo econômico à empresa associada a esta medição!"
    ],
    "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 uma medição.

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

Attributes

name: "Equipment 1" (string) - "Nome da medição."
rule_operational_id: 1 (integer) - "ID da regra operacional."
company_id: 1 (integer) - "ID da empresa que a medição pertence."
distributor_id: 1 (integer) - "ID da distribuidora."
scde_key: "123465" (string) - "Chave SCDE da Medição"
voltage_class_id: (integer) - "ID da classe de Voltagem",
tariff_modality_id: (integer) - "ID da Modalidade Tarifária",
demand_peak_tolerance: (integer) - "Tolerância de demanda ponta. Default: 5",
demand_off_peak_tolerance: (integer) - "Tolerância de demanda fora ponta. Default: 5"
equipment_contract_type_id: (integer) - "Tipo de contrato"

Response

{success} Response 200 (application/json)

{
    "id": 1,
    "name": "Equipment 1",
    "company": {
      "id": 1,
      "name": "Company 1"
    },
    "device": {
        "id": 1,
        "code": "DEV123_MDB_1",
        "model_id": 7,
        "type_id": 1
    },
    "rule_operational": {
        "id": 3,
        "title": "ignorar"
    },
    "distributor": {
        "id": 1,
        "name": "ABC"
    },
    "account": {
        "id": 2,
        "title": "Grupo Econômico X"
    },
    "is_virtual" : false,
    "scde_key": "ABCDEFGHIJ999 (L)",
    "voltage_class": {
        "id": 2,
        "name": "A2"
    },
    "tariff_modality": {
        "id": 2,
        "name": "Azul"
    },
    "demand_peak_tolerance": 4,
    "demand_off_peak_tolerance": 5,
    "equipment_contract_type": null
}

{warning} Response 422 (application/json)

{
    "company": [
        "Permissões insuficientes para esse grupo econômico",
        "É necessário vincular um grupo econômico à empresa associada a esta medição!"
    ],
    "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 uma medição, e opcionalmente seus registros.

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

Parameters

remove_data: false (boolean) - "Remove todos os dados da medição. (opcional)"

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.