Integração com Equipamento


Listar

Endpoint que lista todos os registros cadastrados.

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

Parameters

_sort: 'id' (string) ('id') - "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."
integration_account_id: 1 (integer) - "Id da configuração de integração."
equipment_id: 1 (integer) - "Id da medição relacionada à configuração."

{info} Observações:

Apenas o Super Admin que poderá listar todas as integrações que esteja ou não vinculado ao grupo econômico do mesmo, caso contrário será listado apenas as integrações vinculadas no grupo econômico do usuário.

Response

{success} Response 200 (application/json)

{
  "items": [
    {
      "id": 1,
      "active": true,
      "external_id": "ASD123",
      "integration_account": {
        "id": 1,
        "name": "Configuração Teste 01"
      },
      "equipment": {
        "id": 1,
        "name": "Medição 01"
      },
      "route": {
        "slug": "route01",
        "name": "Endpoint 01"
      },
      "company": {
        "id": 1,
        "name": "022 - Gestal Integration"
      }
    }
  ],
  "total": 1,
  "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)

{
    "_sort": [
        "O campo sort selecionado é inválido."
    ],
    "_order": [
        "O campo order selecionado é inválido."
    ],
    "_limit": [
        "O campo limit deve ser um número inteiro."
    ],
    "_page": [
        "O campo page deve ser um número inteiro."
    ],
    "integration_account_id": [
        "O campo configuração da integração deve ser um número inteiro.",
        "Permissões insuficientes para esse grupo econômico."
    ],
    "equipment_id": [
        "O campo medição deve ser um número inteiro.",
        "Permissões insuficientes para esse grupo econômico."
    ]
}

{warning} Response 403 (application/json)

"Permissões insuficientes!"

Pegar

Endpoint que pega um registro específico.

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

Parameters

id: 1 (integer, required) - "Id da integração da medição."

Response

{success} Response 200 (application/json)

{
    "id": 1,
    "active": true,
    "external_id": "ASD123",
    "integration_account": {
        "id": 1,
        "name": "Configuração Teste 01"
    },
    "equipment": {
        "id": 1,
        "name": "Medição 01"
    },
    "route": {
        "slug": "route01",
        "name": "Endpoint 01"
    },
    "company": {
        "id": 1,
        "name": "022 - Gestal Integration"
    }
}

{primary} Response 204 (application/json)

Quando o registro não existir.

{warning} Response 403 (application/json)

"Permissões insuficientes!"

Criar

Endpoint que cria um registro.

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

Attributes

integration_account_id: 1 (required, integer) - "Id da configuração de integração."
equipment_id: 1 (required, integer) - "Id da medição."
external_id: 'ASD123' (required, string) - "Identificador da medição da API externa"
route: 'route01' (required, string) - "Slug do endpoint que fornecida pela API externa"
active: true (boolean) - "Campo para informar se está ativo ou desativado"

{info} Observações:

Campo integration_account_id só poderá ser informada de diferentes grupos econômicos apenas pelo Super Admin, caso contrário terá que ser o grupo econômico do usuário logado.

Campo route terá que mandar o slug da lista do endpoint Endpoints.

Response

{success} Response 201 (application/json)

{
    "id": 1,
    "integration_account_id": 1,
    "equipment_id": 1,
    "active": true,
    "external_id": "ASD123",
    "route": "route01",
    "created_at": "2023-08-18 15:43:14",
    "updated_at": "2023-08-18 15:43:14"
}

{warning} Response 422 (application/json)

{
  "integration_account_id": [
    "O campo configuração de integração é obrigatório.",
    "Permissões insuficientes para esse grupo econômico."
  ],
  "equipment_id": [
    "O campo medição é obrigatório.",
    "Permissões insuficientes para esse grupo econômico."
  ],
  "route": [
    "O campo rotas é obrigatório."
  ],
  "active": [
    "O campo ativo deve ser verdadeiro ou falso."
  ],
  "external_id": [
    "O campo código é obrigatório."
  ]
}

{warning} Response 403 (application/json)

"Permissões insuficientes!"

Atualizar

Endpoint que atualiza um registro específico.

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

Parameters

id: 1 (integer, required) - "Id da configuraçao da integração."

Attributes

integration_account_id: 1 (integer) - "Id da configuração de integração."
equipment_id: 1 (integer) - "Id da medição."
external_id: 'ASD123' (string) - "Identificador da medição da API externa"
route: 'route01' (string) - "Slug do endpoint que fornecida pela API externa"
active: true (boolean) - "Campo para informar se está ativo ou desativado"

{info} Observações:

Campo integration_account_id só poderá ser informada de diferentes grupos econômicos apenas pelo Super Admin, caso contrário terá que ser o grupo econômico do usuário logado.

Campo route terá que mandar o slug da lista do endpoint Endpoints.

Para atualizar o apenas o campo active basta informar o mesmo no payload.

Response

{success} Response 200 (application/json)

"Registro atualizado com sucesso!"

{warning} Response 422 (application/json)

{
    "name": [
        "O campo nome é obrigatório."
    ],
    "token": [
        "O campo token é obrigatório quando nome de usuário e senha não está presente."
    ],
    "username": [
        "O campo nome de usuário é obrigatório quando token não está presente."
    ],
    "password": [
        "O campo senha é obrigatório quando token não está presente."
    ],
    "frequency": [
        "O campo frequência é obrigatório.",
        "O campo frequência deve ser um número inteiro."
    ],
    "delay": [
        "O campo tempo de espera deve ser um número inteiro."
    ]
}

{warning} Response 403 (application/json)

"Permissões insuficientes!"

Deletar

Endpoint que deleta um registro específico.

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

Parameters

id: 1 (integer, required) - "Id da integração da medição."

Response

{success} Response 200 (application/json)

"Registro excluído com sucesso!"

{warning} Response 400 (application/json)

"Algo inesperado ocorreu."

{warning} Response 403 (application/json)

"Permissões insuficientes!"