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);
}
?>