QueryReport
Génère immédiatement un rapport de requête et renvoie ses lignes en
JSON, ou le fichier du rapport dans le format du rapport. Un autre système l’utilise pour récupérer
les données du rapport quand il en a besoin, au lieu de recevoir le rapport par e-mail, par FTP ou
par envoi vers une API. Pour un abonnement à un rapport avancé, utilisez
AdvReport.
Seul un rapport dont l’option API Access est à Yes peut être récupéré. La page du rapport affiche ce paramètre ; c’est le support TrakIT qui le définit. Pour préparer un rapport pour l’API, voir Récupérer un rapport par l’API.
Comment envoyer la clé et lire la réponse : Clés d’API, Réponses.
GET /api/public/QueryReport?APIKey=your-api-key&RepID=your-report-id&Params=2026-10-01;2026-10-31&AsFile=falseEnvoyez la clé dans le paramètre APIKey de la chaîne de requête. La clé doit être autorisée à
obtenir des rapports de requête (qrep.getreport) ; c’est le support TrakIT qui la configure.
Encodez chaque valeur pour l’URL. La clé fait partie de l’adresse : ne laissez donc pas ces URL
dans les journaux que vous partagez.
| Paramètre | Obligatoire | Signification |
|---|---|---|
APIKey |
Oui | La clé d’API. |
RepID |
Oui | L’identifiant du rapport, sous la forme codée que TrakIT utilise dans ses adresses : la partie qui suit qrep- dans l’adresse de la page du rapport. Le support TrakIT peut aussi vous le donner avec la clé. L’identifiant codé change à chaque ouverture de la page ; n’importe lequel fonctionne. |
Params |
Non | De nouvelles valeurs pour les paramètres du rapport, séparées par ; : une valeur pour chaque paramètre, dans l’ordre de l’onglet Parameters du rapport. Omettez-le pour générer le rapport avec les valeurs qu’il a déjà. |
AsFile |
Non | true pour obtenir le fichier du rapport, false pour obtenir les lignes en JSON. La valeur par défaut est false. |
APIKey et RepID doivent figurer dans la chaîne de requête : s’il en manque un, TrakIT répond
avec le statut HTTP 404.
Paramètres
Section intitulée « Paramètres »Lorsque vous envoyez Params, TrakIT contrôle chaque valeur par rapport à son paramètre, enregistre
les valeurs modifiées comme valeurs des paramètres du rapport, puis génère le rapport. Chaque valeur
doit convenir au paramètre, comme dans l’onglet Parameters
du rapport :
- un paramètre numérique accepte un nombre de 18 caractères au plus ;
- un paramètre de date accepte une date : envoyez-la au format
yyyy-MM-dd(voir Dates et heures) ; - un paramètre avec une liste accepte l’un des éléments de la liste, écrit exactement comme dans la liste ;
- toute valeur fait 500 caractères au plus, sans texte qui ressemble à du HTML.
| Règle | Info en cas d’échec |
|---|---|
APIKey n’est pas vide. |
API Key is missing |
| La clé est active et autorisée à obtenir des rapports de requête. | Key is disabled, not recognized or permission denied |
RepID n’est pas vide. |
RepID is missing |
RepID est un identifiant de rapport. |
Invalid RepID |
| Le rapport existe. | Vide, avec Code à 0 |
| Le rapport a l’option API Access. | Report not enabled for API access |
Params contient une valeur pour chacun des paramètres du rapport. |
Parameters passed do not match the number of parameters in the report |
| Un paramètre numérique reçoit un nombre de 18 caractères au plus. | Params ... must be numeric, Params ... value too big, avec la position du paramètre, par exemple Params 2 must be numeric |
| Un paramètre de date reçoit une date. | Params ... is invalid Date |
| Un paramètre avec une liste reçoit l’un de ses éléments. | Params ... value does not belongs to the allowed list |
| Une valeur fait 500 caractères au plus et ne contient pas de texte qui ressemble à du HTML. | Query Parameters suivi de Value cannot exceed 500 characters ou Value contains possible html tags or disallowed text |
| Le rapport n’est pas déjà en cours de génération, par un utilisateur, un envoi planifié ou un autre appel. | Report generation is already in progress (started ...). Please try again shortly. |
| La requête du rapport renvoie des lignes, ou le rapport a l’option Generate Empty Report activée. | Nothing to export |
Si la requête du rapport échoue, Code vaut -1.
La réponse dépend de AsFile. Dans les deux cas, une requête refusée ou en échec reçoit l’enveloppe
JSON habituelle, avec Code à 0 ou -1 et la raison dans Info.
Lignes en JSON
Section intitulée « Lignes en JSON »Sans AsFile, ou avec AsFile=false, une réponse réussie n’est pas l’enveloppe : c’est la liste des
lignes elle-même, un objet par ligne, dont les champs portent les noms des colonnes du rapport.
Vérifiez si la réponse est une liste ou un objet avant de la lire.
[ { "JobRef": "EXL-2610-0042", "Customer": "Example Shipping Co", "Containers": 3, "LastEventDate": "2026-10-19T14:20:00" }, { "JobRef": "EXL-2610-0043", "Customer": "Example Logistics Ltd", "Containers": 1, "LastEventDate": null }]- Les colonnes et leurs noms sont ceux du rapport : renseignez-vous auprès de la personne qui a configuré le rapport.
- Les valeurs arrivent telles que la requête les renvoie, sans les formats de nombre et de date du fichier du rapport. Les dates n’ont pas de fuseau horaire : voir Dates et heures.
- Un rapport à plusieurs tableaux ne renvoie que son premier tableau. Utilisez
AsFile=truepour les obtenir tous. - Avec Generate Empty Report activé et aucune ligne, la liste est vide.
Fichier du rapport
Section intitulée « Fichier du rapport »Avec AsFile=true, une réponse réussie est le fichier du rapport, généré de la même façon que
l’aperçu du rapport. Un refus est en JSON : distinguez-les donc
par le Content-Type :
HTTP/1.1 200 OKContent-Type: application/octet-streamContent-Disposition: attachment; filename="Open jobs_2610201430.xlsx"Le nom du fichier est le titre du rapport, suivi de la date et de l’heure en UTC au format
yyMMddHHmm, puis de l’extension du Report Type du rapport :
| Report Type | Fichier |
|---|---|
| Comma Separated Values (.csv) | .csv |
| HTML File (.html), HTML In Email | .htm, le rapport sous forme de page HTML |
| Excel Spreadsheet (.xlsx) | .xlsx |
| Text File (.txt) | .txt, avec le même contenu que le fichier CSV |
| JSON File (.json) | .json : la liste des lignes ou, pour un rapport à plusieurs tableaux, un objet par tableau, avec son title et ses rows |
- Chaque appel qui va jusqu’à la génération du rapport est listé dans la file d’attente des rapports, avec API Call comme mode de livraison.
- L’appel revient une fois le rapport généré, ce qui prend autant de temps qu’un aperçu du rapport. Tenez-en compte dans le délai d’expiration de votre client.
- Un rapport ne peut pas être généré deux fois en même temps. Si vos appels peuvent se chevaucher
entre eux, avec un aperçu ou avec un envoi planifié du même rapport, faites une nouvelle tentative
après un court délai lorsque vous recevez
Report generation is already in progress.

