Pular para conteúdo

Lista de ações

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

API de gerenciamento de listas de ações para permissões.

Uma lista de ações define as ações que um grupo de usuários poderá acessar na API e painel GoCache.

Para associar uma lista de permissões a um grupo de usuários, veja Criar permissão.

Alterar lista de ações

Altera as ações em uma lista existente. Todas as ações serão substituidas pela nova lista fornecida.

PUT /v1/action-list/{id}
$ curl -i "https://api.gocache.com.br/v1/action-list/99" \
-X PUT \
-H 'GoCache-Token:seu_token' \
-d 'smartrules.*=read'
<?php

$ch = curl_init("https://api.gocache.com.br/v1/action-list/99");

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

curl_setopt($ch, CURLOPT_HTTPHEADER, array("GoCache-Token: seu_token"));
$urls = array(
        "smartrules.*=read"
        );
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 da lista de ações. Esse identificador pode ser obtido usando GET ou ao cadastrar uma lista.
name ✓ String Nome da lista de ações
account ✓ Object account.*
Seção de configurações da conta (Minha Conta)
Valores permitidos: "create", "read", "update", "delete"
 account ✓ Object account.account
Acesso e renovação da chave de API e um usuário
Valores permitidos: "read" , "update"
 history ✓ Object account.history
Acesso ao histórico de alterações
Valores permitidos: "read"
 invoice ✓ Object account.invoce
Acesso a faturas
Valores permitidos: "read"
 permission ✓ Object account.permission
Gerenciamento de permissões
Valores permitidos: "create" , "read" , "update" , "delete"
 plan ✓ Object account.plan
Acesso a informações do plano
Valores Permitidos: "read"
 usage ✓ Object account.usage
Acesso a informações de consumo
Valores permitidos: "read"
 user ✓ Object account.user
Gerenciamento de usuários
Valores permitidos: "create" , "read" , "update" , "delete"
 domain ✓ Object account.domain
Habilita a criação de novos domínios
Valores permitidos: "create"
 edge_insights ✓ Object account.edge_insights
Habilita o acesso a funcionalidade do Edge Insights
Valores permitidos: "create" , "read" , "update" , "delete"
domain ✓ Object domain.*
Seção de Domínios
Valores permitidos: "create" , "read"" , "update"" , "delete"
 analytics ✓ Object domain.analytics
Acesso ao Analytics
Valores permitidos: "read"
 dns ✓ Object domain.dns
Gerenciamento de entradas de DNS
Valores permitidos: "create", "read", "update", "delete"
 domain ✓ Object domain.domain
Gerenciamento de domínios
Valores permitidos: "read", "delete"
security ✓ Object security.*
Seção de segurança
Valores permitidos: "create" , "read" , "update" , "delete"
 firewall ✓ Object security.firewall
Gerenciamento de regras de firewall
Valores permitidos: "create" , "read" , "update" , "delete"
 ratelimit ✓ Object security.ratelimit.*
Seção de Rate Limit
Valores permitidos: "create" , "read" , "update" , "delete"

CUSTOM
  rate_limit_ignore_known_bots ✓ Object security.ratelimit.rate_limit_ignore_known_bots
Desconsiderar bots conhecidos
Valores permitidos: "read" , "update"

CUSTOM
  rate_limit_ignore_static_content ✓ Object security.ratelimit.rate_limit_ignore_static_content
Desconsiderar conteúdo estático
Valores permitidos: "read", "update"

CUSTOM
  rate_limit_status ✓ Object security.ratelimit.rate_limit_status
Ativa ou desativa o Rate Limit
Valores permitidos: "read , "update"

CUSTOM
  rule ✓ Object security.ratelimit.rule
Gerenciamento de regras de Rate Limit
Valores permitidos: "create" , "read" , "update" , "delete"

CUSTOM
 bot_mitigation ✓ Object security.botmitigation
Gerenciamento do Bot Mitigation
Valores permitidos: "create", "read" , "update" , "delete"

 waf ✓ Object security.waf
Gerenciamento do WAF
Valores permitidos: "create", "read" , "update" , "delete"

 expire_challenge ✓ Object security.expire_challenge
Validade do captcha
Valores permitidos: "read" , "update" , "delete"

settings ✓ Object settings.*
Seção de configurações
Valores permitidos: "create" , "read" , "update" , "delete"
 cache ✓ Object settings.cache.*
