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 do equipamento relacionado a configuração."

{info} Observações:

Apenas o Super Admin que poderá listar todas as integrações que esteja ou não vinculado a conta do mesmo, caso contrário será listado apenas as integrações vinculadas na conta 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": "Equipamento 01"
      },
      "route": {
        "slug": "route01",
        "name": "Endpoint 01"
      }
    }
  ],
  "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 essa conta."
    ],
    "equipment_id": [
        "O campo equipamento deve ser um número inteiro.",
        "Permissões insuficientes para essa conta."
    ]
}

{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 do equipamento."

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": "Equipamento 01"
    },
    "route": {
        "slug": "route01",
        "name": "Endpoint 01"
    }
}

{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 do equipamento."
external_id: 'ASD123' (required, string) - "Identificador do equipamento 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 contas apenas pelo Super Admin, caso contrário terá que ser a conta 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 essa conta."
  ],
  "equipment_id": [
    "O campo equipamento é obrigatório.",
    "Permissões insuficientes para essa conta."
  ],
  "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 do equipamento."
external_id: 'ASD123' (string) - "Identificador do equipamento 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 contas apenas pelo Super Admin, caso contrário terá que ser a conta 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 do equipamento."

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!"