Introduction

URL de base de l'API Dareboost : https://www.dareboost.com/api/0.5/

Tous les appels de l'API commencent par cette URL à laquelle s'ajoute le chemin vers l'action désirée.
Exemple : https://www.dareboost.com/api/0.5/analysis/launch

L'API est accessible uniquement via le protocole HTTPs et n'accepte que les requêtes HTTP POST. Les données envoyées en POST doivent respecter le format JSON.

Authentification

Toutes les requêtes doivent être authentifiées pour être exécutées. Vous devez donc dans un premier temps générer un jeton d'authentification depuis votre compte.

Les appels vers l'API doivent tous préciser dans leurs données POST un paramètre "token" avec ce jeton pour valeur.

Crédits

L'API de Dareboost repose sur un système de crédits.

Lorsque vous lancez une analyse depuis l'API, et que celle-ci génère un rapport, votre compte est débité d'1 crédit. Si vous souhaitez obtenir des métriques avancées lors de cette analyse (début d'affichage, speed index, vidéo, etc), vous êtes débité d'un crédit supplémentaire.

Lorsque vous lancez la génération d'un PDF, votre compte est débité de 2 crédits.

Les autres requêtes (analyse échouée, demande de la configuration, accès à un rapport, etc) ne coûtent aucun crédit.

Statut du retour, liste des codes

Chaque appel à l'API donne lieu à une réponse, retournant un code spécifique en fonction du résultat obtenu. L'analyse de ce code vous permet de vous assurer que la requête a été traitée avec succès.

Tous les codes >= 400 indiquent que la requête n'a pas été traitée avec succès par nos serveurs.

  • 200: OK
  • 202: L'analyse est en cours de traitement
  • 204: Aucune donnée disponible ou ajoutée (la requête est bien formée, mais aucune donnée ne correspond)
  • 206: La requête est bien traité mais le résultat n'est pas complet : L'analyse n'est pas complète (certaines bonnes pratiques sont manquantes, par exemple) ou tous les ajouts n'ont pas pu être effectués (pour les événements par exemple)
  • 400: Paramètre manquant, ou valeur incorrecte
  • 401: Authentification nécessaire (jeton non précisé ou invalide)
  • 403: Action non autorisée (crédits épuisés, URL non autorisée, etc)
  • 404: Page inaccessible (URL inconnue / impossible d'accéder à l'adresse)
  • 406: Le JSON indiqué en données POST n'est pas valide
  • 408: Dépassement du temps maximal autorisé pour l'analyse
  • 417: La dernière analyse de la surveillance automatique ne s'est pas déroulée correctement
  • 500: Erreur inconnue, contactez-nous
  • 503: L'API est momentanément indisponible, réessayez dans quelques minutes

Liste des actions disponibles

Récupération des localisations

POST /config

Format de la requête

{
    "token": ""
}

Paramètres

NomRequisTypeValeur par défautDescription
tokenOuiStringAucuneJeton d'authentification utilisé

Format de la réponse

{
    "status": 200,
    "message": "",
    "config": [
        {
            "location": "",
            "isPrivate": false,
            "browsers": [
                {
                    "name": "",
                    "isMobile": false
                }
            ]
        }
    ]
}
NomTypeDescription
statusNumberCode retour du statut de la requête (voir la liste)
messageStringInformations complémentaires sur le statut
locationStringNom de la localisation. Exemple : "Paris", "Washington", ...
isPrivateStringCette localisation vous est dédiée
browser.nameStringNom du navigateur. Exemple : "Chrome", "Nexus 5", ...
browser.isMobileBooleanIl s'agit d'un navigateur mobile

Exemples Curl

curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"9SD9FDS8FDS8DCX8V8CXV4"}' https://www.dareboost.com/api/0.5/config

Récupération des navigateurs pour une localisation donnée

POST /config

Format de la requête

{
    "token": "",
    "location": ""
}

Paramètres

NomRequisTypeValeur par défautDescription
tokenOuiStringAucuneJeton d'authentification utilisé
locationOuiStringAucuneNom de la localisation. Exemple : "Paris", "Washington", ...

Format de la réponse

{
    "status": "",
    "message": "",
    "location": "",
    "browsers": [
        {
            "name": "",
            "isMobile": false
        }
    ]
}
NomTypeDescription
statusNumberCode retour du statut de la requête (voir la liste)
messageStringInformations complémentaires sur le statut
locationStringNom de la localisation. Exemple : "Paris", "Washington", ...
browser.nameStringNom du navigateur. Exemple : "Chrome", "Nexus 5", ...
browser.isMobileBooleanIl s'agit d'un navigateur mobile

Exemples Curl

curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"9SD9FDS8FDS8DCX8V8CXV4", "location": "paris"}' https://www.dareboost.com/api/0.5/config

Lancer la génération d'un pdf

POST /pdf/launch depuis la version 0.3

Format de la requête

{
    "token": "",
    "reportId": "",
    "useDefaultStyle": true,
    "addTableOfContent": false,
    "showOverallMetrics": true,
    "showBestPractices": true,
    "showTitleOnly": true,
    "showIssueAndImprovementsOnly": true
}