Seção de configurações relacionadas ao cache
Valores permitidos: "read" , "update" , "delete"
  cache 301 ✓ Object settings.cache.cache_301
Configuração de cache por status code 301
Valores permitidos: "read" , "update"
  cache 302 ✓ Object settings.cache.cache_302
Configuração de cache por status code 302
Valores permitidos: "read" , "update"
  cache 404 ✓ Object settings.cache.cache_404
Configuração de cache por status code 404
Valores permitidos: "read" , "update"
  cache_ttl ✓ Object settings.cache.cache_ttl
Configuração de TTL de cache
Valores permitidos: "read" , "update"
  cache_behavior ✓ Object settings.cache.caching_behavior
Configuração de comportamento de cache
Valores permitidos: "read" , "update"
  deploy_mode ✓ Object settings.cache.deploy_mode
Configuração de TTL do modo de desenvolvimento
Valores permitidos: "read" , "update"
  expires_ttl ✓ Object settings.cache.expires_ttl
Valores permitidos: "read" , "update"
  ignore_cache_control ✓ Object settings.cache.ignore_cache_control
Configuração de ignorar cabeçalho cache-control
Valores permitidos: "read" , "update"
  ignore_expires ✓ Object settings.cache.ignore_expires
Configuração de ignorar cabeçalho expires
Valores permitidos: "read" , "update"
  ignore_vary ✓ Object settings.cache.ignore_vary
Configuração de ignorar cabeçalho vary
Valores permitidos: "read" , "update"
  purge ✓ Object settings.cache.purge
Limpeza de cache por URL, tags, mime-type
Valores permitidos: "delete"
  purge_all ✓ Object settings.cache.purge_all
Limpeza de cache completa
Valores permitidos: "delete"
  smart_status ✓ Object settings.cache.smart_status
Configuração de SmartCache
Valores permitidos: "read" , "update"
  smart_tpl ✓ Object settings.cache.smart_tpl
Configuração de template de SmartCache
Valores permitidos: "read" , "update"
  smart_ttl ✓ Object settings.cache.smart_ttl
Tempo de expiração de cache do SmartCache
Valores permitidos: "read" , "update"
 main ✓ Object settings.main.*
Seção de configurações principais
Valores permitidos: "read", "update"
  cdn_mode ✓ Object settings.main.cdn_mode
Modo NS/CNAME
Valores permitidos: "read" , "update"
  header_device_type ✓ Object settings.main.header_device_type
Configuração de tipo de dispositivo
Valores permitidos: "read" , "update"
  header_geoip_continent ✓ Object settings.main.header_geoip_continent
Configuração de cabeçalho de continente
Valores permitidos: "read" , "update"
  header_geoip_country ✓ Object settings.main.header_geoip_country
Configuração de cabeçalho de país
Valores permitidos: "read" , "update"
  header_geoip_continent ✓ Object settings.main.header_geoip_continent
Configuração de cabeçalho de continente
Valores permitidos: "read" , "update"
  header_geoip_org ✓ Object settings.main.header_geoip_org
Configuração de cabeçalho de organização
Valores permitidos: "read" , "update"
 performance ✓ Object settings.performance.*
Seção de configurações relacionadas a performance e otimizações
Valores permitidos: "read", "update"
  gzip_status ✓ Object settings.performance.gzip_status
Alteração de configuração de compressão gzip
Valores permitidos: "read" , "update"
  image_optimize ✓ Object settings.performance.image_optimize
Configuração de ativação do Lithio
Valores permitidos: "read" , "update"

  image_optimize_level ✓ Object settings.performance.image_optimize_level
Configuração de nível de otimização do Lithio
Valores permitidos: "read" , "update"

  image_optimize_metadata ✓ Object settings.performance.image_optimize_metadata
Configuração de remover metadados do Lithio
Valores permitidos: "read" , "update"

  image_optimize_progressive ✓ Object settings.performance.image_optimize_progressive
Configuração de jpeg progressivo do Lithio
Valores permitidos: "read" , "update"

  image_optimize_webp ✓ Object settings.performance.image_optimize_webp
Configuração de otimização webp do Lithio
Valores permitidos: "read" , "update"

 ssl ✓ Object settings.ssl.*
Seção de configurações de SSL
Valores permitidos: "create", "read", "update", "delete"
  certificate ✓ Object settings.ssl.certificate
Alteração de certificado customizado
Valores permitidos: "create", "read", "update", "delete"

  ssl_mode ✓ Object settings.ssl.ssl_mode
