Krijg Resultaten Programmatig
Gebruik de REST-service om een samenvattend rapport van uw toegankelijkheidsresultaten te downloaden via een eenvoudige GET-interface
Deze eindpunt is verouderd. Gebruik de nieuwe Sessies en Resultaten API in plaats daarvan. Reacties van dit eindpunt bevatten nu een Deprecation antwoordheader.
Migreren naar de Sessies en Resultaten API
De nieuwe Sessies en Resultaten API vervangt dit eindpunt met twee afzonderlijke eindpunten: één om sessies voor een project op te sommen en één om resultaten van een specifieke sessie op te halen. Dit tweestapsmodel geeft je toegang tot alle sessies over takken en committeringen, niet alleen de meest recente.
Equivalent verzoek met format=summary
De format=summary modus van het Resultaten-eindpunt retourneert dezelfde JSON-vorm als dit eindpunt. Om een bestaand verzoek te repliceren, zoek eerst de sessie die overeenkomt met jouw tak of committering, vraag vervolgens de resultaten daarvan aan:
-
Lijst sessies op om de
session_idvoor de tak of committering die je wilt, te vinden met behulp van degit_branchofcommit_shafilters:curl -H "Accept: application/json" -H "X-API-Key: $API_KEY" \ "https://axe.deque.com/api-pub/v1/results/projects/$PROJECT_ID/sessions?git_branch=$GIT_BRANCH" -
Vraag resultaten op voor die sessie door
session_id, gebruikmakend vanformat=summaryvoor dezelfde JSON-vorm als dit eindpunt:curl -H "Accept: application/json" -H "X-API-Key: $API_KEY" \ "https://axe.deque.com/api-pub/v1/results/sessions/$SESSION_ID/results?format=summary"importantHet nieuwe eindpunt retourneert
204 No Contentterwijl resultaten worden gegenereerd, niet202 Processingzoals dit eindpunt doet. Als je bestaande code hebt die controleert op een202reactie, werk deze dan bij om in plaats daarvan om te gaan met204. Zie Sessiestatus en het Polling-patroon voor een compleet polling-voorbeeld.
Verder gaan met format=full
Als je het volledige detailniveau van de problemen wilt, verder dan wat de samenvatting biedt, gebruik format=full om resultaten op te halen in Universele JSON (Algemeen Exportformaat). Dit formaat omvat elk toegankelijkheidsprobleem dat tijdens de sessie is gevonden: individuele overtredingen, onvolledige controles, successen, en niet-toepasbare regels georganiseerd per pagina.
curl -H "Accept: application/json" -H "X-API-Key: $API_KEY" \
"https://axe.deque.com/api-pub/v1/results/sessions/$SESSION_ID/results?format=full"Referentie van het Verouderde Eindpunt
De downloadbare rapporten REST-service stelt je in staat om een samenvatting van je Axe Developer Hub toegankelijkheidsresultaten te downloaden als JSON-gegevens, voor verdere verwerking of importeren in andere software. De GET-service heeft twee vereiste parameters:
- API-sleutel - Vind een persoonlijke API-sleutel die overeenkomt met je project of voeg een nieuwe API-sleutel toe in het Axe Accountportaal. Kies een Axe Developer Hub API-sleutel als je project de web-API's, CLI of Watcher gebruikt. Gebruik een Axe DevTools Mobile API-sleutel voor mobiele projecten.
- Project-ID - Lever de project-ID aan voor de bijbehorende projectgegevens die je wilt downloaden. Vind je project-ID in Axe Developer Hub.
Je kunt twee optionele parameters gebruiken om je query te beperken tot een specifieke Git-tak of een specifieke Git-commit SHA.
Verzoeksoverzicht
- Eindpunt:
https://axe.deque.com/api-pub/watcher/downloadable/report - Verzoek:
GET - Headers (Vereist):
X-API-Key: <DEQUE_API_KEY>Accept: application/json
- Queryparameters:
project_id(Vereist)- Beschrijving: Geeft de project-ID op voor het projectrapport dat je wilt downloaden. Deze parameter is vereist.
- Voorbeeldgebruik:
GET https://axe.deque.com/api-pub/watcher/downloadable/report?project_id=<DEVHUB_PROJECT_ID>
branch_name(Optioneel)- Beschrijving: Retourneert het downloadbare rapport voor de opgegeven Git-taknaam.
- Voorbeeldgebruik:
GET https://axe.deque.com/api-pub/watcher/downloadable/report?project_id=<DEVHUB_PROJECT_ID>&branch_name=<GIT_BRANCH>
commit_sha(Optioneel)- Beschrijving: Retourneert het downloadbare rapport voor de opgegeven Git-commit SHA.
- Voorbeeldgebruik:
GET https://axe.deque.com/api-pub/watcher/downloadable/report?project_id=<DEVHUB_PROJECT_ID>&commit_sha=<GIT_COMMIT_SHA>
Bij de eerste keer uitvoeren krijg je waarschijnlijk een 202 Processing reactie, omdat het downloadbare rapport wordt gegenereerd. Je code moet deze reactie verwerken en het verzoek opnieuw proberen. Zie hieronder Omgaan met een 202 Verwerkingsreactie voor een volledig voorbeeld.
Voorbeeld curlVerzoek
curl -L -H 'Accept: application/json' -H 'X-API-Key: <DEQUE_API_KEY>' 'https://axe.deque.com/api-pub/watcher/downloadable/report?project_id=<DEVHUB_PROJECT_ID>'Als je een 202 Processing-reactie ontvangt, moet je je verzoek opnieuw proberen. Zie Omgaan met een 202 Verwerkingsreactie voor een voorbeeldscript om een 202-reactie af te handelen.
Voorbeeld van antwoordlichaam
{
"report_id": "a4990926-3014-4799-aa39-7aca31fce412",
"source": {
"product_name": "axe-devtools-html",
"product_component_name": "axe-devtools-watcher",
"product_version": "3.20.2"
},
"test_details": {
"test_id": "da0c79a5-6f1e-4692-a255-5757629208fa",
"start_date": "2025-05-05T20:02:31.883Z",
"end_date": "2025-05-05T20:02:42.789Z"
},
"commit": {
"sha": "f73ea5a02386b359ffa79a76473f7a5ad41759d5",
"author": "John Doe",
"author_email": "john.doe@example.com",
"message": "Merge pull request #233 from deque/221-add-examples-for-using-global-config-fields-2",
"branch_name": "main",
"repository_url": "https://github.com/dequelabs/watcher-examples.git",
"tag": null
},
"devhub_summary": {
"issue_count_total": 17,
"issue_count_by_impact": {
"critical": 0,
"serious": 2,
"moderate": 15,
"minor": 0
},
"issue_count_by_rule": [
{
"severity": "serious",
"rule_id": "color-contrast",
"rule_help": "Elements must meet minimum color contrast ratio thresholds",
"rule_help_url": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
"count": 2
},
{
"severity": "moderate",
"rule_id": "heading-order",
"rule_help": "Heading levels should only increase by one",
"rule_help_url": "https://dequeuniversity.com/rules/axe/4.10/heading-order?application=axeAPI",
"count": 2
},
{
"severity": "moderate",
"rule_id": "landmark-one-main",
"rule_help": "Document should have one main landmark",
"rule_help_url": "https://dequeuniversity.com/rules/axe/4.10/landmark-one-main?application=axeAPI",
"count": 2
},
{
"severity": "moderate",
"rule_id": "page-has-heading-one",
"rule_help": "Page should contain a level-one heading",
"rule_help_url": "https://dequeuniversity.com/rules/axe/4.10/page-has-heading-one?application=axeAPI",
"count": 2
},
{
"severity": "moderate",
"rule_id": "region",
"rule_help": "All page content should be contained by landmarks",
"rule_help_url": "https://dequeuniversity.com/rules/axe/4.10/region?application=axeAPI",
"count": 9
}
]
}
}Antwoordobject
De volgende secties beschrijven de JSON-objecten in het antwoordlichaam.
Structuur op hoog niveau
| Veld | Type | Beschrijving |
|---|---|---|
report_id |
String | Unieke identificatie voor het rapport (UUID-formaat) |
source |
Object | Informatie over de bron van het rapport |
test_details |
Object | Details over de testuitvoering |
commit |
Object | Git commit-informatie gekoppeld aan de test |
devhub_summary |
Object | Samenvatting van gevonden toegankelijkheidsproblemen |
sourceObject
Bevat informatie over het product dat het rapport heeft gegenereerd:
| Veld | Type | Beschrijving |
|---|---|---|
product_name |
String | Naam van het product (bijv. „axe-devtools-html“) |
product_component_name |
String | Naam van de component binnen het product (bijv. „axe-devtools-watcher“) |
product_version |
String | Versie van de component die voor het testen is gebruikt |
test_detailsObject
Bevat informatie over de testuitvoering:
| Veld | Type | Beschrijving |
|---|---|---|
test_id |
String | Unieke identificatie voor de test (UUID-formaat) |
start_date |
String | ISO 8601-tijdstempel voor wanneer de test begon |
end_date |
String | ISO 8601-tijdstempel voor wanneer de test was afgerond |
commitObject
Bevat informatie over de Git commit gekoppeld aan de test:
| Veld | Type | Beschrijving |
|---|---|---|
sha |
String | Volledige SHA-hash van de Git commit |
author |
String | Gebruikersnaam van de auteur van de commit |
author_email |
String | E-mailadres van de auteur van de commit |
message |
String | Commitbericht |
branch_name |
String | Naam van de tak waar de commit is gemaakt |
repository_url |
String | URL van de Git-repository |
tag |
String of null |
Git-tag gekoppeld aan de commit, indien aanwezig |
devhub_summaryObject
Bevat samenvattende informatie over gevonden toegankelijkheidsproblemen:
| Veld | Type | Beschrijving |
|---|---|---|
issue_count_total |
Nummer | Totaal aantal gevonden toegankelijkheidsproblemen |
issue_count_by_impact |
Object | Uitsplitsing van problemen per impactniveau |
issue_count_by_rule |
Array | Lijst van problemen georganiseerd per regel |
issue_count_by_impactObject
Spreekt problemen uit per impactniveau:
| Veld | Type | Beschrijving |
|---|---|---|
critical |
Nummer | Aantal problemen met kritische impact |
serious |
Nummer | Aantal problemen met ernstige impact |
moderate |
Nummer | Aantal problemen met matige impact |
minor |
Nummer | Aantal problemen met kleine impact |
issue_count_by_ruleArray
Elk object in deze array vertegenwoordigt een regel met de volgende structuur:
| Veld | Type | Beschrijving |
|---|---|---|
severity |
String | Ernstniveau van de regel ("kritisch", "ernstig", "matig", of "klein") |
rule_id |
String | Identificatie voor de regel |
rule_help |
String | Korte beschrijving van de regel |
rule_help_url |
String | Link naar de Deque University documentatie voor de regel |
count |
Nummer | Aantal gevonden problemen voor deze regel |
Aanvullende reacties
202 Processing
Deze reactie geeft aan dat het rapport nog wordt gegenereerd en dat u opnieuw uw verzoek moet indienen na te hebben gewacht.
Antwoordlichaam
{
"message": "Report is still processing",
"state": "PROCESSING"
}429 Too Many Requests
Tijdens perioden van zware belasting kan dit eindpunt reageren met 429 Too Many Requests in plaats van direct verwerking te starten. Het onderliggende werk blijft in de wachtrij, zodat herhaald proberen geen dubbele verwerking creëert. De reactie bevat een Retry-After-header, in seconden — wacht ten minste zo lang voordat u het opnieuw probeert.
Antwoordlichaam
{
"error": "Too many requests. Retry after the Retry-After interval."
}400 Bad Request
De opgegeven waarde voor commit_sha is geen SHA-1 waarde.
Antwoordlichaam
{
"error": "commit_sha must be a valid SHA-1 hash"
}401 Unauthorized
Een van de volgende foutmeldingen zal de 401 Unauthorized reactie vergezellen.
De opgegeven API-sleutel is niet geldig
Antwoordlichaam
{
"error": "Invalid API key"
}Er is geen verplichte header met een API-sleutel:
Antwoordlichaam
{
"error": "X-API-Key or Authorization header required"
}404 Not Found
Een van de volgende foutmeldingen zal de 404 Not Found reactie vergezellen.
De SHA-waarde gebruikt met commit_shakon niet worden gevonden
Deze fout geeft aan dat er geen gegevens voor deze SHA in de Axe Developer Hub gegevens zijn, wat meestal betekent dat de testsuite niet tegen deze Git commit is uitgevoerd. Let op, dit is dezelfde fout die wordt geretourneerd met een branchnaam die niet bestaat. (Zie de volgende fout.)
Antwoordlichaam
{
"error": "Session not found"
}De opgegeven waarde voor branch_namebestaat niet
Deze foutreactie is hetzelfde als de vorige fout (als de SHA die met de commit_sha queryparameter werd geleverd niet bestaat in de Axe Developer Hub gegevens).
Antwoordlichaam
{
"error": "Session not found"
}De opgegeven waarde voor project_idbestaat niet
Deze foutreactie is hetzelfde als de vorige 404 fouten.
Antwoordlichaam
{
"error": "Session not found"
}Een 202 Processingreactie afhandelen
Dit voorbeeldshellscript laat zien hoe u curl kunt gebruiken om uw rapport opnieuw aan te vragen als u een 202 Processing reactie ontvangt. Aangezien testsuites mogelijk talrijke toegankelijkheidsschendingen vinden, kan ons systeem extra tijd nodig hebben om alle resultaten te verwerken voordat het rapport klaar is om te downloaden. We raden aan het onderstaande voorbeeld te gebruiken om een script te maken dat voortduren herprobeert of de resultaten al beschikbaar zijn. Het zal tot 20 keer proberen het verzoek te herhalen, met een pauze van vijf seconden tussen de pogingen.
Het voorbeeld vereist dat de API_KEY omgevingsvariabele is ingesteld op uw API-sleutel en PROJECT_ID op uw project-ID.
Overweeg de echo instructies te verwijderen als u wilt omleiden stdout en uw downloadbare rapport wilt vastleggen.
#!/bin/bash
URL="https://axe.deque.com/api-pub/watcher/downloadable/report"
MAX_ATTEMPTS=20
DELAY=5
TEMP_FILE=$(mktemp)
for ((i=1; i<=MAX_ATTEMPTS; i++)); do
echo "Attempt $i..."
# Get both status and response
STATUS=$(curl -s -w '%{http_code}' -L -H "Accept: application/json" -H "X-API-Key: $API_KEY" -o "$TEMP_FILE" "$URL?project_id=$PROJECT_ID")
case $STATUS in
200)
echo "Success!"
cat "$TEMP_FILE"
rm "$TEMP_FILE"
exit 0
;;
202)
echo "Still processing, waiting ${DELAY}s..."
sleep $DELAY
;;
*)
echo "Error: HTTP $STATUS"
cat "$TEMP_FILE"
rm "$TEMP_FILE"
exit 1
;;
esac
done
echo "Timeout after $MAX_ATTEMPTS attempts"
rm "$TEMP_FILE"
exit 1