Paramètres

NomRequisTypeValeur par défautDescription
tokenOuiStringAucuneJeton d'authentification utilisé
reportIdOuiStringAucuneL'identifiant unique du rapport que vous souhaitez télécharger en PDF
useDefaultStyleNonBooleantrueUtiliser le style par défaut de Dareboost. "false" si vous souhaitez utilisez votre marque blanche
addTableOfContentNonBooleanfalseAjouter un sommaire au début du PDF. "true" si vous souhaitez afficher le sommaire
showOverallMetricsNonBooleantrueAjouter les métriques liés à la performance web. "false" si vous ne souhaitez pas que les métriques apparaissent
showBestPracticesNonBooleantrueAfficher les conseils et bonnes pratiques dans le PDF. "false" si vous ne souhaitez pas afficher les conseils.
showTitleOnlyNonBooleantrueAfficher uniquement les titres des conseils. "false" si vous souhaitez obtenir également la description (valable uniquement si showBestPractices est à true).
showIssueAndImprovementsOnlyNonBooleantrueAfficher uniquement les conseils décrivant une amélioration possible. "false" si vous souhaitez également obtenir les conseils avec une note de 100/100 (valable uniquement si showBestPractices est à true).

Format de la réponse

{
    "status": 200,
    "message": ""
}
NomTypeDescription
statusNumberCode retour du statut de la requête (voir la liste)
messageStringInformations complémentaires sur le statut

Exemple Curl

curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"9SD9FDS8FDS8DCX8V8CXV4", "reportId": "9SD9FDS8FDS8DCX8V8CXV4"}' https://www.dareboost.com/api/0.5/pdf/launch

Note

La génération du PDF n'étant pas immédiate, il est conseillé d'attendre au minimum 20 secondes avant d'essayer de récupérer le PDF via la route associée.
De plus, vous ne pouvez générer qu'un seul PDF à la fois.

Récupération d'un PDF

POST /pdf/get depuis la version 0.3

Format de la requête

{
    "token": ""
}

Paramètres

NomRequisTypeValeur par défautDescription
tokenOuiStringAucuneJeton d'authentification utilisé

Format de la réponse

{
    "status": 200,
    "message": "",
    "pdfUrl": ""
}
NomTypeDescription
statusNumberCode retour du statut de la requête (voir la liste)
messageStringInformations complémentaires sur le statut
pdfUrlStringLe lien où télécharger le PDF

Exemple Curl

curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"9SD9FDS8FDS8DCX8V8CXV4"}' https://www.dareboost.com/api/0.5/pdf/get

Note

Une fois le lien obtenu, il suffit de télécharger la cible pour obtenir votre PDF, par exemple via un navigateur, un wget, ou tout autre moyen.

Analyser une page

POST /analysis/launch

Format de la requête

{
    "token": "",
    "url": "",
    "lang": "en",
    "location": "",
    "browser": {
        "name": ""
    },
    "mobileAnalysis": false,
    "isPrivate": false,
    "visualMetrics": false,
    "adblock": false,
    "disableH2": false,
    "bandwidth": {
        "upstream": 0,
        "downstream": 0
    },
    "latency": 0,
    "screen": {
        "height": 0,
        "width": 0
    },
    "basicAuth": {
        "user": "",
        "password": ""
    },
    "postData": [
        {
            "name": "",
            "value": ""
        }
    ],
    "headers": [
        {
            "name": "",
            "value": ""
        }
    ],
    "disableAnimation": {
        "script": false,
        "css": false
    },
    "cookie": [
        {
            "name": "",
            "value": "",
            "domain": "",
            "path": ""
        }
    ],
    "blacklist": [],
    "whitelist": [],
    "dnsMapping": [
        {
            "origin": "",
            "destination": ""
        }
    ]
}

Paramètres

