Configuração por conta da Integração


Listar

Endpoint que lista todos os registros cadastrados.

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

Parameters

_q: 'Nome' (string) - "Busca pelo nome configurado na integração."
_sort: 'id' (string) ('id', 'name', 'created_at') - "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_id: 1 (integer) - "Id da integração."
account_id: 1 (integer) - "Id da conta do usuário relacionado a configuração."

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

Response 200 (application/json)

{

  "items": [
      {
        "id": 1,
        "name": "Config - Integração 1",
        "integration": {
            "id": 1,
            "name": "Integração 1"
        },
        "account": {
            "id": 1,
            "name": "Conta 1"
        },
        "user": {
            "id": 1,
            "name": "Nome do usuário que configurou"
        }
      },
      {
        "id": 2,
        "name": "Config - Integração 2",
        "integration": {
            "id": 2,
            "name": "Integração 2"
        },
        "account": {
            "id": 2,
            "name": "Conta 2"
        },
        "user": {
            "id": 1,
            "name": "Nome do usuário que configurou"
        }
      }
  ],
  "total": 2,
  "per_page": 10,
  "current_page": 1
}

Response 204 (application/json).

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

Response 422 (application/json)

{
    "_q": [
        "O campo _q deve ser uma string."
    ],
    "_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_id": [
        "O campo integration_id deve ser um número inteiro."
    ],
    "account_id": [
        "O campo account_id deve ser um número inteiro."
    ]
}

Response 403 (application/json)

"Permissões insuficientes!"

Pegar

Endpoint que pega um registro específico.

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

Parameters

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

Response

Response 200 (application/json)

{
    "id": 1,
    "name": "Config - Integração 1",
    "integration": {
        "id": 1,
        "name": "Integração 1"
    },
    "account": {
        "id": 1,
        "name": "Conta 1"
    },
    "user": {
        "id": 1,
        "name": "Nome do usuário que configurou"
    },
    "token": "10GcfWaFeWNSJ9bB8e3n",
    "username": "username",
    "frequency": {
        "id": 2,
        "name": "Horário"
    },
    "delay": 0
}

Response 204 (application/json)

Quando o registro não existir.

Response 403 (application/json)

"Permissões insuficientes!"

Criar

Endpoint que cria um registro.

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

Attributes

integration_id: 1 (required, integer) - "Id da integração."
account_id: 1 (integer) - "Id da conta do usuário relacionado a configuração. (Apenas Super Admin)"
name: 'Nome do relatório' (required, string) - "Nome do relatório"
token: 'token' (string) - "Token fornecido pela API externa"
username: 'username' (string) - "Usuário fornecido pela API externa"
password: 'password' (string) - "Senha fornecido pela API externa"
frequency: 1 (required, integer) - "Id da Frequência que o Zordon irá pagar as informações na API externa"
delay: 1 (required, integer) - "Tempo de espera em minutos que o Zordon irá pagar as informações na API externa"

Observações:

Campo account_id só poderá ser informada apenas pelo Super Admin.

Campo token é requerido quando não existir o username e password.

Campo username e password são requeridos quando não existir o token.

Campo username e password são requeridos quando não existir o token.

Campo frequency terá que mandar o ID da frequência listada no endpoint Frenquências.

Response

Response 201 (application/json)

{
  "id": 1,
  "name": "Config - Integração 1",
  "integration": {
    "id": 1,
    "name": "Integração 1"
  },
  "account": {
    "id": 1,
    "name": "Conta 1"
  },
  "user": {
    "id": 1,
    "name": "Nome do usuário que configurou"
  },
  "token": "10GcfWaFeWNSJ9bB8e3n",
  "username": "username",
  "frequency": {
    "id": 2,
    "name": "Horário"
  },
  "delay": 0
}

Response 422 (application/json)

{
    "integration_id": [
        "O campo integração é obrigatório."
    ],
    "account_id": [
        "Permissões insuficientes!"
    ],
    "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."
    ]
}

Response 403 (application/json)

"Permissões insuficientes!"

Atualizar

Endpoint que atualiza um registro específico.

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

Parameters

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

Attributes

name: 'Nome do relatório' (required, string) - "Nome do relatório"
token: 'token' (string) - "Token fornecido pela API externa"
username: 'username' (string) - "Usuário fornecido pela API externa"
password: 'password' (string) - "Senha fornecido pela API externa"
frequency: 1 (required, integer) - "Id da Frequência que o Zordon irá pagar as informações na API externa"
delay: 1 (required, integer) - "Atraso em minutos que o Zordon irá pagar as informações na API externa"

Observações:

Campo token é requerido quando não existir o username e password.

Campo username e password são requeridos quando não existir o token.

Campo username e password são requeridos quando não existir o token.

Campo frequency terá que mandar o ID da frequência listada no endpoint Frenquências.

Response

Response 200 (application/json)

{
  "id": 1,
  "name": "Config - Integração 1",
  "integration": {
    "id": 1,
    "name": "Integração 1"
  },
  "account": {
    "id": 1,
    "name": "Conta 1"
  },
  "user": {
    "id": 1,
    "name": "Nome do usuário que configurou"
  },
  "token": "10GcfWaFeWNSJ9bB8e3n",
  "username": "username",
  "frequency": {
    "id": 2,
    "name": "Horário"
  },
  "delay": 0
}

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."
    ]
}

Response 403 (application/json)

"Permissões insuficientes!"

Deletar

Endpoint que deleta um registro específico.

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

Parameters

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

Response

Response 200 (application/json)

"Registro excluído com sucesso!"

Response 400 (application/json)

"Algo inesperado ocorreu."

Response 403 (application/json)

"Permissões insuficientes!"