Configuração de modo SSL
Valores permitidos: "read" , "update"
  tls10 ✓ Object settings.ssl.tls10
Configuração de TLS 1.0
Valores permitidos: "read" , "update"
  tls11 ✓ Object settings.ssl.tls11
Configuração de TLS 1.1
Valores permitidos: "read" , "update"
smartrules ✓ Object smartrules.*

Valores permitidos: "create", "read", "update", "delete" , "order"
 firewall ✓ Object smartrules.firewal
Alteração da ordem de Smart Rules de firewall
Valores permitidos: "create", "read", "update", "delete" , "order"

 rewrite ✓ Object smartrules.rewrite
Alteração da ordem de Smart Rules redirecionamento
Valores permitidos: "create", "read", "update", "delete" , "order"
 settings ✓ Object smartrules.settings
Alteração da ordem de Smart Rules gerais
Valores permitidos: "create", "read", "update", "delete" , "order"
wildcard ✓ Object *
Todas as ações. Podem ser inseridas com =
Valores permitidos: "create", "read", "update", "delete" , "order" , "*"
    HTTP/1.1 200 OK
        {
            "status_code": 200,
        "response": [
            {
                "actions": {
                    "security.waf.expire_bypass_sec": [
                            "read"
                    ],
                    "account.usage": [
                        "read"
                    ]
                },
                "name": "read only",
                "created_at": "2021-01-13 16:42:42",
                "id": 421
            }
        ]
    }
    <?php

    if( $statusCode == 200 ) {

        echo("Sucesso!\n");

        $obj = json_decode($obj->response);
        echo("Lista de acoes alterada: " . $obj['id']);
    }
    ?>

Criar lista de ações

Cria uma lista de ações

POST /v1/action-list/
    $ curl -i "https://api.gocache.com.br/v1/action-list" \
    -X POST \
    -H 'GoCache-Token:seu_token' \
    -d 'name=Permissoes de Suporte' \
    -d 'settings.performance.image_optimize=read, update' \
    -d 'smartrules.*=create, read, update' \
    -d 'domain.dns=*'
    <?php
    $ch = curl_init("https://api.gocache.com.br/v1/action-list");

    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=Permissoes de Suporte",
    'settings.performance.image_optimize=read, update',
    'smartrules.*=create, read, update',
    'domain.dns=*',
           );
    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 da lista de ações
account ✓ Object account.*
Seção de configurações da conta (Minha Conta)
Valores permitidos:"create", "read", "update", "delete"
 account ✓ Object account.account
Acesso e renovação da chave de API e um usuário
Valores permitidos: "read" , "update"
 history ✓ Object account.history
Acesso ao histórico de alterações
Valores permitidos: "read"
 invoice ✓ Object account.invoce
Acesso a faturas
Valores permitidos: "read"
 permission ✓ Object account.permission
Gerenciamento de permissões
Valores permitidos: "create" , "read" , "update" , "delete"
 plan ✓ Object account.plan
Acesso a informações do plano
Valores Permitidos: "read"
 usage ✓ Object account.usage
Acesso a informações de consumo
Valores permitidos: "read"
 user ✓ Object account.user
Gerenciamento de usuários
Valores permitidos: "create" , "read" , "update" , "delete"
 domain ✓ Object account.domain
Habilita a criação de novos domínios
Valores permitidos: "create"
 edge_insights ✓ Object account.edge_insights
Habilita o acesso a funcionalidade do Edge Insights
Valores permitidos: "create" , "read" , "update" , "delete"
domain ✓ Object domain.*
Seção de Domínios
Valores permitidos: "create" , "read"" , "update"" , "delete"
 analytics ✓ Object domain.analytics
Acesso ao Analytics
Valores permitidos: "read"
 dns ✓ Object domain.dns
Gerenciamento de entradas de DNS
Valores permitidos: "create", "read", "update", "delete"
 domain ✓ Object domain.domain
Gerenciamento de domínios
Valores permitidos: "read", "delete"
security ✓ Object security.*
Seção de segurança
Valores permitidos: "create" , "read" , "update" , "delete"
 firewall ✓ Object security.firewall
Gerenciamento de regras de firewall
Valores permitidos: "create" , "read" , "update" , "delete"
 ratelimit ✓ Object security.ratelimit.*
Seção de Rate Limit
Valores permitidos: "create" , "read" , "update" , "delete"

