SaveSeqDataAsync
Accepte les mêmes éléments que SaveSeqData, mais répond immédiatement et les enregistre en arrière-plan. Une fois tous les éléments traités, TrakIT envoie les résultats à une URL que vous indiquez, si vous en indiquez une.
Comment se connecter et lire la réponse : Authentification, Réponses.
Lequel utiliser
Section intitulée « Lequel utiliser »| SaveSeqData | SaveSeqDataAsync | |
|---|---|---|
| TrakIT répond | Une fois chaque élément traité. | Immédiatement, avant de contrôler le moindre élément. |
| Résultats des éléments | Dans la réponse. | Envoyés à votre URL CallBack, ou pas du tout. |
| À utiliser pour | Les petits lots, et lorsque vous agissez selon le résultat de chaque élément. | Les lots importants qui pourraient dépasser votre délai d’expiration, et les mises à jour que vous n’avez pas besoin de suivre. |
Les deux acceptent 999 éléments au plus par requête, et contrôlent et enregistrent chaque élément de la même façon.
POST /api/v1/SaveSeqDataAsync?CallBack=https%3A%2F%2Fintegration.example.com%2Ftrakit%2Fresults%3Fbatch%3D20261020-01Token: your-tokenContent-Type: application/json[ { "WOID": 48211, "Code": "GATEIN", "Value": "2026-10-20T09:30:00", "Remarks": "Gate 3" }, { "WOID": 48212, "Code": "GATEIN", "Value": "2026-10-20T09:42:00", "Remarks": "Gate 1" }]| Paramètre | Obligatoire | Signification |
|---|---|---|
CallBack |
Oui, peut être vide | L’URL à laquelle TrakIT envoie les résultats, encodée pour l’URL. Elle doit commencer par https://. Laissez-la vide (CallBack=) si vous ne voulez pas les résultats : les éléments sont enregistrés quand même. |
Mettez CallBack dans la chaîne de requête même quand il est vide. Sans lui, la requête n’atteint
pas le point de terminaison et TrakIT répond avec le statut HTTP 404. Une valeur qui ne commence
pas par https:// est acceptée, mais TrakIT n’envoie alors aucun résultat.
Le corps est le même tableau JSON d’éléments que pour SaveSeqData : voir ses champs et ses valeurs.
Avant de répondre, TrakIT contrôle uniquement la requête dans son ensemble :
| Règle | Info en cas d’échec |
|---|---|
| Le corps est un tableau JSON d’éléments. | No data supplied or json is malformed |
| Il contient 999 éléments au plus. | Count of data supplied must be less than 1000 |
Chaque élément est ensuite contrôlé et enregistré en arrière-plan, comme décrit dans les règles de SaveSeqData. Leurs résultats figurent dans le rappel.
La réponse indique seulement que TrakIT a pris en charge les éléments. Code vaut 1, et Info
donne le nombre d’éléments et l’URL de rappel. RetInfo vaut null, et RowsAffected, Identity
et Scalar ne sont pas utilisés. Un Code à 1 ne signifie pas que les éléments ont été
enregistrés.
{ "Code": 1, "Info": "Processing 2 items. Will callback https://integration.example.com/trakit/results?batch=20261020-01", "RetInfo": null, "RowsAffected": 0, "Scalar": null, "Identity": 0}Une fois tous les éléments traités, TrakIT envoie une requête POST à l’URL CallBack. Son corps
est un objet JSON, identique à la réponse de SaveSeqData :
Code vaut 1 si au moins un élément a été enregistré, RowsAffected est le nombre d’éléments
enregistrés, et RetInfo contient un résultat pour chaque élément, dans l’ordre d’envoi.
{ "Code": 1, "Info": null, "RetInfo": [ { "WOID": 48211, "Code": "GATEIN", "Result": 1, "Info": "Success" }, { "WOID": 48212, "Code": "GATEIN", "Result": 0, "Info": "Out of sequence" } ], "RowsAffected": 1, "Scalar": null, "Identity": 0}- La requête n’a pas d’en-tête
Content-Type: lisez son corps comme du JSON, quel que soit l’en-tête. - Elle ne contient ni jeton ni signature. Utilisez une URL difficile à deviner, et traitez le corps comme un avis : vérifiez les valeurs avec GetSeqData si vous devez en être sûr.
- Le corps n’indique pas à quelle requête il répond. Pour l’associer à sa requête, mettez votre
propre référence de lot dans l’URL de rappel, comme dans l’exemple ci-dessus, ou associez les
résultats par
WOIDetCode. - TrakIT l’envoie une seule fois. Il ne fait pas de nouvelle tentative si votre serveur est injoignable ou répond par une erreur, et il ne lit pas votre réponse.
Si aucun rappel n’arrive, vérifiez les valeurs avec GetSeqData avant de
renvoyer les éléments. Les éléments déjà enregistrés reviennent avec Unchanged : renvoyer un lot
est donc sans risque.
- Un enregistrement a les mêmes effets qu’avec SaveSeqData : champs calculés, statut de l’ordre de travail, actions et journal d’audit. Voir les notes de SaveSeqData.
- Chaque requête est traitée séparément, en arrière-plan : deux requêtes peuvent donc être traitées en même temps. Si l’ordre des modifications compte, par exemple sur les mêmes ordres de travail, attendez le premier rappel avant d’envoyer le lot suivant.

