Criar, Modificar e Executar Scans por API
Os administradores do Axe Monitor podem gerar uma chave de API na Axe Account e criar, modificar ou executar scans sistematicamente, sem usar a interface do usuário.
Saiba mais sobre Introdução.
Endpoints
| Método | Endpoint | Propósito |
|---|---|---|
| POST | /scans |
Criar um scan. |
| PATCH | /scans/[scanId] |
Editar uma ou mais configurações de um scan. |
| POST | /scans/[scanId]/runs |
Enfileirar uma nova execução. |
Criar um Scan
Cria um scan a partir de um único objeto de configurações de scan. Para criar vários scans de uma só vez, envie uma solicitação por scan.
Nota: Para manter suas credenciais seguras, a API não aceita senhas, arquivos de keystore ou valores de variáveis de ambiente. Adicione esses valores na interface do usuário do Axe Monitor nos detalhes de log-in do scan.
Exemplo de Solicitação
GET
https://yourcompany.dequecloud.com/monitor-public-api/v1/scans
X-API-Key: <your_api_key>
Content-Type: application/jsonParâmetros Necessários
| Nome | Tipo | Descrição |
|---|---|---|
| nome | String | O nome do scan. |
| sites | String | As URLs iniciais para o scan. Só é necessário se não houver scripts no scan. |
| axeCoreVersion | String | A versão do axe-core para escanear. Use um valor version de GET /axe-versions. |
| standardLevel | String | O padrão de acessibilidade para teste, por exemplo, wcag22aa. |
| depth | Inteiro | Quantos níveis de link rastrear a partir das URLs iniciais. |
| pageLimit | Inteiro | O número máximo de páginas escaneadas em cada execução. |
Configurações Opcionais
Configurações adicionais de scan podem ser usadas com o endpoint Criar Scan. Ver documentação de Configurações de Scan.
Exemplo de Solicitação
{
"name": "Marketing Site - Production",
"sites": ["https://www.example.com"],
"axeCoreVersion": "latest",
"standardLevel": "wcag22aa",
"standardOptions": ["best-practice"],
"depth": 3,
"pageLimit": 100,
"skipSpecificUrls": ["https://www.example.com/logout"],
"teams": [
{ "name": "Digital Accessibility Team" }
],
"notifyGroup": true
}Exemplo de Resposta
Status: 201 Criado
{
"scanId": 12345
}Use o [scanId] retornado para ler, editar ou executar o scan.
Nota: A API não aceita senhas, arquivos de keystores ou valores de variáveis de ambiente. Se o seu scan fizer login em um site ou executar scripts que precisam de valores secretos, crie o scan através da API e adicione esses valores no axe Monitor em Configurações Avançadas, Iniciando uma sessão.
Respostas de Erro
| Código de Status HTTP | Código de Erro | Quando acontece |
|---|---|---|
| 400 | out_of_range |
Um número está fora do intervalo permitido. |
| 400 | unknown_version |
axeCoreVersion não está disponível em sua instância. |
| 400 | conflicting_pdf_config |
pdfTarget está configurado, mas application/pdf está em excludeMimeTypes. |
| 400 | conflicting_url_scope |
ignoreAllParams é verdadeiro e meaningfulParams ou meaninglessParams não está vazio. |
| 400 | unknown_reference |
Um grupo de varredura ou equipe não existe. |
Editar uma varredura
Atualiza uma ou mais configurações de uma varredura existente. Envie apenas as configurações que deseja alterar; as configurações que você deixar de fora manterão seus valores atuais.
Nota:
- Algumas configurações exigem IDs para serem editadas. Veja a documentação para obter IDs.
- Quando uma varredura tem um predefinido aplicado, algumas configurações podem não ser editáveis. Veja a documentação do predefinido.
- Veja a lista completa de configurações de varredura que podem ser editadas via API.
Exemplo de Solicitação
PATCH
https://yourcompany.dequecloud.com/monitor-public-api/v1/scans/[scanId]/settings
X-API-Key: <your_api_key>
Content-Type: application/jsonParâmetros Necessários
| Nome | Tipo | Descrição |
|---|---|---|
| scanId | Inteiro | O identificador único da varredura. |
Pelo menos uma configuração adicional é necessária para fazer uma alteração. Veja a documentação de Configurações de Varredura .
Nota:
- ‘null’ redefine um campo para o padrão
- Arrays substituem o valor armazenado
Exemplo de Solicitação
{
"name": "Marketing Site - Production (weekly)",
"depth": 4,
"pageLimit": 250
}Exemplo de Resposta
Status: 200 OK
{
"scanId": 12345,
"updatedFields": ["name", "depth", "pageLimit"]
}updatedFields lista as configurações que foram alteradas.
Resposta de Erro
| Código de Status HTTP | Código de Erro | Quando acontece |
|---|---|---|
| 400 | field_locked_by_preset |
O predefinido aplicado à varredura bloqueia esta configuração. |
| 400 | field_not_editable |
A configuração não pode ser alterada após a criação da varredura. |
Iniciar uma Execução de Varredura
Coloca em fila uma nova execução de uma varredura existente. A execução começa quando o axe Monitor a apanha da fila. Para verificar seu progresso, use GET /scans/[scanId]/runs.
Exemplo de Solicitação
POST
https://yourcompany.dequecloud.com/monitor-public-api/v1/scans/[scanId]/runs
X-API-Key: <your_api_key>Parâmetros Necessários
| Nome | Tipo | Descrição |
|---|---|---|
| scanId | Inteiro | O identificador único da varredura. |
Exemplo de Resposta
Status: 202 Accepted
A resposta não tem corpo.
Exemplo de Resposta de Erro
{
"title": "Bad Request",
"status": 400,
"detail": "Couldn't queue job since it's already running",
"instance": "/v1/scans/20/runs"
}Respostas de Erro
| Código de Status HTTP | Descrição |
|---|---|
| 400 | A varredura já está em execução. Aguarde o término da execução atual e tente novamente. |
| 404 | A varredura não existe. |