NomRequisTypeValeur par défautDescription
tokenOuiStringAucuneJeton d'authentification utilisé
urlOuiStringAucuneURL à analyser
langNonString"en"Langue de l'analyse ("en" ou "fr")
locationNonStringrandomLocalisation à utiliser lors de l'analyse. Voir "Récupération des localisations" pour obtenir la liste
browser.nameNonString"Chrome"navigateur à utiliser lors de l'analyse. Voir "Récupération des navigateurs" pour obtenir la liste
mobileAnalysisNonBooleanfalseIndiquer "true" si vous souhaitez que la page soit analysée dans un contexte mobile. Ce paramètre est surchargé par le paramètre "browser".
isPrivateNonBooleanfalseIndiquer "true" pour restreindre l'accès au rapport aux comptes liés au votre.
visualMetricsNonBooleanfalseIndiquer "true" pour obtenir les métriques visuelles (début d'affichage, speedindex, etc). Attention, cette option consomme 1 crédit supplémentaire.
adblockNonBooleanfalseMettre à "true" pour activer le plugin adblock pour l'analyse de votre page (pas disponible avec firefox).
disableH2NonBooleanfalseMettre à "true" pour désactiver le support d'HTTP/2 sur le navigateur internet
downstreamNonNumbervaleur du navigateur par défautDébit descendant maximal utilisé
upstreamNonNumbervaleur du navigateur par défautDébit montant maximal utilisé
latencyNonNumbervaleur du navigateur par défautLatence minimale du réseau
heightNonNumbervaleur du navigateur par défautHauteur de l'écran utilisé
widthNonNumbervaleur du navigateur par défautLargeur de l'écran utilisé
userNonStringAucuneNom de l'utilisateur dans le cadre d'une analyse nécessitant une authentification basique
passwordNonStringAucuneMot de passe dans le cadre d'une analyse nécessitant une authentification basique
postDataNonListAucuneDonnées POST envoyées dans la première requête
headersNonListAucuneEn-têtes HTTP envoyés sur toutes les requêtes
disableAnimation.scriptNonBooleanfalseMettre à "true" pour stopper les animations basées sur les fonctions JavaScript setTimeout() et setInterval() (après l'évenement onload).
disableAnimation.cssNonBooleanfalseMettre à "true" pour désactiver les propriétés CSS animation, transition et transform (après l'évenement onload).
cookieNonListAucuneLes cookies envoyés sur les requêtes (en fonction du domaine et du chemin si renseigné)
blacklistNonListAucuneListe de ressources à bloquer (sous forme de regexp)
whitelistNonListAucuneListe des seules ressources autorisées lors de l'analyse (sous forme de regexp)
dnsMappingNonListAucunePermet d'associer un nom de domaine à un autre domaine ou une IP, dans le but de réorienter le trafic HTTP.
Par exemple: origin:"*.google-analytics.com", destination:"blackhole.com" ou encore origin:"mon-cdn.mon-domaine.com", destination:"132.45.65.251"

Informations complémentaires pour les paramètres avancés

Paramètre Unité Minimum Maximum Caractères interdits
upstream / downstreamkbps50--
latencyms05000-
heightpixel1501920-
widthpixel1503000-
headers---=,;:space\t\r\n\v\f
blacklist---ne doit pas blacklister l'url de la page analysée
whitelist---doit authoriser l'url de la page analysée

Format de la réponse

{
    "status": "",
    "message": "",
    "reportId": ""
}
NomTypeDescription
statusNumberCode retour du statut de la requête (voir la liste)
messageStringInformations complémentaires sur le statut
reportIdStringIdentifiant unique du rapport. Nécessaire pour récupérer les résultats d'une analyse

Exemples Curl

Lancement d'une analyse sur http://example.org avec les valeurs par défaut : curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"9SD9FDS8FDS8DCX8V8CXV4", "url":"http://example.org"}' https://www.dareboost.com/api/0.5/analysis/launch Lancement d'une analyse sur http://example.org avec certaines options : curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{ "token":"9SD9FDS8FDS8DCX8V8CXV4", "url":"http://example.org", "bandwidth": { "upstream":3072, "downstream":10240 }, "latency":40, "headers":[{"name":"User-Agent", "value":"Dareboost"}]}' https://www.dareboost.com/api/0.5/analysis/launch

Note

L'analyse n'étant pas immédiate, il est conseillé d'attendre au minimum 5 secondes avant d'essayer de récupérer le rapport.

Récupération du résultat d'une analyse

POST /analysis/report

Format de la requête

{
    "token": "",
    "reportId": "",
    "metricsOnly": false,
    "getUniqueIDsForTips": false
}

Paramètres

NomRequisTypeValeur par défautDescription
tokenOuiStringAucuneJeton d'authentification utilisé
reportIdOuiStringAucuneIdentifiant unique du rapport, obtenu lors du lancement de l'analyse
metricsOnlyNonBooleanFalseIndiquer "true" pour obtenir une version résumée, plus légère (exclusion des conseils, des catégories et des technologies détectées)
getUniqueIDsForTipsNonBooleanFalseIndiquer "true" pour obtenir un identifiant (ID) sur chaque élément de report.tips

Format de la réponse

{
    "status": 200,
    "message": "",
    "missing": [],
    "report": {
        "publicReportUrl": "https://www.dareboost.com/[lang]/report/[reportId]",
        "harFileUrl": "https://www.dareboost.com/download/harFile/[reportId]",
        "date": 0,
        "url": "",
        "lang": "",
        "config": {
            "location": "",
            "browser": {
                "name": "",
                "version": ""
            },
            "isMobile": false,
            "bandwidth": {
                "upstream": 0,
                "downstream": 0
            },
            "latency": 0,
            "isPrivate": false,
            "screen": {
                "height": 0,
                "width": 0
            },
            "basicAuth": {
                "user": "",
                "password": ""
            },
            "postData": [
                {
                    "key": "",
                    "value": ""
                }
            ],
            "header": [
                {
                    "key": "",
                    "value": ""
                }
            ],
            "blacklist": [],
            "whiteList": [],
            "dnsMapping": [
                {
                    "origin": "",
                    "destination": ""
                }
            ]
        },
        "summary": {
            "loadTime": 0,
            "score": 0,
            "requestsCount": 0,
            "weight": 0
        },
        "categories": [
            {
                "name": ""
            }
        ],
        "tips": [
            {
                "advice": "",
                "category": "",
                "score": -1,
                "name": "",
                "priority": 0
            }
        ],
        "timings": {
            "firstByte": 0,
            "firstPaint": 0,
            "domInteractive": 0,
            "loadEvent": 0,
            "startRender": 0,
            "speedIndex": 0,
            "visuallyComplete": 0,
            "oldVisuallyComplete": 0
        },
        "resourceByType": [
            {
                "type": "",
                "bodyWeight": 0,
                "headerWeight": 0,
                "requestCount": 0
            }
        ],
        "technos": [
            {
                "name": "",
                "version": ""
            }
        ]
    }
}
Object
NomTypeDescription
statusNumberCode retour du statut de la requête (voir la liste)
messageStringInformations complémentaires sur le statut
missingArrayAPIs ayant connu un problème lors de l'analyse. Valeurs possibles: rules or performance_timings
report.publicReportUrlStringURL du rapport depuis dareboost.com
report.harFileUrlStringURL pour accéder au fichier HAR
report.dateNumbertimestamp (en ms) indiquant la date de l'audit
report.urlStringURL analysée
report.langStringLangue utilisée pour générer les conseils du rapport
report.config.locationStringLocalisation de la sonde de test
report.config.browserObjectNavigateur utilisé lors du testtd>
report.config.isMobileBooleanEst-ce un audit sur navigateur mobile (simulé)?
report.config.bandwidthObjectBande passante utilisée
report.config.latencyNumberLatence minimale utilisée
report.config.screenObjectDimensions du navigateur utilisé
report.config.isPrivateBooleanL'accès à ce rapport est-il restreint à ce compte utilisateur?
report.config.basicAuthObjectInformations liées à une authentification via .htaccess
report.config.postDataObjectDonnées POST configurées via les paramètres avancés
report.config.headerObjectEn-têtes HTTP configurés via les paramètres avancés
report.config.blacklistListRequêtes blacklistées
report.config.whiteListListRequêtes whitelistées
report.summary.loadtimeNumberTemps nécessaire pour charger toutes les ressources de la page (en ms)
report.summary.scoreNumberScore Dareboost, compris entre 0 et 100
report.summary.requestCountNumberNombre de ressources tirées pour charger la page
report.summary.weightNumberVolume total de données récupérées (en octets) pour charger la page
report.categoriesObjectScore par catégorie
report.tipsTous les conseils
report.timingsObjectIndicateurs temporels de performance (en ms). Les indicateurs prennent pour valeur -1 lorsque l'information n'est pas disponnible.
report.timings.visuallyCompleteObjectDernier changement visuel observé sur la page (en ms).
report.timings.oldVisuallyCompleteObjectNe doit être utilisé que pour comparer des résultats obtenus avec une version de l'API inférieure à la 0.4 (c.f. Notes de version).
report.resourceByTypeObjectPoids et nombre de ressources par types (HTML, CSS, JS, etc) en octets
report.technosObjectTechnologies détectées sur la page

Exemples Curl

curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"9SD9FDS8FDS8DCX8V8CXV4", "reportId": "54084e3ce4b0f241b256c51a"}' https://www.dareboost.com/api/0.5/analysis/report

Note

Lorsque vous souhaitez récupérer le résultat d'une analyse précédement lancée, il y a de fortes chances pour que l'analyse ne soit pas encore terminée. L'API vous répondra alors avec une code statut 202 (voir la liste des statuts de retour).
Dans ce cas il est fortement conseillé d'attendre une seconde entre chaque tentative de récupération du rapport.

Récupération du HAR d'une analyse

POST /analysis/har

Format de la requête

{
    "token": "",
    "reportId": ""
}

Paramètres

NomRequisTypeValeur par défautDescription
tokenOuiStringAucuneJeton d'authentification utilisé
reportIdOuiStringAucuneIdentifiant unique du rapport, obtenu lors du lancement de l'analyse

Format de la réponse

{
    "status": "",
    "message": "",
    "har": {}
}
NomTypeDescription
statusNumberCode retour du statut de la requête (voir la liste)
messageStringInformations complémentaires sur le statut
harObjectLe har, plus d'information sur le format en suivant ce lien (en)

Exemples Curl

curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"9SD9FDS8FDS8DCX8V8CXV4", "reportId": "54084e3ce4b0f241b256c51a"}' https://www.dareboost.com/api/0.5/analysis/har

Liste de vos surveillances automatiques

POST /monitoring/list

Format de la requête

{
    "token": "",
    "name": "",
    "url": ""
}

Paramètres

NomRequisTypeValeur par défautDescription
tokenOuiStringAucuneJeton d'authentification utilisé
nameNonStringAucunePattern pour filtrer parmi vos surveillances et retourner uniquement ceux contenant la chaîne de caractères indiquée dans leur nom
urlNonStringAucunePattern pour filtrer parmi vos surveillances et retourner uniquement ceux contenant la chaîne de caractères indiquée dans leur URL

Format de la réponse

{
    "status": 200,
    "message": "",
    "monitorings": [
        {
            "id": 0,
            "url": "",
            "name": "",
            "state": "OK",
            "errorMessage": "",
            "lastExecution": 0,
            "enabled": true
        }
    ]
}
NomTypeDescription
statusNumberCode retour du statut de la requête (voir la liste)
messageStringInformations complémentaires sur le statut
monitoringsListListe d'objets, 1 objet par surveillance
idNumberIdentifiant unique du monitoring
urlStringUrl de la page monitorée
nameNumberNom donné au monitoring
stateStringÉtat actuel de la surveillance automatique : "ok", "error"
errorMessageStringDétails de l'erreur ou ""
lastExecutionNumberTimestamp (en ms) indiquant la dernière exécution de la surveillance
enabledBooleanLa surveillance est-elle active ou non ?

Exemples Curl

curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"9SD9FDS8FDS8DCX8V8CXV4", "url":"dareboost"}' https://www.dareboost.com/api/0.5/monitoring/list