CUSTOM
  rate_limit_ignore_known_bots ✓ Object security.ratelimit.rate_limit_ignore_known_bots
Desconsiderar bots conhecidos
Valores permitidos: "read" , "update"

CUSTOM
  rate_limit_ignore_static_content ✓ Object security.ratelimit.rate_limit_ignore_static_content
Desconsiderar conteúdo estático
Valores permitidos: "read", "update"

CUSTOM
  rate_limit_status ✓ Object security.ratelimit.rate_limit_status
Ativa ou desativa o Rate Limit
Valores permitidos: "read , "update"

CUSTOM
  rule ✓ Object security.ratelimit.rule
Gerenciamento de regras de Rate Limit
Valores permitidos: "create" , "read" , "update" , "delete"

CUSTOM
 bot_mitigation ✓ Object security.botmitigation
Gerenciamento do Bot Mitigation
Valores permitidos: ""create"", "read" , "update" , "delete"

 waf ✓ Object security.waf
Gerenciamento do WAF
Valores permitidos: ""create", "read" , "update" , "delete"

 expire_challenge ✓ Object security.expire_challenge
Validade do captcha
Valores permitidos: "read" , "update" , "delete"

settings ✓ Object settings.*
Seção de configurações
Valores permitidos: "create" , "read" , "update" , "delete"
 cache ✓ Object settings.cache.*
Seção de configurações relacionadas ao cache
Valores permitidos: "read" , "update" , "delete"
  cache 301 ✓ Object settings.cache.cache_301
Configuração de cache por status code 301
Valores permitidos: "read" , "update"
  cache 302 ✓ Object settings.cache.cache_302
Configuração de cache por status code 302
Valores permitidos: "read" , "update"
  cache 404 ✓ Object settings.cache.cache_404
Configuração de cache por status code 404
Valores permitidos: "read" , "update"
  cache_ttl ✓ Object settings.cache.cache_ttl
Configuração de TTL de cache
Valores permitidos: "read" , "update"
  cache_behavior ✓ Object settings.cache.caching_behavior
Configuração de comportamento de cache
Valores permitidos: "read" , "update"
  deploy_mode ✓ Object settings.cache.deploy_mode
Configuração de TTL do modo de desenvolvimento
Valores permitidos: "read" , "update"
  expires_ttl ✓ Object settings.cache.expires_ttl
Valores permitidos: "read" , "update"
  ignore_cache_control ✓ Object settings.cache.ignore_cache_control
Configuração de ignorar cabeçalho cache-control
Valores permitidos: "read" , "update"
  ignore_expires ✓ Object settings.cache.ignore_expires
Configuração de ignorar cabeçalho expires
Valores permitidos: "read" , "update"
  ignore_vary ✓ Object settings.cache.ignore_vary
Configuração de ignorar cabeçalho vary
Valores permitidos: "read" , "update"
  purge ✓ Object settings.cache.purge
Limpeza de cache por URL, tags, mime-type
Valores permitidos: "delete"
  purge_all ✓ Object settings.cache.purge_all
Limpeza de cache completa
Valores permitidos: "delete"
  smart_status ✓ Object settings.cache.smart_status
Configuração de SmartCache
Valores permitidos: "read" , "update"
  smart_tpl ✓ Object settings.cache.smart_tpl
Configuração de template de SmartCache
Valores permitidos: "read" , "update"
  smart_ttl ✓ Object settings.cache.smart_ttl
Tempo de expiração de cache do SmartCache
Valores permitidos: "read" , "update"
 main ✓ Object settings.main.*
Seção de configurações principais
Valores permitidos: "read", "update"
  cdn_mode ✓ Object settings.main.cdn_mode
Modo NS/CNAME
Valores permitidos: "read" , "update"
  header_device_type ✓ Object settings.main.header_device_type
Configuração de tipo de dispositivo
Valores permitidos: "read" , "update"
  header_geoip_continent ✓ Object settings.main.header_geoip_continent
Configuração de cabeçalho de continente
Valores permitidos: "read" , "update"
  header_geoip_country ✓ Object settings.main.header_geoip_country
Configuração de cabeçalho de país
Valores permitidos: "read" , "update"
  header_geoip_continent ✓ Object settings.main.header_geoip_continent
Configuração de cabeçalho de continente
Valores permitidos: "read" , "update"
  header_geoip_org ✓ Object settings.main.header_geoip_org
