Grupos de Unidades

Esta é uma API para cadastro de grupos de unidades.

Esta API é autenticada usando OAuth2, ver documentação de autenticação

Listagem de grupos de unidades

GET /api/v1/cdm/groups

API para listagem de grupos de unidades

Exemplo requisição

GET /api/v1/cdm/groups HTTP/1.1
Host: cdm.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>

Exemplo resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "total": 3,
  "groups": [
    {
      "id": "AxUBdRob2tRLq9sPCfQFG",
      "name": "Grupo01",
      "ip_prefix": "10.3",
      "mask": 24,
      "exten_prefix": "123",
      "pings": [
        {
          "id": "BxUBdRob2tRLq9sPCfQFG",
          "name": "ping01",
          "hostname": "192.168.0.15",
          "interface": "wan1",
          "main": true
        }
      ]
    },
    {
      "id": "Az2wVuhoLr4zuuS7DQfjf",
      "name": "Grupo02",
      "ip_prefix": "10.9",
      "mask": 24,
      "exten_prefix": "1359",
      "pings": [
        {
          "id": "BaIBdRob2tRLq9sPCfQFG",
          "name": "ping01",
          "hostname": "192.168.0.9",
          "interface": "wan2",
          "main": true
        }
      ]
    },
    {
      "id": "AzAetqgLeQMtTLg1vmPbV",
      "name": "group03",
      "ip_prefix": "10.7",
      "mask": 24,
      "exten_prefix": "13",
      "pings": []
    }
  ]
}

Buscar um grupo de unidades

GET /api/v1/cdm/groups/id

API para buscar um grupo de unidades

Exemplo requisição

GET /api/v1/cdm/groups/Az2g33hnCce1mLEcPRhEF HTTP/1.1
Host: cdm.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>

Exemplo resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "Az2g33hnCce1mLEcPRhEF",
  "name": "Grupo01",
  "ip_prefix": "10.3",
  "mask": 24,
  "exten_prefix": "123",
  "pings": [
    {
      "id": "BaIBdRob2tRLq9sPCfQFG",
      "name": "ping01",
      "hostname": "192.168.0.9",
      "interface": "wan2",
      "main": true
    },
    {
      "id": "ZxcBdRob2tRLq9sPCfQFG",
      "name": "ping02",
      "hostname": "192.168.10.10",
      "interface": "vpn",
      "main": false
    }
  ]
}

Criar um grupo de unidades

POST /api/v1/cdm/groups

API para criação de um grupo de unidades

Exemplo requisição

POST /api/v1/cdm/groups HTTP/1.1
Host: cdm.exemplo.com
Content-Type: application/json
Accept: application/json
Authorization: Bearer <Access-Token>

{
  "name": "GrupoUnidades01",
  "ip_prefix": "10.3",
  "mask": 24,
  "exten_prefix": "123",
  "pings": [
    {
      "name": "ping01",
      "hostname": "192.168.0.9",
      "interface": "wan2",
      "main": true
    }
  ]
}

Exemplo resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "Az2g33hnCce1mLEcPRhEF",
  "name": "GrupoUnidades01",
  "ip_prefix": "10.3",
  "mask": 24,
  "exten_prefix": "123",
  "pings": [
    {
      "id": "BaIBdRob2tRLq9sPCfQFG",
      "name": "ping01",
      "hostname": "192.168.0.9",
      "interface": "wan2",
      "main": true
    }
  ]
}

Atualizar um grupo de unidades

PUT /api/v1/cdm/groups/id

API para atualização de um grupo de unidades

Exemplo requisição

PUT /api/v1/cdm/groups/Az2g33hnCce1mLEcPRhEF HTTP/1.1
Host: cdm.exemplo.com
Content-Type: application/json
Accept: application/json
Authorization: Bearer <Access-Token>

{
  "name": "GrupoUnidades03"
}

Exemplo resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "Az2g33hnCce1mLEcPRhEF",
  "name": "GrupoUnidades03",
  "ip_prefix": "10.3",
  "mask": 24,
  "exten_prefix": "123",
  "pings": []
}

Apagar um grupo de unidades

DELETE /api/v1/cdm/groups/id

API para remoção de um grupo de unidades

Exemplo requisição

DELETE /api/v1/cdm/groups/Az2g33hnCce1mLEcPRhEF HTTP/1.1
Host: cdm.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>

Exemplo resposta

HTTP/1.1 200 OK
Content-Type: application/json

Formato dos dados

Parâmetros da url

idstring Identificador do grupo de unidades

Requisição

namestringrequerido único Nome do grupo de unidades Tamanho mínimo: 3
ip_prefixstringrequerido único Prefixo da rede do grupo de unidades O prefixo deve ser um IP válido
maskintrequerido Máscara da rede do grupo de unidades Tamanho mínimo: 8
Tamanho máximo: 30
exten_prefixstringrequerido único Prefixo do ramal do grupo de unidades Tamanho mínimo: 1
Tamanho máximo: 4
pingsarray<object> Informações para realização do monitoramento (através de pings) dos roteadores que pertencem ao grupo de unidades

Esse campo não é obrigatório no momento do cadastro. Se não informado, o campo é criado como um array vazio

Quando informado os pings no momento do cadastro, os campos utilizados são:

pings.namestringrequerido único

Identificador textual do ping que será realizado

pings.hostnamestringrequerido

Hostname utilizado como destino para o ping

pings.interfacestringrequerido

Interface de saída que será utilizada para o ping

Interfaces possíveis:

  • wan1
  • wan2
  • vpn

pings.mainboolean

Indica se o ping a ser realizado será o principal. Isto é, indica se será o ping utilizado como referência para verificação do status de conexão do roteador

Valor padrão: false

Só é possível ter um único ping cadastrado como main:true por grupo de unidades

Resposta

idstring Identificador do grupo de unidades
namestring Nome do grupo de unidades
ip_prefixstring Prefixo da rede do grupo de unidades
maskint Máscara da rede do grupo de unidades
exten_prefixstring Prefixo do ramal do grupo de unidades
pings.idstring ID do ping
pings.namestring Identificador textual do ping
pings.hostnamestring Hostname utilizado como destino para o ping
pings.interfacestring Interface de saída utilizada para o ping
pings.mainboolean Indica se o ping realizado é o principal. Isto é, indica se é o ping utilizado como referência para verificação do *status* de conexão do roteador