Aller au contenu

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.

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-01
Token: your-token
Content-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 WOID et Code.
  • 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.