Pular para conteúdo

Usuários: Grupos

Painel multiusuário disponível a partir do plano CUSTOM

Introdução

Permite o gerenciamento de grupos de usuários.

Grupos de usuarios podem ser associados a uma ou mais permissões para controle de acesso.

Um grupo de usuários sem permissões associadas terá o acesso bloqueado em todas as APIs e páginas do painel GoCache.

Alterar grupo

Alterar grupo de usuários.

Se alterada a lista de usuários, a mesma deverá conter todos os usuários.

PUT /v1/user-group/{id}
$ curl -i -X PUT "https://api.gocache.com.br/v1/user-group/1" \
-H 'GoCache-Token:seu_token' \
-d 'user[]=hostmaster@seudominio.com.br' \
-d 'user[]=admin@seudominio.com.br' \
-d 'permission-id[]=99' \
-d 'name=Grupo de teste'
<?php

$ch = curl_init("https://api.gocache.com.br/v1/user-group/1");

curl_setopt($ch, CURLOPT_PUT, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_HTTPHEADER, array("GoCache-Token: seu_token"));
$urls = array(
        "user[]=hostmaster@seudominio.com.br",
        "user[]=admin@seudominio.com.br",
        "permission-id[]=99",
        "name=Grupo de teste"
        );
curl_setopt($ch, CURLOPT_POSTFIELDS, implode("&", $urls));
$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
?>

Parâmetros

Campo Opcional Tipo Descrição
id Number Identificador do grupo de usuários
name String Nome do grupo
user[] Number Vetor de email de usuários a serem associados com o grupo
permission-id[] Number Vetor de ID de permissões a serem associadas com o grupo
HTTP/1.1 200 OK
{
  "status_code": 200,
  "result": {
    "id": 11,
    "name": "nome-do-grupo",
    "created_at": "2020-01-31 23:59:59",
    "users": {
      "hostmaster@seudominio.com.br": {
        "success": true
      }
    },
    "authorization": [
      {
        "id": 123,
        "enabled": true,
        "created_at": "2020-01-01 10:00:00",
        "action-list": {
          "name": "Permissions administrativas",
          "id": 100,
          "actions": {
            "settings.cache.caching_behavior": [
              "read"
            ],
            "settings.ssl.tls11": [
              "read"
            ],
            "security.waf.expire_bypass_sec": [
              "read"
            ],
            "account.usage": [
              "read"
            ]
          }
        },
        "domain-list": {
          "domains": [
            "seudominio.com",
            "outrodominio.com.br"
          ]
        }
      }
    ]
  }
}
<?php

if( $statusCode == 200 ) {

    echo("Sucesso!\n");

    $obj = json_decode($response);

    print_r($obj);
}
?>

Criar grupo de usuários

Cria um grupo de usuários.

POST /v1/user-group
$ curl -i "https://api.gocache.com.br/v1/user-group" \
-X POST \
-H 'GoCache-Token:seu_token' \
-d 'name=nome-do-grupo' \
-d 'user[]=hostmaster@seudominio.com.br' \
-d 'permission-id[]=123'
<?php

$ch = curl_init("https://api.gocache.com.br/v1/user-group");

curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_HTTPHEADER, array("GoCache-Token: seu_token"));
$urls = array(
        "name=nome-do-grupo",
        "user[]=hostmaster@seudominio.com.br",
        "permission-id[]=123"
        );
curl_setopt($ch, CURLOPT_POSTFIELDS, implode("&", $urls));

$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
?>

Parâmetros

Campo Opcional Tipo Descrição
name String Nome do grupo
user[] Number Vetor de email de usuários a serem associados com o grupo
permission-id[] Number Vetor de ID de permissões a serem associadas com o grupo
HTTP/1.1 200 OK
{
  "status_code": 200,
  "result": {
    "id": 11,
    "name": "nome-do-grupo",
    "created_at": "2020-01-31 23:59:59",
    "users": {
      "hostmaster@seudominio.com.br": {
        "success": true
      }
    },
    "authorization": [
      {
        "id": 123,
        "enabled": true,
        "created_at": "2020-01-01 10:00:00",
        "action-list": {
          "name": "Permissions administrativas",
          "id": 100,
          "actions": {
            "settings.cache.caching_behavior": [
              "read"
            ],
            "settings.ssl.tls11": [
              "read"
            ],
            "settings.performance.image_optimize_level": [
              "read"
            ],
            "settings.cache.purge": [
              "delete"
            ],
            "settings.cache.purge.all": [
              "delete"
            ],
            "account.usage": [
              "read"
            ]
          }
        },
        "domain-list": {
          "domains": [
            "seudominio.com",
            "outrodominio.com.br"
          ]
        }
      }
    ]
  }
}
<?php

if( $statusCode == 200 ) {

    echo("Sucesso!\n");

    $obj = json_decode($response);

    if($obj->result) {
      echo("Grupo criado com sucesso: " . $obj->result->id);
    } else {
      echo("Ocorreu um erro na criação do grupo de usuários");
    }
}
?>

Listar grupos de um usuário

Lista os grupos aos quais um usuário pertence