Dernier rapport d'une surveillance automatique

POST /monitoring/last-report

Format de la requête

{
    "token": "",
    "monitoringId": 0,
    "metricsOnly": false,
    "getUniqueIDsForTips": false
}

Paramètres

NomRequisTypeValeur par défautDescription
tokenOuiStringAucuneJeton d'authentification utilisé
monitoringIdOuiNumberAucuneL'identifiant unique de la surveillance automatique
metricsOnlyNonBooleanFalseIndiquer "true" pour obtenir une version résumée, plus légère (exclusion des conseils, des catégories et des technologies détectées)
getUniqueIDsForTipsNonBooleanFalseIndiquer "true" pour obtenir un identifiant (ID) sur chaque élément de report.tips

Format de la réponse

{
    "status": 200,
    "message": "",
    "lastExecution": 0,
    "alerts": [
        {
            "type": "",
            "threshold": 0,
            "value": 0
        }
    ],
    "missing": [],
    "report": {}
}
NomTypeDescription
statusNumberCode retour du statut de la requête (voir la liste)
messageStringInformations complémentaires sur le statut
lastExecutionNumberTimestamp (en ms) représentant la dernière exécution de la surveillance automatique
alertsListListe d'objets, 1 objet par surveillance
typeStringType de l'alerte. Exemples : "Note", "Loadtime", "First byte", ...
thresholdNumberSeuil qui détermine si l'audit est en alerte ou non
valueNumberValeur correspondant à la métrique
reportStringVoir "Récupération du résultat" pour plus de précisions

