API di axe Monitor
Introduzione
L'API di axe Monitor offre agli sviluppatori un modo semplificato per interagire con i dati dei risultati dei test di accessibilità al di fuori dell'interfaccia utente di axe Monitor. Utilizzando servizi web RESTful, l'API fornisce accesso a:
- Scansioni per un utente
- Esecuzioni di scansioni per una scansione
- Dettagli della pagina per un'esecuzione di scansione
- Dettagli delle problematiche per un'esecuzione di scansione
- Dettagli delle problematiche per una pagina
Gli utenti licenziati di axe Monitor possono utilizzare l'API con applicazioni esterne, a condizione che l'uso sia conforme al Contratto di Licenza per Abbonamento.
Iniziare
-
Crea una chiave API tramite axe Account.
Consulta le istruzioni specifiche per la regione riportate di seguito:
-
axe Account nella regione USA: axe.deque.com - Per creare una chiave API, fai clic su questo link: Crea una chiave API.
-
axe Account nella regione UE: axe-eu.deque.com - Per creare una chiave API, fai clic su questo link: Crea una chiave API.
-
axe Account nella regione AUS: axe-au.deque.com - Per creare una chiave API, fai clic su questo link: Crea una chiave API.
Esegui i seguenti passaggi per generare la tua chiave API:
-
Nella pagina Chiavi API in axe Account, seleziona il pulsante "Aggiungi Nuova Chiave API".
Appare la finestra di dialogo AGGIUNGI NUOVA CHIAVE API. -
Seleziona axe Monitor dal menu a discesa dei prodotti, assegna un nome alla tua chiave API e seleziona il pulsante Salva.
-
Sotto la colonna Azioni, copia la chiave API negli appunti.
-
-
Inserisci l'URL di base dell'API: Utilizzando la tua piattaforma API preferita, come Postman o SwaggerUI, o la tua directory di lavoro, accedi all'API di axe Monitor. Sostituisci “yourcompany” con il sottodominio per la tua istanza di axe Monitor.
https://yourcompany.dequecloud.com/monitor-public-api/v1/{endpoint}Aggiungi intestazioni:
Per accedere all'API, è necessario autenticarsi utilizzando la chiave API da axe Account.
X-API-Key: <your_api_key>Parametri di Intestazione Opzionali
| Nome | Tipo | Descrizione |
|---|---|---|
| X-Pagination-Per-Page | Intero | Il numero massimo di elementi restituiti in una singola pagina. Valore predefinito: 10 |
| X-Pagination-Page | Intero | Il numero della pagina richiesta. Valore predefinito: 1 |
Esempio di Richiesta CURL
curl -X 'GET' \
'https://{base_url}/monitor-public-api/v1/scans/1/runs/1/issues?sortBy=testPageTitle&sortDir=desc' \
-H 'accept: application/json' \
-H 'X-API-Key: <your_api_key>'Punti d'Accesso
Tutti i punti d'accesso possono recuperare informazioni con richieste GET.
| Punto d'Accesso | Scopo |
|---|---|
/scans |
Elenca tutte le scansioni a cui un utente può accedere. Consente di recuperare scanId. |
/scans/[scanId]/runs |
Elenca tutte le esecuzioni di scansione per una scansione, con informazioni di riepilogo della scansione. Consente di recuperare il runId. |
/scans/[scanId]/runs/[runId]/pages |
Informazioni dettagliate sulla pagina per un'esecuzione di scansione |
/scans/[scanId]/runs/[runId]/pages/[pageId]/issues |
Problemi di accessibilità dettagliati per una pagina |
/scans/[scanId]/runs/[runId]/issues |
Problemi di accessibilità dettagliati per un'esecuzione di scansione |
Elenco delle scansioni per un utente
Richiesta di esempio
GET
https://yourcompany.dequecloud.com/monitor-public-api/v1/scans
X-API-Key: <your_api_key>Risposta di esempio
{
"scans": [
"id": 1,
"name": "Test Scan",
"groups": [
"id": 1,
"name": "Group A"
]
]
}Risposta di errore di esempio
Esecuzioni di scansione per una scansione
Richiesta di esempio
GET
https://yourcompany.dequecloud.com/monitor-public-api/v1/scans/[scanId]/runs
X-API-KEY: <your_api_key>Parametri obbligatori
| Nome | Tipo | Descrizione |
|---|---|---|
| scanId | Stringa | L'identificatore univoco della scansione. |
Parametri opzionali
| Nome | Tipo | Descrizione |
|---|---|---|
| needsReview | Stringa | “true” o “false” consente di controllare se contare o meno i problemi “Da esaminare” nella risposta. |
Risposta di esempio
{
"scanRuns": [
{
"runNumber": 1,
"status": "Completed",
"queuedAt": "2025-08-21T06:50:27Z",
"startedAt": "2025-08-21T06:50:37Z",
"completedAt": "2025-08-21T06:51:52Z",
"axeVersion": "4.10.3",
"standard": "WCAG 2.1 AA",
"score": 0,
"issues": {
"total": 392,
"critical": 77,
"serious": 315,
"moderate": 0,
"minor": 0
},
"pages": {
"total": 18,
"completed": 17,
"critical": 17
},
"violationGroups": [
{
"name": "color",
"pageCount": 17
},
{
"name": "forms",
"pageCount": 17
},
{
"name": "name-role-value",
"pageCount": 10
},
{
"name": "parsing",
"pageCount": 1
},
{
"name": "text-alternatives",
"pageCount": 13
}
]
}
]
}Nota: Se la tua scansione ha una o più frasi inserite nell'impostazione “Trova Testo”, la risposta dell'API include un array findText.
Ogni voce contiene:
- La frase inserita.
- Il numero di pagine in cui è stata identificata la frase.
Dettagli della pagina per un'esecuzione di scansione
Richiesta di esempio
GET https://yourcompany.dequecloud.com/monitor-public-api/v1/scans/[scanId]/runs/[runNumber]/pages
X-API-KEY: <your_api_key>Parametri di percorso obbligatori
| Nome | Tipo | Descrizione |
|---|---|---|
| scanId | Stringa | L'identificatore univoco della scansione. |
| runNumber | Intero | Il numero specifico dell'esecuzione di scansione. |
Parametri opzionali della richiesta
| Nome | Tipo | Descrizione |
|---|---|---|
| stato | stringa | Filtra le pagine per stato (Completato, Fallito). |
| sortBy | Stringa | Specifica la colonna per l'ordinamento (titolo, url). Il valore predefinito è titolo. |
| order | Stringa | Specifica la direzione di ordinamento (asc o desc). Il valore predefinito è desc. |
Esempio di Risposta
{
"pages": [
{
"id": 0,
"url": "string",
"title": "string",
"reasonForFailure": "string",
"totalCriticalIssues": 0,
"totalSeriousIssues": 0,
"totalModerateIssues": 0,
"totalMinorIssues": 0,
"totalNeedsReview": 0,
"totalFixedIssues": 0,
"totalOpenIssues": 0,
"health": "string",
"status": "string",
"scriptName": "string",
"scriptStep": 0,
"template": true,
"date": "2024-12-02T15:03:40.211Z",
"domainUrl": "string"
"findtext"
[ "Accessibility Statement",
"WCAG"
}
]
}Nota: Quando l'impostazione Trova Testo è abilitata per la scansione, l'array contiene tutte le frasi dell'impostazione „Trova Testo“ che sono state identificate su quella pagina.
Dettagli del Problema per una Pagina
Esempio di Richiesta
GET
https://yourcompany.dequecloud.com/monitor-public-api/v1/scans/[scanId]/runs/[runNumber]/pages/[pageId]/issues
X-API-KEY: <your_api_key>Parametri Richiesti
| Nome | Tipo | Descrizione |
|---|---|---|
| scanId | Stringa | L'identificatore univoco della scansione. |
| runNumber | Intero | Il numero specifico del run della scansione. |
| pageId | Stringa | L'identificatore univoco della pagina. |
Parametri Opzionali
| Nome | Tipo | Descrizione |
|---|---|---|
| status | stringa | Filtra i problemi per stato (aperto, risolto o ignorato). |
| sortBy | Stringa | Specifica la colonna per l'ordinamento (testPageTitle, testUrl, selector, createdAt o status). Il valore predefinito è testPageTitle. |
| order | Stringa | Specifica la direzione di ordinamento (asc o desc). Il valore predefinito è desc. |
Esempio di Risposta
{
"issues": [
{
"issueId": 0,
"ruleId": "string",
"description": "string",
"help": "string",
"helpUrl": "string",
"impact": "string",
"issuegroup”: “string"
"needsReview": true,
"isExperimental": true,
"isManual": true,
"summary": "string",
"selector": [
"string"
],
"source": "string",
"tags": [
"string"
],
"igt": "string",
"testName": "string",
"createdAt": "2024-12-02T14:59:24.232Z",
"testUrl": "string",
"testPageTitle": "string",
"status": "string"
}
]
}
Dettagli del Problema per un Esecuzione di Scansione
Esempio di Richiesta
GET
https://yourcompany.dequecloud.com/monitor-public-api/v1/scans/{scanId}/runs/{runNumber}/issues
X-API-KEY: <your_api_key>Parametri Richiesti
| Nome | Tipo | Richiesto | Descrizione |
|---|---|---|---|
| scanId | Stringa | Sì | L'identificatore univoco della scansione. |
| runNumber | Intero | Sì | Il numero specifico di esecuzione della scansione. |
Parametri di Richiesta Opzionali
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| status | stringa | No | Filtra i problemi in base allo stato (aperto, risolto o ignorato). |
| sortBy | Stringa | No | Specifica la colonna per l'ordinamento (testPageTitle, testUrl, selector, createdAt o status). Il valore predefinito è testPageTitle. |
| order | Stringa | No | Specifica la direzione di ordinamento (asc o desc). Il valore predefinito è desc. |
Esempio di risposta
{
"issues": [
{
"issueId": 0,
"ruleId": "string",
"description": "string",
"help": "string",
"helpUrl": "string",
"impact": "string",
"issueGrouping": "string",
"needsReview": true,
"isExperimental": true,
"isManual": true,
"summary": "string",
"selector": [
"string"
],
"source": "string",
"tags": [
"string"
],
"igt": "string",
"testName": "string",
"createdAt": "2025-08-07T10:54:30.268Z",
"testUrl": "string",
"testPageTitle": "string",
"status": "string"
}
]
}Errori
| Codice di Stato HTTP | Tipo di Errore | Descrizione |
|---|---|---|
| 401 | Non autorizzato | L'utente non è autenticato o manca dei diritti di accesso. |
| 400 | Richiesta non valida | La richiesta contiene parametri non validi. |
| 500 | Errore interno del server | Si è verificato un errore durante l'elaborazione della richiesta. |