GET /v1/user-group/user/{email}
$ curl -i "https://api.gocache.com.br/v1/user-group/user/hostmaster@seudominio.com" \
-H 'GoCache-Token:seu_token'
<?php

$ch = curl_init("https://api.gocache.com.br/v1/user-group/user/hostmaster@seudominio.com");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_HTTPHEADER, array("GoCache-Token: seu_token"));

$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
?>

HTTP/1.1 200 OK
{
    "status_code": 200,
    "result": [
        [
            {
                "created_at": "2021-01-13 16:42:42",
                "id": 317,
                "permission": [
                    [
                        {
                            "created_at": "2021-01-13 20:18:02",
                            "id": 456,
                            "type": false,
                            "enabled": true,
                            "action_list": {
                                "actions": {
                                    "settings.cache.caching_behavior": [
                                        "read",
                                        "update"
                                    ],
                                    "security.ratelimit.rule": [
                                        "read",
                                        "create",
                                        "delete",
                                        "update"
                                    ],
                                    "account.user": [
                                        "read",
                                        "create",
                                        "delete",
                                        "update"
                                    ],
                                    "security.waf.expire_bypass_sec": [
                                        "read",
                                        "update"
                                    ],
                                    "account.usage": [
                                        "read"
                                    ]
                                },
                                "name": "owner",
                                "id": 422
                            },
                            "domain_list": {
                                "domains": [
                                    "outrodominio.com.br",
                                    "seudominio.com"
                                ],
                                "name": "Techs",
                                "created_at": "2021-01-13 20:18:01",
                                "id": 423
                            }
                        }
                    ]
                ],
                "name": "admins",
                "users": [
                    "hostmaster@seudominio.com"
                ]
            }
        ]
    ]
}
<?php

if( $statusCode == 200 ) {

    echo("Sucesso!\n");

    $obj = json_decode($response);

    print_r($obj);

}
?>

Listar grupos

Consulta todos os grupos de usuário na conta

GET /v1/user-group
$ curl -i "https://api.gocache.com.br/v1/user-group" \
-H 'GoCache-Token:seu_token'
<?php

$ch = curl_init("https://api.gocache.com.br/v1/user-group");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_HTTPHEADER, array("GoCache-Token: seu_token"));

$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
?>

HTTP/1.1 200 OK
{
    "status_code": 200,
    "response": [
        {
            "id": 1,
            "name": "Usuarios administrativos",
            "created_at": "2020-01-31 17:00:00",
            "users": [
                "hostmaster@seudominio.com.br",
                "admin@seudominio.com.br"
            ],
            "authorization": [
                {
                    "id": 99,
                    "enabled": true,
                    "created_at": "2020-01-01 10:00:00",
                    "action-list": {
                        "name": "Permissions administrativas"
                        "id": 100,
                        "actions": {
                            "settings.cache.caching_behavior": [
                                "read",
                                "update"
                            ],
                            "domain.domain": [
                                "create",
                                "delete",
                                "read"
                            ],
                            "settings.cache.cache_ttl": [
                                "read",
                                "update"
                            ],
                            "settings.cache.smart_status": [
                                "read",
                                "update"
                            ],
                            "security.waf.expire_bypass_sec": [
                                "read",
                                "update"
                            ],
                            "account.usage": [
                                "read"
                            ]
                        }
                    },
                    "domain-list": {
                        "domains": [
                            "seudominio.com",
                            "outrodominio.com.br"
                        ]
                    }
                }
            ]
        },
        {
            "id": 2,
            "name": "Usuarios somente leitura",
            "created_at": "2020-01-31 12:00:00",
            "users": [
                "usuario1@seudominio.com",
                "usuario2@seudominio.com",
                "usuario3@seudominio.com"
            ],
            "authorization": [
                {
                    "id": 100,
                    "enabled": true,
                    "created_at": "2020-01-31 03:59:59",
                    "action-list": {
                        "id": 101,
                        "name": "Somente limpeza de cache leitura"
                        "actions": {
                            "settings.cache.purge": [
                                "delete"
                            ],
                        }
                    },
                    "domain-list": {
                        "domains": [
                            "seudominio.com"
                        ]
                    }
                }
            ]
        }
    ]
}
<?php

if( $statusCode == 200 ) {

    echo("Sucesso!\n");

    $obj = json_decode($response);

    print_r($obj);

}
?>

Remover grupo

Remove uma lista de usuários.

DELETE /v1/user-group/{id}
$ curl -i "https://api.gocache.com.br/v1/user-group/1" \
-X DELETE \
-H 'GoCache-Token:seu_token'
<?php

$ch = curl_init("https://api.gocache.com.br/v1/user-group/1");

curl_setopt($ch, CURLOPT_DELETE, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_HTTPHEADER, array("GoCache-Token: seu_token"));
$urls = array(
        "id=12"
);
curl_setopt($ch, CURLOPT_POSTFIELDS, implode("&", $urls));
$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
?>

Parâmetro

Campo Opcional Tipo Descrição
id Number Identificador da permissão atribuída ao usuário.
HTTP/1.1 200 OK
{
    "status_code": 200
}
<?php

if( $statusCode == 200 ) {

    echo("Sucesso!\n");

    $obj = json_decode($response);
}
?>