Exemples Curl

curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"9SD9FDS8FDS8DCX8V8CXV4", "monitoringId": 42}' https://www.dareboost.com/api/0.5/monitoring/last-report

Liste des rapports d'une surveillance automatique

POST /monitoring/reports

Format de la requête

{
    "token": "",
    "monitoringId": 0,
    "limit": 30,
    "lastDays": 0,
    "dateFrom": "2016-03-11T00:00:00.000+0100",
    "dateTo": "2016-03-11T23:59:59.000+0100",
    "error": false
}

Paramètres

NomRequisTypeValeur par défautDescription
tokenOuiStringAucuneJeton d'authentification utilisé
monitoringIdOuiNumberAucuneL'identifiant unique de la surveillance automatique
limitNonNumber30Limitation du nombre de rapports à retourner (0 = illimité)
lastDaysNoNumberAucuneLimiter les rapports sur les X derniers jours. X étant la valeur donnée à ce paramètre.
dateFromNoStringAucuneRetrouver les résultats des audits executés après cette date - format standard basé sur ISO8601, soit yyyy-MM-ddTHH:mm:ssZZ (e.g. 2016-03-11T00:00:00.000+0100).
dateToNoStringAucuneRetrouver les résultats des audits executés avant cette date - format standard basé sur ISO8601, soit yyyy-MM-ddTHH:mm:ssZZ (e.g. 2016-03-11T00:00:00.000+0100).
errorNonBooleanAucunePar défaut (paramètre absent), toutes les analyses sont retournées (succès et erreurs). Indiquer "false" pour récupérer uniquement les analyses exécutées avec succès. Indiquer "true" pour récupérer uniquement celles en erreur.

Format de la réponse

