L’API de Reporting, qui se cache derrière Explorer, Data Query, les Tableaux de Bord et les Rapports, a été mise à jour le 14/03/2019 pour mieux gérer les périodes relatives dans certains cas.
Jours : hier, 3 derniers jours, etc.
Avant la mise à jour
Lorsqu’à 0h02 le 15 janvier (fuseau horaire du site, configuré à sa création), vous appelez J-1, vous vous attendez à avoir l’intégralité des données du jour précédent (le 14 janvier), de 0h00 à 23h59. Or, comme vous le savez, il faut entre 3 et 5 minutes entre la collecte de données et la mise à disposition des données dans toutes les analyses. Jusqu’à présent, nous vous retournions les données du dernier jour complet collecté, à savoir J-2 dans notre cas (le 13 janvier).
A partir de la mise à jour
La date de l’appel (15 janvier) est prise en compte dans la détection de la période relative, ainsi, en appelant J-1 à 0h02 le 15 janvier, si toutes les données de la veille ne sont pas disponibles, un message vous informera que les données ne sont pas prêtes et que l’appel doit être renouvelé ultérieurement.
Heures
La même logique s’applique sur les heures relatives. L’heure en cours est l’heure de référence. Un appel sur H-1 à 16h17 retournera bien les données de 15h à 15h59 alors que le même appel réalisé à 16h01 retournera un message informatif indiquant que les données de 15h à 15h59 ne sont pas encore prêtes, au lieu de retourner les données de 14h à 14h59.
Minutes
Lorsque vous allez requêter les n dernières minutes, nous prendrons toujours l'heure et la minute du site comme heure de référence.
Par exemple, en appelant les 30 dernières minutes à 14h13 (period={R:{MN:{start:-30,end:0}}}), l'API de Reporting va chercher à retourner les données de 13h43 à 14h13. Or, comme décrit plus haut, il y a un temps de 3 à 5 minutes entre les données collectées et les données restitués. Par conséquent, la dernière minute disponible sera comprise entre 14h07 et 14h12.
Conséquences dans l'Analytics Suite
Explorer et Data Query
Le calendrier va automatiquement s'adapter.
Voici des exemples pour Data Query :
Période appelée |
Définitions |
Aujourd’hui |
Data Query retourne toutes les données disponibles (de minuit à la dernière minute disponible). |
Hier |
Data Query retourne toutes les données de la veille, basé sur la date locale du site, si toute la journée est calculée. |
Semaine en cours |
Data Query retourne toutes les données du lundi à « hier », basé sur la date locale du site, uniquement si elles sont toutes calculées. Si cet appel est réalisé un lundi, les données de la journée en cours (temps réel) seront retournées. |
Mois en cours |
Data Query retourne toutes les journées complètes du mois en cours, basé sur la date locale du site. Si cet appel est réalisé le 1er du mois, les données de la journée en cours (temps réel) seront retournées. |
Semaine précédente |
Data Query retourne toutes les données du lundi au dimanche de la semaine précédente, basé sur la date locale du site, uniquement si elles sont toutes calculées. |
Mois précédent |
Data Query retourne tout le mois précédent, basé sur la date locale du site, uniquement si toutes les journées sont calculées. |
N dernières périodes |
Data Query retourne toute la période demandée, basé sur la date locale du site, uniquement si toutes les données sont calculées. |
Période -N |
Data Query retourne toute la période demandée, basé sur la date locale du site, uniquement si toutes les données sont calculées. |
Tableaux de Bord et Rapports
Les Tableaux de bord vous offrent des périodes d'analyse par défaut plus riches dans Explorer concernant les périodes relatives avec les dernières 5, 10, 30 et 60 minutes. Vous l'aurez compris, les 3 à 5 dernières minutes étant toujours indisponibles, nous appliquons un décalage automatique de 5 minutes.
A 10h00, en appelant :
- les 5 dernières minutes, nous allons chercher les données de 9h50 à 9h55,
- les 10 dernières minutes, nous allons chercher les données de 9h45 à 9h55,
- les 30 dernières minutes, nous allons chercher les données de 9h25 à 9h55,
- les 60 dernières minutes, nous allons chercher les données de 8h55 à 9h55.
API de Reporting
Nous vous recommandons fortement d'utiliser le GetMaxDate pour savoir quelle est la dernière minute disponible, avant de faire vos appels sur des périodes relatives, cela vous permettra de comprendre, le cas échéant, pourquoi les données ne sont pas prêtes et pourquoi l'API retourne un message d'erreur.
Nous vous recommandons donc de ne plus utiliser "end:0" quand vous demandez des minutes, elles ne seront jamais disponibles. Il faut décaler par exemple de 5 minutes : period={R:{MN:{start:-35,end:-5}}}
Dans tous les cas, l'API de Reporting se base sur la date et l'heure du site comme précisé plus haut. En cas de retard de calcul des données en temps réel, il se peut que les données demandées ne soient pas prêtes, dans ce cas, il faudra réitérer votre appel quelques minutes plus tard.
Période appelée |
Définitions |
&period={R:{M:'0'}} |
L’API retourne toutes les journées complètes du mois en cours, basé sur la date locale du site. Si cet appel est réalisé le 1er du mois, les données de la journée en cours (temps réels) seront retournées. |
&period={R:{M:'-1'}} |
L’API retourne tout le mois précédent, basé sur la date locale du site, uniquement si toutes les journées sont calculées. |
&period={R:{W:'0'}} |
L’API retourne toutes les données du lundi à « hier », basé sur la date locale du site, uniquement si elles sont toutes calculées. Si cet appel est réalisé un lundi, les données de la journée en cours (temps réels) seront retournées. |
&period={R:{W:'-1'}} |
L’API retourne toutes les données du lundi au dimanche de la semaine précédente, basé sur la date locale du site, uniquement si elles sont toutes calculées. |
&period={R:{D:'0'}} |
L’API retourne toutes les données disponibles (de minuit à la dernière minute disponible). |
&period={R:{D:'-1'}} |
L’API retourne toutes les données de la veille, basé sur la date locale du site, si toute la journée est calculée. |
&period={R:{H:'0'}} |
L’API retourne toutes les données disponibles de l’heure en cours, basé sur la date locale du site. |
&period={R:{H:'-1'}} |
L’API retourne toutes les données de l’heure précédente (basé sur l’heure locale du site), de xx:00 à xx:59, uniquement si toutes les minutes sont prêtes. |
&period={R:{MN:'0'}} |
L’API retourne toujours une erreur 3003 (données non prêtes) Ce sera le cas pour les minutes -4, -3, -2, -1 et 0. |
&period={R:{MN:'-10'}} |
L’API retourne la minute -10, basé sur la date et l’heure locale du site. |