Pular para conteúdo

API Firewall

Listar arquivos

Lista os IDs dos arquivos cadastrados no domínio.

GET /v1/api-firewall/seudominio.com.br
$ curl -i https://api.gocache.com.br/v1/api-firewall/seudominio.com.br \
  -H 'GoCache-Token: seu_token'

Exemplo de Sucesso

HTTP/1.1 200 OK

{"ids": ["943f14017df42b38e4b7c01910bd3723",
"af96b4c2d00e403af156973b843e6d51",
"816efdcb8c33abdffcece6cc30d9eb33",
"9cfca76e459a7cc312b7bec8945122b3",
"b60a921afd5dc61f0b0991c27ad7a744"],
"status_code": 1
}

Listar regras

Lista as regras de um arquivo.

GET /v1/api-firewall/seudominio.com.br/{id_arquivo}
$ curl -i https://api.gocache.com.br/v1/api-firewall/seudominio.com.br/943f14017df42b38e4b7c01910bd3723 \
  -H 'GoCache-Token: seu_token'

Exemplo de Sucesso

HTTP/1.1 200 OK

{
"status_code": 1,
"response": {
  "created_at": "1729529501",
  "id": "943f14017df42b38e4b7c01910bd3723",
  "resources": [
    {
      "resources": [
        {
          "path": "/users/{userId}/posts",
          "methods": [
            {
              "post": "block"
            },
            {
              "get": "simulate"
            }
          ]
        }
      ],
      "tag": "users"
    }
  ],
  "active": true,
  "version": "1.0.0",
  "title": "API Posts",
  "description": "API de posts de usuários",
  "urls": [
    {
      "host": "www.seudominio.com.br",
      "schema": "https",
      "path": "/v1"
    }
  ],
  "action": "block"
  }
}

Criar regras

Faz o upload de um arquivo da especificação Swagger/OpenAPI, e cria as regras para todas as rotas definidas no arquivo. Esta rota não espera o content type multipart/form-data, o corpo da requisição deve conter apenas os dados do arquivo bruto.

POST /v1/api-firewall/seudominio.com.br
$ curl -i https://api.gocache.com.br/v1/api-firewall/seudominio.com.br \
-H 'GoCache-Token: seu_token' -d @swagger.json

Exemplo de Sucesso

HTTP/1.1 200 OK

{"status_code": 1, "warnings": [], "id": "d60a75c7c1d6a4e7321d7ac9f98f09b7"}

Deletar regras

Deleta todas as regras referentes a um arquivo da especificação Swagger/OpenAPI.

DELETE /v1/api-firewall/seudominio.com.br/{id_arquivo}
$ curl -i -X DELETE https://api.gocache.com.br/v1/api-firewall/seudominio.com.br/d60a75c7c1d6a4e7321d7ac9f98f09b7 \
-H 'GoCache-Token: seu_token'

Exemplo de Sucesso

HTTP/1.1 200 OK

{"status_code": 1, "deleted": "d60a75c7c1d6a4e7321d7ac9f98f09b7"}

Atualizar regras

Permite atualizar a ação de rotas específicas, ação padrão para erros 404 e 405, e o status geral de todas as regras de um arquivo da especificação Swagger/OpenAPI.

PUT /v1/api-firewall/seudominio.com.br/{id_arquivo}
$  curl -i -X PUT https://api.gocache.com.br/v1/api-firewall/seudominio.com.br/943f14017df42b38e4b7c01910bd3723 \
-H 'GoCache-Token: seu_token' \
-d '{"action": "simulate","active": "false",
"resources": [{"tag":"dns", "paths": [{"path": "/users/{userId}/posts",
"methods":{"post": "block"}}]}]}'

Parâmetros

Campo Opcional Tipo Descrição
active String Estado geral de todas regras de um arquivo da especificação Swagger/OpenAPI. Este campo espera um booleano como string.
Valores permitidos: "true", "false".
action String Ação padrão para erros 404 e 405.
Valores permitidos: "simulate", "block".
resources Object Objeto descrevendo as ações das rotas. Deve possuir os campos path, methods e tag.

Exemplo de Sucesso

HTTP/1.1 200 OK

{"status_code": 1, "id": "943f14017df42b38e4b7c01910bd3723", "active": "false", "action": "simulate"}