{
    "status": 200,
    "message": "",
    "statistics": {
        "averageScore": 0,
        "averageWeight": 0,
        "averageRequests": 0,
        "averageLoadTime": 0,
        "averageTimings": {
            "firstByte": 0,
            "domInteractive": 0,
            "loadEvent": 0,
            "startRender": 0,
            "speedIndex": 0,
            "visuallyComplete": 0
        }
    },
    "monitoringData": [
        {
            "state": "OK",
            "errorMessage": "",
            "id": 0,
            "date": 0,
            "score": 0,
            "weight": 0,
            "requests": 0,
            "loadTime": 0,
            "unreachableRequests": 0,
            "timings": {
                "firstByte": 0,
                "domInteractive": 0,
                "loadEventEnd": 0,
                "startRender": 0,
                "speedIndex": 0,
                "visuallyComplete": 0
            }
        }
    ]
}
NomTypeDescription
statusNumberCode retour du statut de la requête (voir la liste)
messageStringInformations complémentaires sur le statut
averageScoreNumberMoyenne des scores Dareboost, compris entre 0.0 et 100.0
averageWeightNumberMoyenne des volumes de données récupérées (en octets) pour charger la page
averageRequestsNumberMoyennes du nombre de ressources tirées pour charger la page
averageTimingsObjectMoyennes des différents temps à partir du début de la navigation (en ms)
stateStringStatus de l'audit courrant : "ok", "error"
errorMessageStringDétails de l'erreur ou ""
idStringIdentifiant unique de l'audit (Requis pour récupérer le résultat de l'audit)
dateNumberTimestamp (en ms) représentant la date de création du rapport
scoreNumberScore Dareboost, compris entre 0 et 100
weightNumberVolume total de données récupérées (en octets) pour charger la page
requestsNumberNombre de ressources tirées pour charger la page
unreachableRequestsNumberNombre de ressources que le navigateur n'a pas pu récupérer (erreurs 404, 500, etc)
timingsObjectIndicateurs temporels de performance (en ms). Les indicateurs prennent pour valeur -1 lorsque l'information n'est pas disponnible.

Exemples Curl

curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"9SD9FDS8FDS8DCX8V8CXV4", "monitoringId": 42}' https://www.dareboost.com/api/0.5/monitoring/reports

Liste de vos scénarios (analyses transactionnelles)

POST /scenario/list depuis la version 0.2

Format de la requête

{
    "token": "",
    "name": ""
}

Paramètres

NomRequisTypeValeur par défautDescription
tokenOuiStringAucuneJeton d'authentification utilisé
nameNonStringAucunePattern pour filtrer parmi vos scenarios et retourner uniquement ceux contenant la chaîne de caractères indiquée dans leur nom

Format de la réponse

{
    "status": 200,
    "message": "ok",
    "scenarios": [
        {
            "id": 1,
            "name": ""
        }
    ]
}
NomTypeDescription
statusNumberCode retour du statut de la requête (voir la liste)
messageStringInformations complémentaires sur le statut
scenariosListListe d'object, un object par scenario
idNumberIdentifiant unique du scenario, nécéssaire pour demander son exécution
nameNumberLe nom du scenario

Curl exemple

curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"9SD9FDS8FDS8DCX8V8CXV4", "name":"dareboost"}' https://www.dareboost.com/api/0.5/scenario/list

Exécuter un scénario

POST /scenario/launch depuis la version 0.2

Format de la requête

{
    "token": "",
    "scenarioId": ""
}

Paramètres

NomRequisTypeValeur par défautDescription
tokenOuiStringAucuneJeton d'authentification utilisé
scenarioIdOuiNumberAucuneL'identifiant unique du scénario à executer

Format de la réponse

{
    "status": 200,
    "message": "ok",
    "scenarioResultId": ""
}
NomTypeDescription
statusNumberCode retour du statut de la requête (voir la liste)
messageStringInformations complémentaires sur le statut
scenarioResultIdNumberL'identifiant unique du future résultat du scénario

Curl exemple

curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"9SD9FDS8FDS8DCX8V8CXV4", "scenarioId":6}' https://www.dareboost.com/api/0.5/scenario/launch

Rapports d'un scénario

POST /scenario/reports depuis la version 0.3

Format de la requête

{
    "token": "",
    "scenarioId": "",
    "limit": 30,
    "lastDays": 0,
    "dateFrom": "2016-03-11T00:00:00.000+0100",
    "dateTo": "2016-03-11T23:59:59.000+0100",
    "error": false
}

Paramètres

NomRequisTypeValeur par défautDescription
tokenOuiStringAucuneJeton d'authentification utilisé
scenarioIdOuiNumberAucuneL'identifiant unique du scénario
limitNonNumber30Limitation du nombre de rapports à retourner (0 = illimité)
lastDaysNoNumberAucuneLimiter les rapports sur les X derniers jours. X étant la valeur donnée à ce paramètre.
dateFromNoStringAucuneRetrouver les résultats du scénario executé après cette date - format standard basé sur ISO8601, soit yyyy-MM-ddTHH:mm:ssZZ (e.g. 2016-03-11T00:00:00.000+0100).
dateToNoStringAucuneRetrouver les résultats du scénario executé avant cette date - format standard basé sur ISO8601, soit yyyy-MM-ddTHH:mm:ssZZ (e.g. 2016-03-11T00:00:00.000+0100).
errorNonBooleanAucunePar défaut (paramètre absent), toutes les exécutions sont retournées (succès et erreurs). Indiquer "false" pour récupérer uniquement les exécutions en succès (statuts OK ou CHECK_FAILED). Indiquer "true" pour récupérer uniquement les exécutions en erreur (statuts différents de OK et CHECK_FAILED)

