Liste des actions disponibles
Récupération des localisations
POST /config
Format de la requête
{
"token": ""
}
Paramètres
Nom | Requis | Type | Valeur par défaut | Description |
token | Oui | String | Aucune | Jeton d'authentification utilisé |
Format de la réponse
{
"status": 200,
"message": "",
"config": [
{
"location": "",
"isPrivate": false,
"browsers": [
{
"name": "",
"isMobile": false
}
]
}
]
}
Nom | Type | Description |
status | Number | Code retour du statut de la requête (voir la liste) |
message | String | Informations complémentaires sur le statut |
location | String | Nom de la localisation. Exemple : "Paris", "Washington", ... |
isPrivate | String | Cette localisation vous est dédiée |
browser.name | String | Nom du navigateur. Exemple : "Chrome", "Nexus 5", ... |
browser.isMobile | Boolean | Il 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.7/config
Récupération des navigateurs pour une localisation donnée
POST /config
Format de la requête
{
"token": "",
"location": ""
}
Paramètres
Nom | Requis | Type | Valeur par défaut | Description |
token | Oui | String | Aucune | Jeton d'authentification utilisé |
location | Oui | String | Aucune | Nom de la localisation. Exemple : "Paris", "Washington", ... |
Format de la réponse
{
"status": "",
"message": "",
"location": "",
"isPrivate": false,
"browsers": [
{
"name": "",
"isMobile": false
}
]
}
Nom | Type | Description |
status | Number | Code retour du statut de la requête (voir la liste) |
message | String | Informations complémentaires sur le statut |
location | String | Nom de la localisation. Exemple : "Paris", "Washington", ... |
isPrivate | String | Cette localisation vous est dédiée |
browser.name | String | Nom du navigateur. Exemple : "Chrome", "Nexus 5", ... |
browser.isMobile | Boolean | Il 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.7/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
Nom | Requis | Type | Valeur par défaut | Description |
token | Oui | String | Aucune | Jeton d'authentification utilisé |
reportId | Oui | String | Aucune | L'identifiant unique du rapport que vous souhaitez télécharger en PDF |
useDefaultStyle | Non | Boolean | true | Utiliser le style par défaut de Dareboost. "false" si vous souhaitez utilisez votre marque blanche |
addTableOfContent | Non | Boolean | false | Ajouter un sommaire au début du PDF. "true" si vous souhaitez afficher le sommaire |
showOverallMetrics | Non | Boolean | true | Ajouter les métriques liés à la performance web. "false" si vous ne souhaitez pas que les métriques apparaissent |
showBestPractices | Non | Boolean | true | Afficher les conseils et bonnes pratiques dans le PDF. "false" si vous ne souhaitez pas afficher les conseils. |
showTitleOnly | Non | Boolean | true | Afficher uniquement les titres des conseils. "false" si vous souhaitez obtenir également la description (valable uniquement si showBestPractices est à true). |
showIssueAndImprovementsOnly | Non | Boolean | true | Afficher 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": ""
}
Nom | Type | Description |
status | Number | Code retour du statut de la requête (voir la liste) |
message | String | Informations 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.7/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
Nom | Requis | Type | Valeur par défaut | Description |
token | Oui | String | Aucune | Jeton d'authentification utilisé |
Format de la réponse
{
"status": 200,
"message": "",
"pdfUrl": ""
}
Nom | Type | Description |
status | Number | Code retour du statut de la requête (voir la liste) |
message | String | Informations complémentaires sur le statut |
pdfUrl | String | Le 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.7/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
Nom | Requis | Type | Valeur par défaut | Description |
token | Oui | String | Aucune | Jeton d'authentification utilisé |
url | Oui | String | Aucune | URL à analyser |
lang | Non | String | "en" | Langue de l'analyse ("en" ou "fr") |
location | Non | String | random | Localisation à utiliser lors de l'analyse. Voir "Récupération des localisations" pour obtenir la liste.
Si l'information n'est pas transmise, nous choisirons une localisation sans garantie qu'elle soit la même d'une exécution à une autre |
browser.name | Non | String | "Chrome" | navigateur à utiliser lors de l'analyse. Voir "Récupération des navigateurs" pour obtenir la liste.
Si l'information n'est pas transmise, nous choisirons un type de navigateur sans garantie que ce soit le même d'une exécution à une autre |
mobileAnalysis | Non | Boolean | false | Indiquer "true" si vous souhaitez que la page soit analysée dans un contexte mobile. Ce paramètre est surchargé par le paramètre "browser". |
isPrivate | Non | Boolean | false | Indiquer "true" pour restreindre l'accès au rapport aux comptes liés au votre. |
visualMetrics | Non | Boolean | false | Indiquer "true" pour obtenir les métriques visuelles (début d'affichage, speedindex, etc). Attention, cette option consomme 1 crédit supplémentaire. |
adblock | Non | Boolean | false | Mettre à "true" pour activer le plugin adblock pour l'analyse de votre page (pas disponible avec firefox). |
disableH2 | Non | Boolean | false | Mettre à "true" pour désactiver le support d'HTTP/2 sur le navigateur internet |
downstream | Non | Number | valeur du navigateur par défaut | Débit descendant maximal utilisé |
upstream | Non | Number | valeur du navigateur par défaut | Débit montant maximal utilisé |
latency | Non | Number | valeur du navigateur par défaut | Latence minimale du réseau |
height | Non | Number | valeur du navigateur par défaut | Hauteur de l'écran utilisé |
width | Non | Number | valeur du navigateur par défaut | Largeur de l'écran utilisé |
user | Non | String | Aucune | Nom de l'utilisateur dans le cadre d'une analyse nécessitant une authentification basique |
password | Non | String | Aucune | Mot de passe dans le cadre d'une analyse nécessitant une authentification basique |
postData | Non | List | Aucune | Données POST envoyées dans la première requête |
headers | Non | List | Aucune | En-têtes HTTP envoyés sur toutes les requêtes |
disableAnimation.script | Non | Boolean | false | Mettre à "true" pour stopper les animations basées sur les fonctions JavaScript setTimeout() et setInterval() (après l'évenement onload). |
disableAnimation.css | Non | Boolean | false | Mettre à "true" pour désactiver les propriétés CSS animation, transition et transform (après l'évenement onload). |
cookie | Non | List | Aucune | Les cookies envoyés sur les requêtes (en fonction du domaine et du chemin si renseigné) |
blacklist | Non | List | Aucune | Liste de ressources à bloquer (sous forme de regexp) |
whitelist | Non | List | Aucune | Liste des seules ressources autorisées lors de l'analyse (sous forme de regexp) |
dnsMapping | Non | List | Aucune | Permet 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 / downstream | kbps | 50 | - | - |
latency | ms | 0 | 5000 | - |
height | pixel | 150 | 1920 | - |
width | pixel | 150 | 3000 | - |
headers | - | - | - | =,;:space\t\r\n\v\f |
blacklist | - | - | - | ne doit pas bloquer l'url de la page analysée |
whitelist | - | - | - | doit autoriser l'url de la page analysée |
Format de la réponse
{
"status": "",
"message": "",
"reportId": ""
}
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.7/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.7/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
Nom | Requis | Type | Valeur par défaut | Description |
token | Oui | String | Aucune | Jeton d'authentification utilisé |
reportId | Oui | String | Aucune | Identifiant unique du rapport, obtenu lors du lancement de l'analyse |
metricsOnly | Non | Boolean | False | Indiquer "true" pour obtenir une version résumée, plus légère (exclusion des conseils, des catégories et des technologies détectées) |
getUniqueIDsForTips | Non | Boolean | False | Indiquer "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,
"adblock": false,
"screen": {
"height": 0,
"width": 0
},
"basicAuth": {
"user": "",
"password": ""
},
"postData": [
{
"key": "",
"value": ""
}
],
"header": [
{
"key": "",
"value": ""
}
],
"blacklist": [],
"whiteList": [],
"dnsMapping": [
{
"origin": "",
"destination": ""
}
],
"cookies": [],
"repeatedView": false,
"hhtp2Disabled": false,
"animationsStopped": []
},
"summary": {
"loadTime": 0,
"score": 0,
"requestsCount": 0,
"weight": 0
},
"categories": [
{
"name": "",
"mark": 0
}
],
"tips": [
{
"advice": "",
"category": "",
"score": -1,
"name": "",
"priority": 0
}
],
"timings": {
"navigationStart": 0,
"firstByte": 0,
"firstPaint": 0,
"domInteractive": 0,
"loadEvent": 0,
"startRender": 0,
"speedIndex": 0,
"visuallyComplete": 0,
"oldVisuallyComplete": 0,
"loadEventStart": 0,
"lastByte": 0,
"domLoading": 0,
"domContentLoadedEventStart": 0,
"domContentLoadedEventEnd": 0,
"domComplete": 0,
"firstContentfulPaint": 0,
"firstConsistentlyInteractive": 0,
"largestContentfulPaint": 0,
"totalBlockingTime": 0,
"maxPotentialFirstInputDelay": 0,
"cumulativeLayoutShift": 0
},
"resourceByType": [
{
"type": "",
"bodyWeight": 0,
"headerWeight": 0,
"requestCount": 0
}
],
"customTimings": [
{
"type": "",
"name": "",
"startTime": 0,
"duration": 0
}
],
"technos": [
{
"name": "",
"version": ""
}
]
}
}
Nom | Type | Description |
status | Number | Code retour du statut de la requête (voir la liste) |
message | String | Informations complémentaires sur le statut |
missing | Array | APIs ayant connu un problème lors de l'analyse. Valeurs possibles: rules ou performance_timings |
report.publicReportUrl | String | URL du rapport depuis dareboost.com |
report.harFileUrl | String | URL pour accéder au fichier HAR |
report.date | Number | timestamp (en ms) indiquant la date de l'audit |
report.url | String | URL analysée |
report.lang | String | Langue utilisée pour générer les conseils du rapport |
report.config.location | String | Localisation de la sonde de test |
report.config.browser | Object | Navigateur utilisé lors du test |
report.config.isMobile | Boolean | Est-ce un audit sur navigateur mobile (simulé)? |
report.config.bandwidth | Object | Bande passante utilisée |
report.config.latency | Number | Latence minimale utilisée |
report.config.screen | Object | Dimensions du navigateur utilisé |
report.config.isPrivate | Boolean | L'accès à ce rapport est-il restreint à ce compte utilisateur ? |
report.config.adblock | Boolean | Indique si le plugin adblock a été activé. |
report.config.basicAuth | Object | Informations liées à une authentification via .htaccess |
report.config.postData | Object | Données POST configurées via les paramètres avancés |
report.config.header | Object | En-têtes HTTP configurés via les paramètres avancés |
report.config.blacklist | List | Chaînes présentes dans la Blocklist |
report.config.whiteList | List | Chaînes présentes dans la Allowlist |
report.config.cookies | List | Les cookies utilisés pour l'analyse |
report.config.repeatedView | Boolean | Indique si la seconde visite est activée |
report.config.http2Disabled | Boolean | Indique si HTTP2 est désactivé |
report.config.animationsStopped | Object | Map des animations stoppées |
report.summary.loadtime | Number | Temps nécessaire pour charger toutes les ressources de la page (en ms) |
report.summary.score | Number | Score Dareboost, compris entre 0 et 100 |
report.summary.requestCount | Number | Nombre de ressources tirées pour charger la page |
report.summary.weight | Number | Volume total de données récupérées (en octets) pour charger la page |
report.categories | Object | Score par catégorie |
report.tips | Object | Tous les conseils |
report.timings | Object | Indicateurs temporels de performance (en ms). Les indicateurs prennent pour valeur -1 lorsque l'information n'est pas disponible. |
report.timings.visuallyComplete | Object | Dernier changement visuel observé sur la page (en ms). |
report.timings.oldVisuallyComplete | Object | Ne 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.resourceByType | Object | Poids et nombre de ressources par types (HTML, CSS, JS, etc) en octets |
report.customTimings | Object | Marqueurs personnalisés que vous avez placés. |
report.customTimings.type | String | Le type de marqueur (mark ou measure). |
report.customTimings.name | String | Le nom du marqueur. |
report.customTimings.startTime | Number | Le temps de départ en ms. |
report.customTimings.duration | Number | La durée en ms (disponible uniquement pour les marqueurs de type "measure"). |
report.technos | Object | Technologies 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.7/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 un 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
Nom | Requis | Type | Valeur par défaut | Description |
token | Oui | String | Aucune | Jeton d'authentification utilisé |
reportId | Oui | String | Aucune | Identifiant unique du rapport, obtenu lors du lancement de l'analyse |
Format de la réponse
{
"status": "",
"message": "",
"har": ""
}
Nom | Type | Description |
status | Number | Code retour du statut de la requête (voir la liste) |
message | String | Informations complémentaires sur le statut |
har | String | Le har, plus d'informations 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.7/analysis/har
Liste de vos surveillances automatiques
POST /monitoring/list
Format de la requête
{
"token": "",
"name": "",
"url": ""
}
Paramètres
Nom | Requis | Type | Valeur par défaut | Description |
token | Oui | String | Aucune | Jeton d'authentification utilisé |
name | Non | String | Aucune | Pattern pour filtrer parmi vos surveillances et retourner uniquement celles contenant la chaîne de caractères indiquée dans leur nom |
url | Non | String | Aucune | Pattern pour filtrer parmi vos surveillances et retourner uniquement celles 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,
"frequency": 1440,
"lang": "en",
"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": ""
}
],
"cookies": [],
"repeatedView": false,
"hhtp2Disabled": false,
"animationsStopped": []
}
}
]
}
Nom | Type | Description |
status | Number | Code retour du statut de la requête (voir la liste) |
message | String | Informations complémentaires sur le statut |
monitorings | List | Liste d'objets, 1 objet par surveillance |
id | Number | Identifiant unique du monitoring |
url | String | Url de la page monitorée |
name | Number | Nom donné au monitoring |
state | String | État actuel de la surveillance automatique : "ok", "error" |
errorMessage | String | Détails de l'erreur ou "" |
lastExecution | Number | Timestamp (en ms) indiquant la dernière exécution de la surveillance |
enabled | Boolean | La surveillance est-elle active ou non ? |
frequency | Integer | La fréquence du monitoring en minutes |
lang | String | Langue de l'analyse |
config | Object | Voir 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", "url":"dareboost"}' https://www.dareboost.com/api/0.7/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
Nom | Requis | Type | Valeur par défaut | Description |
token | Oui | String | Aucune | Jeton d'authentification utilisé |
monitoringId | Oui | Number | Aucune | L'identifiant unique de la surveillance automatique |
metricsOnly | Non | Boolean | False | Indiquer "true" pour obtenir une version résumée, plus légère (exclusion des conseils, des catégories et des technologies détectées) |
getUniqueIDsForTips | Non | Boolean | False | Indiquer "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": {}
}
Nom | Type | Description |
status | Number | Code retour du statut de la requête (voir la liste) |
message | String | Informations complémentaires sur le statut |
lastExecution | Number | Timestamp (en ms) représentant la dernière exécution de la surveillance automatique |
alerts | List | Liste d'objets, 1 objet par surveillance |
alerts.type | String | Type de l'alerte. Exemples : "Note", "Loadtime", "First Byte", ... |
alerts.threshold | Number | Seuil qui détermine si l'audit est en alerte ou non |
alerts.value | Number | Valeur correspondant à la métrique |
report | String | Voir "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.7/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
Nom | Requis | Type | Valeur par défaut | Description |
token | Oui | String | Aucune | Jeton d'authentification utilisé |
monitoringId | Oui | Number | Aucune | L'identifiant unique de la surveillance automatique |
limit | Non | Number | 30 | Limitation du nombre de rapports à retourner (0 = illimité) |
lastDays | No | Number | Aucune | Limiter les rapports sur les X derniers jours. X étant la valeur donnée à ce paramètre. |
dateFrom | No | String | Aucune | Retrouver les résultats des audits executés après cette date - format standard basé sur ISO8601, soit yyyy-MM-ddTHH:mm:ss.SSSZZ (e.g. 2016-03-11T00:00:00.000+0100). |
dateTo | No | String | Aucune | Retrouver les résultats des audits executés avant cette date - format standard basé sur ISO8601, soit yyyy-MM-ddTHH:mm:ss.SSSZZ (e.g. 2016-03-11T00:00:00.000+0100). |
error | Non | Boolean | Aucune | Par 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": {
"navigationStart": 0,
"firstByte": 0,
"firstPaint": 0,
"domInteractive": 0,
"loadEvent": 0,
"startRender": 0,
"speedIndex": 0,
"visuallyComplete": 0,
"oldVisuallyComplete": 0,
"loadEventStart": 0,
"lastByte": 0,
"domLoading": 0,
"domContentLoadedEventStart": 0,
"domContentLoadedEventEnd": 0,
"domComplete": 0,
"firstContentfulPaint": 0,
"firstConsistentlyInteractive": 0,
"largestContentfulPaint": 0,
"totalBlockingTime": 0,
"maxPotentialFirstInputDelay": 0,
"cumulativeLayoutShift": 0
},
"averageCustomTimings": [
{
"type": "",
"name": "",
"startTime": 0,
"duration": 0
}
]
},
"monitoringData": [
{
"state": "OK",
"errorMessage": "",
"id": 0,
"date": 0,
"score": 0,
"weight": 0,
"requests": 0,
"loadTime": 0,
"unreachableRequests": 0,
"timings": {
"navigationStart": 0,
"firstByte": 0,
"firstPaint": 0,
"domInteractive": 0,
"loadEvent": 0,
"startRender": 0,
"speedIndex": 0,
"visuallyComplete": 0,
"oldVisuallyComplete": 0,
"loadEventStart": 0,
"lastByte": 0,
"domLoading": 0,
"domContentLoadedEventStart": 0,
"domContentLoadedEventEnd": 0,
"domComplete": 0,
"firstContentfulPaint": 0,
"firstConsistentlyInteractive": 0,
"largestContentfulPaint": 0,
"totalBlockingTime": 0,
"maxPotentialFirstInputDelay": 0,
"cumulativeLayoutShift": 0
},
"customTimings": [
{
"type": "mark",
"name": "bootstrap_start",
"startTime": 3510,
"duration": 0
}
]
}
]
}
Nom | Type | Description |
status | Number | Code retour du statut de la requête (voir la liste) |
message | String | Informations complémentaires sur le statut |
averageScore | Number | Moyenne des scores Dareboost, compris entre 0.0 et 100.0 |
averageWeight | Number | Moyenne des volumes de données récupérées (en octets) pour charger la page |
averageRequests | Number | Moyennes du nombre de ressources tirées pour charger la page |
averageTimings | Object | Moyennes des différents temps à partir du début de la navigation (en ms) |
averageCustomTimings | Object | Moyennes des différents marqueurs personnalisés (en ms) |
state | String | Statut de l'audit courant : "ok", "error" |
errorMessage | String | Détails de l'erreur ou "" |
id | String | Identifiant unique de l'audit (Requis pour récupérer le résultat de l'audit) |
date | Number | Timestamp (en ms) représentant la date de création du rapport |
score | Number | Score Dareboost, compris entre 0 et 100 |
weight | Number | Volume total de données récupérées (en octets) pour charger la page |
requests | Number | Nombre de ressources tirées pour charger la page |
unreachableRequests | Number | Nombre de ressources que le navigateur n'a pas pu récupérer (erreurs 404, 500, etc) |
timings | Object | Indicateurs temporels de performance (en ms). Les indicateurs prennent pour valeur -1 lorsque l'information n'est pas disponible. |
Exemples Curl
curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"9SD9FDS8FDS8DCX8V8CXV4", "monitoringId": 42}' https://www.dareboost.com/api/0.7/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
Nom | Requis | Type | Valeur par défaut | Description |
token | Oui | String | Aucune | Jeton d'authentification utilisé |
name | Non | String | Aucune | Pattern pour filtrer parmi vos scénarios 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": ""
}
]
}
Nom | Type | Description |
status | Number | Code retour du statut de la requête (voir la liste) |
message | String | Informations complémentaires sur le statut |
scenarios | List | Liste d'objets, un objet par scénario |
scenarios.id | Number | Identifiant unique du scénario, nécéssaire pour demander son exécution |
scenarios.name | Number | Le nom du scénario |
Curl exemple
curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"9SD9FDS8FDS8DCX8V8CXV4", "name":"dareboost"}' https://www.dareboost.com/api/0.7/scenario/list
Exécuter un scénario
POST /scenario/launch depuis la version 0.2
Format de la requête
{
"token": "",
"scenarioId": ""
}
Paramètres
Nom | Requis | Type | Valeur par défaut | Description |
token | Oui | String | Aucune | Jeton d'authentification utilisé |
scenarioId | Oui | Number | Aucune | L'identifiant unique du scénario à executer |
Format de la réponse
{
"status": 200,
"message": "ok",
"scenarioResultId": ""
}
Nom | Type | Description |
status | Number | Code retour du statut de la requête (voir la liste) |
message | String | Informations complémentaires sur le statut |
scenarioResultId | Number | L'identifiant unique du futur 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.7/scenario/launch
Rapport d'un scénario
POST /scenario/report depuis la version 0.3
Format de la requête
{
"token": "",
"scenarioId": "",
"date": ""
}
Paramètres
Nom | Requis | Type | Valeur par défaut | Description |
token | Oui | String | Aucune | Jeton d'authentification utilisé |
scenarioId | Oui | Number | Aucune | L'identifiant unique du rapport de scénario |
date | Oui | Number | Aucune | Timestamp (en ms) indiquant la date du résultat |
Format de la réponse
{
"status": 200,
"message": "",
"scenarioReport": {
"scenarioId": 0,
"name": "",
"resultId": 0,
"date": 0,
"viewOnTheWeb": "https://www.dareboost.com/scenario/[scenarioId]/report/[date]",
"summary": {
"fail": 0,
"unavailableResource": 0,
"browserError": 0,
"sum": {
"firstPaint": 0,
"request": 0,
"startRender": 0,
"lastByte": 0,
"weight": 0,
"domInteractive": 0,
"domContentLoadedEventStart": 0,
"domComplete": 0,
"loadEvent": 0,
"firstContentfulPaint": 0,
"loadTime": 0,
"loadEventStart": 0,
"firstConsistentlyInteractive": 0,
"visuallyComplete": 0,
"speedIndex": 0,
"firstByte": 0,
"domContentLoadedEventEnd": 0,
"domLoading": 0,
"largestContentfulPaint": 0,
"totalBlockingTime": 0,
"maxPotentialFirstInputDelay": 0,
"cumulativeLayoutShift": 0
},
"average": {
"firstPaint": 0,
"request": 0,
"startRender": 0,
"lastByte": 0,
"weight": 0,
"domInteractive": 0,
"domContentLoadedEventStart": 0,
"domComplete": 0,
"loadEvent": 0,
"firstContentfulPaint": 0,
"loadTime": 0,
"loadEventStart": 0,
"firstConsistentlyInteractive": 0,
"visuallyComplete": 0,
"speedIndex": 0,
"firstByte": 0,
"domContentLoadedEventEnd": 0,
"domLoading": 0,
"largestContentfulPaint": 0,
"totalBlockingTime": 0,
"maxPotentialFirstInputDelay": 0,
"cumulativeLayoutShift": 0
}
},
"steps": [
{
"stepId": 0,
"stepResultId": "",
"name": "",
"description": "",
"fail": 0,
"unavailableResource": 0,
"browserError": 0,
"timings": {
"navigationStart": 0,
"firstByte": 0,
"firstPaint": 0,
"domInteractive": 0,
"loadEvent": 0,
"startRender": 0,
"speedIndex": 0,
"visuallyComplete": 0,
"oldVisuallyComplete": 0,
"loadEventStart": 0,
"lastByte": 0,
"domLoading": 0,
"domContentLoadedEventStart": 0,
"domContentLoadedEventEnd": 0,
"domComplete": 0,
"firstContentfulPaint": 0,
"firstConsistentlyInteractive": 0,
"largestContentfulPaint": 0,
"totalBlockingTime": 0,
"maxPotentialFirstInputDelay": 0,
"cumulativeLayoutShift": 0
},
"weight": 0,
"requestsCount": 0,
"loadTime": 0,
"customTimings": [
{
"type": "",
"name": "",
"startTime": 0,
"duration": 0
}
]
}
]
}
}
Nom | Type | Description |
status | Number | Code retour du statut de la requête (voir la liste) |
message | String | Informations complémentaires sur le statut |
scenarioReport.scenarioId | Number | L'identifiant unique du scénario dont provient le résultat |
scenarioReport.name | String | Le nom du scénario dont provient le résultat |
scenarioReport.resultId | Number | L'identifiant unique du résultat |
scenarioReport.date | Number | Timestamp (en ms) indiquant la date du résultat |
scenarioReport.viewOnTheWeb | String | URL du rapport depuis dareboost.com |
scenarioReport.summary.fail | Number | Le nombre de points de contrôles en erreur |
scenarioReport.summary.unavailableResource | Number | Le nombre de ressources en erreur |
scenarioReport.summary.browserError | Number | Le nombre d'erreurs console trouvées |
scenarioReport.summary.sum | Object | Total de plusieurs indicateurs tels que les timings |
scenarioReport.summary.average | Object | Moyenne de plusieurs indicateurs tels que les timings |
scenarioReport.steps | Object | Liste des résultats des étapes du scénario. Voir "Rapport d'une étape d'un scénario" pour plus de détails. |
Curl exemple
curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"9SD9FDS8FDS8DCX8V8CXV4", "scenarioId": "1", "date": "1542117158294"}' https://www.dareboost.com/api/0.7/scenario/report
Note
Lorsque vous souhaitez récupérer le résultat d'un scénario précédement lancée, il y a de fortes chances pour que le scénario ne soit pas encore terminé. L'API vous répondra alors avec un statut 202 (
voir la liste des statuts de retour).
Dans ce cas il est fortement conseillé d'attendre 10 secondes entre chaque tentative de récupération du résultat.
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
Nom | Requis | Type | Valeur par défaut | Description |
token | Oui | String | Aucune | Jeton d'authentification utilisé |
scenarioId | Oui | Number | Aucune | L'identifiant unique du scénario |
limit | Non | Number | 30 | Limitation du nombre de rapports à retourner |
lastDays | No | Number | Aucune | Limiter les rapports sur les X derniers jours. X étant la valeur donnée à ce paramètre. |
dateFrom | No | String | Aucune | Retrouver 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). |
dateTo | No | String | Aucune | Retrouver 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). |
error | Non | Boolean | Aucune | Par 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/[scenarioId]/report/[date]",
"summary": {
"fail": 0,
"unavailableResource": 0,
"browserError": 0,
"sum": {
"firstPaint": 0,
"request": 0,
"startRender": 0,
"lastByte": 0,
"weight": 0,
"domInteractive": 0,
"domContentLoadedEventStart": 0,
"domComplete": 0,
"loadEvent": 0,
"firstContentfulPaint": 0,
"loadTime": 0,
"loadEventStart": 0,
"firstConsistentlyInteractive": 0,
"visuallyComplete": 0,
"speedIndex": 0,
"firstByte": 0,
"domContentLoadedEventEnd": 0,
"domLoading": 0,
"largestContentfulPaint": 0,
"totalBlockingTime": 0,
"maxPotentialFirstInputDelay": 0,
"cumulativeLayoutShift": 0
},
"average": {
"firstPaint": 0,
"request": 0,
"startRender": 0,
"lastByte": 0,
"weight": 0,
"domInteractive": 0,
"domContentLoadedEventStart": 0,
"domComplete": 0,
"loadEvent": 0,
"firstContentfulPaint": 0,
"loadTime": 0,
"loadEventStart": 0,
"firstConsistentlyInteractive": 0,
"visuallyComplete": 0,
"speedIndex": 0,
"firstByte": 0,
"domContentLoadedEventEnd": 0,
"domLoading": 0,
"largestContentfulPaint": 0,
"totalBlockingTime": 0,
"maxPotentialFirstInputDelay": 0,
"cumulativeLayoutShift": 0
}
},
"steps": [
{
"stepId": 0,
"stepResultId": "",
"name": "",
"description": "",
"fail": 0,
"unavailableResource": 0,
"browserError": 0,
"timings": {
"navigationStart": 0,
"firstByte": 0,
"firstPaint": 0,
"domInteractive": 0,
"loadEvent": 0,
"startRender": 0,
"speedIndex": 0,
"visuallyComplete": 0,
"oldVisuallyComplete": 0,
"loadEventStart": 0,
"lastByte": 0,
"domLoading": 0,
"domContentLoadedEventStart": 0,
"domContentLoadedEventEnd": 0,
"domComplete": 0,
"firstContentfulPaint": 0,
"firstConsistentlyInteractive": 0,
"largestContentfulPaint": 0,
"totalBlockingTime": 0,
"maxPotentialFirstInputDelay": 0,
"cumulativeLayoutShift": 0
},
"weight": 0,
"requestsCount": 0,
"loadTime": 0,
"customTimings": [
{
"type": "",
"name": "",
"startTime": 0,
"duration": 0
}
]
}
]
}
]
}
}
Nom | Type | Description |
status | Number | Code retour du statut de la requête (voir la liste) |
message | String | Informations complémentaires sur le statut |
scenario.id | Number | L'identifiant unique du scénario dont provient le résultat |
scenario.name | String | Le nom du scénario dont provient le résultat |
scenario.reports | Object | La 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.7/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
Nom | Requis | Type | Valeur par défaut | Description |
token | Oui | String | Aucune | Jeton d'authentification utilisé |
stepId | Oui | String | Aucune | L'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,
"loadEventStart": 0,
"lastByte": 0,
"domLoading": 0,
"domContentLoadedEventStart": 0,
"domContentLoadedEventEnd": 0,
"domComplete": 0,
"firstContentfulPaint": 0,
"firstConsistentlyInteractive": 0,
"largestContentfulPaint": 0,
"totalBlockingTime": 0,
"maxPotentialFirstInputDelay": 0,
"cumulativeLayoutShift": 0
},
"browserError": "[]",
"unavailableResource": "{}",
"actionsResult": [
{
"id": 0,
"time": 0,
"status": "",
"message": ""
}
],
"customTimings": [
{
"type": "",
"name": "",
"startTime": 0,
"duration": 0
}
]
}
}
Nom | Type | Description |
status | Number | Code retour du statut de la requête (voir la liste) |
message | String | Informations complémentaires sur le statut |
step.id | Number | L'identifiant unique du résultat de l'étape |
step.previousStepId | String | L'identifiant unique de l'étape précédente dans le scénario |
step.nextStepId | String | L'identifiant unique de l'étape suivante dans le scénario |
step.stepResultId | String | L'identifiant unique de l'étape associée à ce résultat, obtenu grâce à la récupération d'un résultat |
step.date | Number | Timestamp (en ms) indiquant la date du résultat |
step.timings | Object | Indicateurs temporels de performance (en ms). Les indicateurs prennent pour valeur -1 lorsque l'information n'est pas disponible. |
step.timings.visuallyComplete | Object | Dernier changement observé sur la page (en ms). |
step.timings.oldVisuallyComplete | Object | Premier 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.browserError | Object | Liste des erreurs console |
step.unavailableResource | Object | Map 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.id | Number | L'identifiant unique de l'action |
step.actionsResult.time | Number | Le temps d'exécution de l'action |
step.actionsResult.status | String | Statut de l'action pour savoir si elle s'est déroulée correctement |
step.actionsResult.errorDetails | String | Détail de l'erreur s'il y en a une. |
step.actionsResult.message | String | Informations complémentaires sur le statut de l'action |
step.actionsResult.value | String | Valeur d'un élément dans le cas d'une vérification en erreur. |
step.actionsResult.startCapturingAction | Boolean | Indique si l'étape technique doit attentre la fin du chargement de la page. |
step.actionsResult.networkTimedout | Boolean | Indique s'il y a eu un timeout lors de l'exécution de l'action. |
step.customTimings | Object | Marqueurs personnalisés que vous avez placés. |
step.customTimings.type | String | Le type de marqueur (mark ou measure). |
step.customTimings.name | String | Le nom du marqueur. |
step.customTimings.startTime | Number | Le temps de départ en ms. |
step.customTimings.duration | Number | La durée en ms (disponible uniquement pour les marqueurs de type "measure"). |
Curl exemple
curl --ssl-reqd -H "Content-Type: application/json" -X POST -d '{"token":"9SD9FDS8FDS8DCX8V8CXV4", "stepId": "576148ed1b920e7580f66cfe"}' https://www.dareboost.com/api/0.7/scenario/step/report
Har d'une étape de scénario
POST/api/0.7/scenario/report/har depuis la version 0.2
Format de la requête
{
"token": "",
"scenarioStepResultId": ""
}
Paramètres
Nom | Requis | Type | Valeur par défaut | Description |
token | Oui | String | Aucune | Jeton d'authentification utilisé |
scenarioStepResultId | Oui | String | Aucune | Identifiant 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": ""
}
Nom | Type | Description |
status | Number | Code retour du statut de la requête (voir la liste) |
message | String | Informations complémentaires sur le statut |
har | String | Le 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.7/scenario/report/har
Liste de vos évènements
POST/event/list
Format de la requête
{
"token": "",
"key": "",
"dateFrom": "",
"monitoringId": "",
"scenarioId": ""
}
Paramètres
Nom | Requis | Type | Valeur par défaut | Description |
token | Oui | String | Aucune | Jeton d'authentification utilisé |
key | Non | String | Aucune | L'identifiant de l'évènement |
dateFrom | Non | Date | Aucune | Retrouver les évènements après cette date - format standard basé sur ISO8601, soit yyyy-MM-ddTHH:mm:ss.SSSZZ (e.g. 2016-03-11T00:00:00.000+0100). |
monitoringId | Non | String | Aucune | Retrouver les évènements appartenant à ce monitoring. |
scenarioId | Non | String | Aucune | Retrouver les évènements appartenant à ce scénario. |
Format de la réponse
{
"status": "",
"message": "",
"events": [
{
"key": "",
"text": "",
"date": "2016-10-07T12:00:00.000+02:00"
}
]
}
Nom | Type | Description |
status | Number | Code retour du statut de la requête (voir la liste) |
message | String | Informations complémentaires sur le statut |
events | Array | Liste contenant tous les évènements respectant les différents filtres de la requête. |
key | Array | L'identifiant de l'évènement. |
text | Array | La description de l'évènement. |
date | Array | La date de l'évènement - format standard basé sur ISO8601, soit yyyy-MM-ddTHH:mm:ss.SSSZZ (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.7/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
Nom | Requis | Type | Valeur par défaut | Description |
token | Oui | String | Aucune | Jeton d'authentification utilisé |
key | Oui | String | Aucune | L'identifiant de l'évènement. |
text | Oui | String | Aucune | La description de l'évènement. |
date | Oui | String | Aucune | La 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) |
monitorings | Non | Array | Aucune | Une liste d'id de monitorings que vous pouvez obtenir via Liste de vos surveillances. |
scenarios | Non | Array | Aucune | Une 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": ""
}
Nom | Type | Description |
status | Number | Code retour du statut de la requête (voir la liste) |
message | String | Informations complémentaires sur le statut |
key | String | L'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.7/event/create
Supprimer un évènement
POST/event/delete
Format de la requête
{
"token": "",
"key": ""
}
Paramètres
Nom | Requis | Type | Valeur par défaut | Description |
token | Oui | String | Aucune | Jeton d'authentification utilisé |
key | Oui | String | Aucune | L'identifiant de l'évènement. |
Format de la réponse
{
"status": 200,
"message": "OK",
"key": ""
}
Nom | Type | Description |
status | Number | Code retour du statut de la requête (voir la liste) |
message | String | Informations complémentaires sur le statut |
key | String | L'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.7/event/delete