Configuração de cabeçalho de organização
Valores permitidos: "read" , "update"
 performance ✓ Object settings.performance.*
Seção de configurações relacionadas a performance e otimizações
Valores permitidos: "read", "update"
  gzip_status ✓ Object settings.performance.gzip_status
Alteração de configuração de compressão gzip
Valores permitidos: "read" , "update"
  image_optimize ✓ Object settings.performance.image_optimize
Configuração de ativação do Lithio
Valores permitidos: "read" , "update"

  image_optimize_level ✓ Object settings.performance.image_optimize_level
Configuração de nível de otimização do Lithio
Valores permitidos: "read" , "update"

  image_optimize_metadata ✓ Object settings.performance.image_optimize_metadata
Configuração de remover metadados do Lithio
Valores permitidos: "read" , "update"

  image_optimize_progressive ✓ Object settings.performance.image_optimize_progressive
Configuração de jpeg progressivo do Lithio
Valores permitidos: "read" , "update"

  image_optimize_webp ✓ Object settings.performance.image_optimize_webp
Configuração de otimização webp do Lithio
Valores permitidos: "read" , "update"

 ssl ✓ Object settings.ssl.*
Seção de configurações de SSL
Valores permitidos: "create", "read", "update", "delete"
  certificate ✓ Object settings.ssl.certificate
Alteração de certificado customizado
Valores permitidos: "create", "read", "update", "delete"

  ssl_mode ✓ Object settings.ssl.ssl_mode
Configuração de modo SSL
Valores permitidos: "read" , "update"
  tls10 ✓ Object settings.ssl.tls10
Configuração de TLS 1.0
Valores permitidos: "read" , "update"
  tls11 ✓ Object settings.ssl.tls11
Configuração de TLS 1.1
Valores permitidos: "read" , "update"
smartrules ✓ Object smartrules.*

Valores permitidos: "create", "read", "update", "delete" , "order"
 firewall ✓ Object smartrules.firewal
Alteração da ordem de Smart Rules de firewall
Valores permitidos: "create", "read", "update", "delete" , "order"

 rewrite ✓ Object smartrules.rewrite
Alteração da ordem de Smart Rules redirecionamento
Valores permitidos: "create", "read", "update", "delete" , "order"
 settings ✓ Object smartrules.settings
Alteração da ordem de Smart Rules gerais
Valores permitidos: "create", "read", "update", "delete" , "order"
wildcard ✓ Object *
Todas as ações. Podem ser inseridas com =
Valores permitidos: "create", "read", "update", "delete" , "order" , "*"

Exibir lista de ações

Consulta lista de ações cadastradas

GET /v1/action-list/
            $ curl -i "https://api.gocache.com.br/v1/action-list" \
            -H 'GoCache-Token:seu_token'
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
``` php
        <?php

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

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

Exemplo de sucesso

    HTTP/1.1 200 OK
    {
        "status_code": 200,
        "response": [
            {
                "id": 99,
                "name": Permissoes de Suporte",
                "created_at": "2021-01-01 23:59:59",
                "actions": {
                    "settings.performance.image_optimize": [
                        "read",
                        "update"
                    ],
                    "smartrules.settings": [
                        "create",
                        "read",
                        "update"
                    ],
                    "smartrules.firewall": [
                        "create",
                        "read",
                        "update"
                    ],
                    "smartrules.rewrite": [
                        "create",
                        "read",
                        "update"
                    ],
                    "domain.dns": [
                        "create",
                        "read",
                        "update",
                        "delete"
                    ]
                }
            }
        ]
    }
    <?php

    if( $statusCode == 200 ) {

        echo("Sucesso!\n");

        $obj = json_decode($response);

        echo("Lista de acoes criada: " . $obj['id'] );
    }
?>

Remover lista de ações

Remove uma lista de ações

Exclui uma lista de ações

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


    $ch = curl_init("https://api.gocache.com.br/v1/action-list/20");

    curl_setopt($ch, CURLOPT_DELETE, TRUE);
    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);
    ?>

Parâmetro

Campo Opcional Tipo Descrição
id Number Identificador da lista de ações. Esse identificador pode ser obtido usando GET ou ao cadastrar uma lista.
    HTTP/1.1 200 OK
    {
    "status_code": 200
    }
    <?php

    if( $statusCode == 200 ) {

        echo("Lista de acoes removida com sucesso!\n");
    }
    ?>