Format de la réponse

{
    "status": 200,
    "message": "OK",
    "scenario": {
        "id": 0,
        "name": "",
        "reports": [
            {
                "resultId": 0,
                "date": 0,
                "viewOnTheWeb": "https://www.dareboost.com/scenario/report/[resultId]",
                "summary": {
                    "fail": 0,
                    "unavailableResource": 0,
                    "browserError": 0,
                    "sum": {
                        "domInteractive": 0,
                        "loadEvent": 0,
                        "weight": 0,
                        "speedIndex": 0,
                        "firstByte": 0,
                        "request": 0,
                        "visuallyComplete": 0,
                        "oldVisuallyComplete": 0,
                        "startRender": 0,
                        "firstPaint": 0,
                        "loadTime": 0
                    },
                    "average": {
                        "domInteractive": 0,
                        "loadEvent": 0,
                        "weight": 0,
                        "speedIndex": 0,
                        "firstByte": 0,
                        "request": 0,
                        "firstPaint": 0,
                        "startRender": 0,
                        "visuallyComplete": 0,
                        "oldVisuallyComplete": 0,
                        "loadTime": 0
                    }
                },
                "steps": [
                    {
                        "stepId": 0,
                        "stepResultId": "",
                        "name": "",
                        "description": "",
                        "fail": 0,
                        "unavailableResource": 0,
                        "browserError": 0,
                        "timings": {
                            "firstByte": 0,
                            "firstPaint": 0,
                            "domInteractive": 0,
                            "loadEvent": 0,
                            "startRender": 0,
                            "speedIndex": 0,
                            "visuallyComplete": 0,
                            "oldVisuallyComplete": 0
                        },
                        "weight": 0,
                        "requestsCount": 0,
                        "loadTime": 0
                    }
                ]
            }
        ]
    }
}
NomTypeDescription
statusNumberCode retour du statut de la requête (voir la liste)
messageStringInformations complémentaires sur le statut
scenario.idNumberL'identifiant unique du scénario dont provient le résultat
scenario.nameStringLe nom du scénario dont provient le résultat
scenario.reportsObjectLa liste des résultats pour le scénario, Voir "Rapport d'un scénario" pour plus de précisions

Curl exemple

curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"9SD9FDS8FDS8DCX8V8CXV4", "scenarioId": "1"}' https://www.dareboost.com/api/0.5/scenario/reports

Rapport d'une étape d'un scénario

POST /scenario/step/report depuis la version 0.3

Format de la requête

{
    "token": "",
    "stepId": ""
}

Paramètres

NomRequisTypeValeur par défautDescription
tokenOuiStringAucuneJeton d'authentification utilisé
stepIdOuiStringAucuneL'identifiant unique du résultat de l'étape du scénario

Format de la réponse

{
    "status": 200,
    "message": "OK",
    "step": {
        "id": "",
        "previousStepId": "",
        "nextStepId": "",
        "stepResultId": 0,
        "date": 0,
        "timings": {
            "firstByte": 0,
            "firstPaint": 0,
            "domInteractive": 0,
            "loadEvent": 0,
            "startRender": 0,
            "speedIndex": 0,
            "visuallyComplete": 0,
            "oldVisuallyComplete": 0
        },
        "browserError": "[]",
        "unavailableResource": "{}",
        "actionsResult": [
            {
                "id": 0,
                "time": 0,
                "status": "",
                "message": ""
            }
        ]
    }
}
NomTypeDescription
statusNumberCode retour du statut de la requête (voir la liste)
messageStringInformations complémentaires sur le statut
step.idNumberL'identifiant unique du résultat de l'étape
step.previousStepIdStringL'identifiant unique de l'étape précédente dans le scénario
step.nextStepIdStringL'identifiant unique de l'étape suivante dans le scénario
step.stepResultIdStringL'identifiant unique de l'étape associé à ce résultat, ontenu grâce à (la récupération d'un résultat
step.dateNumberTimestamp (en ms) indiquant la date du résultat
step.timingsObjectIndicateurs temporels de performance (en ms). Les indicateurs prennent pour valeur -1 lorsque l'information n'est pas disponnible.
step.timings.visuallyCompleteObjectDernier changement observé sur la page (en ms).
step.timings.oldVisuallyCompleteObjectPremier instant auquel 100% de l''affichage est atteint (en ms). Cette clé est destinée à disparaître, préférez l'utilisation de la clé "visuallyComplete".
step.browserErrorObjectListe des erreurs console
step.unavailableResourceObjectMap des ressources que le navigateur n'a pas pu récupérer (erreurs 404, 500, etc), avec en clé l'url et en valeur le code HTTP
step.actionsResult.idNumberL'identifiant unique de l'action
step.actionsResult.timeNumberLe temps d'exécution de l'action
step.actionsResult.statusStringStatut de l'action pour savoir si elle s'est déroulée correctement
step.actionsResult.messageStringInformations complémentaires sur le statut de l'action

Curl exemple

curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"9SD9FDS8FDS8DCX8V8CXV4", "stepId": "576148ed1b920e7580f66cfe"}' https://www.dareboost.com/api/0.5/scenario/step/report

Har d'une étape de scénario

POST/api/0.5/scenario/report/har depuis la version 0.2

Format de la requête

{
    "token": "",
    "scenarioStepResultId": ""
}

Paramètres

NomRequisTypeValeur par défautDescription
tokenOuiStringAucuneJeton d'authentification utilisé
scenarioStepResultIdOuiStringAucuneIdentifiant unique du résultat d'une étape de scénario, obtenu lors du lancement d'un scénario

Format de la réponse

{
    "status": "",
    "message": "",
    "har": {}
}
NomTypeDescription
statusNumberCode retour du statut de la requête (voir la liste)
messageStringInformations complémentaires sur le statut
harObjectLe har, plus d'information sur le format en suivant ce lien (en)

Curl exemple

curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"9SD9FDS8FDS8DCX8V8CXV4", "scenarioStepResultId": "54084e3ce4b0f241b256c51a"}' https://www.dareboost.com/api/0.5/scenario/report/har

Liste de vos événements

POST/event/list

Format de la requête

{
    "token": "",
    "key": "",
    "dateFrom": "",
    "monitoringId": "",
    "scenarioId": ""
}

Paramètres

NomRequisTypeValeur par défautDescription
tokenOuiStringAucuneJeton d'authentification utilisé
keyNonStringAucuneL'identifiant de l'événement
dateFromNonDateAucuneRetrouver les événements après cette date - format standard basé sur ISO8601, soit yyyy-MM-ddTHH:mm:ssZZ (e.g. 2016-03-11T00:00:00.000+0100).
monitoringIdNonStringAucuneRetrouver les événements appartenant à ce monitoring.
scenarioIdNonStringAucuneRetrouver les événements appartenant à ce scenario.

Format de la réponse

{
    "status": "",
    "message": "",
    "events": [
        {
            "key": "",
            "text": "",
            "date": "2016-10-07T12:00:00.000+02:00"
        }
    ]
}
NomTypeDescription
statusNumberCode retour du statut de la requête (voir la liste)
messageStringInformations complémentaires sur le statut
eventsArrayListe contenant tous les événements respectant les différents filtres de la requête.
keyArrayL'identifiant de l'événement.
textArrayLa description de l'événement.
dateArrayLa date de l'événement - format standard basé sur ISO8601, soit yyyy-MM-ddTHH:mm:ssZZ (e.g. 2016-03-11T00:00:00.000+0100).

Curl exemple

curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"9SD9FDS8FDS8DCX8V8CXV4", "key": "release 09/16"}' https://www.dareboost.com/api/0.5/event/list

Ajouter un événement

POST/event/create

Format de la requête

{
    "token": "",
    "key": "",
    "text": "",
    "date": "2016-10-07T06:00:00.000+02:00",
    "monitorings": [],
    "scenarios": []
}

Paramètres

NomRequisTypeValeur par défautDescription
tokenOuiStringAucuneJeton d'authentification utilisé
keyOuiStringAucuneL'identifiant de l'événement.
textOuiStringAucuneLa description de l'événement.
dateOuiStringAucuneLa date de l'événement - format standard basé sur ISO8601, soit yyyy-MM-ddTHH:mm:ssZZ (e.g. 2016-03-11T00:00:00.000+0100)
monitoringsNonArrayAucuneUne liste d'id de monitorings que vous pouvez obtenir via Liste de vos surveillances.
scenariosNonArrayAucuneUne liste d'id de scenarios que vous pouvez obtenir via Liste de vos scénarios.

Format de la réponse

{
    "status": 200,
    "message": "OK",
    "key": ""
}
NomTypeDescription
statusNumberCode retour du statut de la requête (voir la liste)
messageStringInformations complémentaires sur le statut
keyStringL'identifiant de l'événement qui vient d'être créé.

Curl exemple

curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"574edfe40cf27f447f1c0512", "monitorings":[4437, 4452, 4486], "scenarios": [6,3], "key":"release 10/08/16", "text": "relase october 8 description", "date": "2016-10-07T06:00:00.000+02:00"}' https://www.dareboost.com/api/0.5/event/create

Supprimer un événement

POST/event/delete

Format de la requête

{
    "token": "",
    "key": ""
}

Paramètres

NomRequisTypeValeur par défautDescription
tokenOuiStringAucuneJeton d'authentification utilisé
keyOuiStringAucuneL'identifiant de l'événement.

Format de la réponse

{
    "status": 200,
    "message": "OK",
    "key": ""
}
NomTypeDescription
statusNumberCode retour du statut de la requête (voir la liste)
messageStringInformations complémentaires sur le statut
keyStringL'identifiant de l'événement qui vient d'être supprimé.

Curl exemple

curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"574edfe40cf27f447f1c0512", "key": "release 10/08/16"}' https://www.dareboost.com/api/0.5/event/delete