Aller au contenu

SaveDataField

Définit les valeurs et les remarques de champs de données : les champs que votre société ajoute à des fiches comme les factures fournisseurs, les factures et les actifs, et que les utilisateurs renseignent dans l’onglet Data de la fiche. Une requête définit un ou plusieurs champs d’une fiche. Pour les événements et les champs de données des ordres de travail, utilisez plutôt SaveSeqData.

Comment se connecter et lire la réponse : Authentification, Réponses.

POST /api/v1/SaveDataField
Token: your-token
Content-Type: application/json
{
"Ref": "bill",
"RefID": 109827,
"Fields": [
{ "Code": "COSTCTR", "Value": "CC-410", "Remarks": "" },
{ "Code": "PAYDUE", "Value": "2026-10-30T00:00:00" }
]
}
Champ Obligatoire Signification
Ref Oui Le type de fiche, d’après le tableau ci-dessous. Insensible à la casse.
RefID Oui L’identifiant de la fiche, un nombre entier.
Fields Oui Les champs à définir : un tableau d’au moins une entrée.

Chaque entrée de Fields :

Champ Obligatoire Signification
Code Oui Le code du champ de données, tel qu’il figure sur la page Data Field Definitions. Insensible à la casse.
Value Oui La nouvelle valeur, sous forme de texte : voir Valeurs. Elle ne peut pas être vide ni null : ce point de terminaison n’efface pas de valeur.
Remarks Non ; oui pour un actif Les remarques. Une chaîne vide les efface. Si vous l’omettez, les remarques restent telles quelles, sauf sur un actif, pour lequel vous devez toujours envoyer Remarks.

TrakIT lit ces champs par leur nom, les noms sont donc sensibles à la casse : Ref, RefID, Fields, Code, Value et Remarks, exactement comme écrits ici.

Ref La fiche, et quand ses champs peuvent être définis Ses champs de données
asset Un actif, tant qu’il est actif. Assets, affichés dans l’onglet Asset Data
bill Une facture fournisseur qui n’est pas finalisée. Bills, affichés dans l’onglet Data
invoice Une facture qui n’est pas approuvée. Invoices, affichés dans l’onglet Data
receipt Un encaissement qui n’est pas finalisé. Receipts, affichés dans l’onglet Data
payment Un paiement qui n’est pas finalisé. Payments, affichés dans l’onglet Data
quotation Un devis à l’état Draft ou Under Revision. Quotations, affichés dans l’onglet Data
location Un lieu. Locations, affichés dans l’onglet Data
yardmove Un mouvement de parc qui n’est pas encore effectué. Yard Moves : uniquement les champs configurés pour [ All Move Types ], affichés dans l’onglet Data

Pour une fiche d’une société, seuls les champs de cette société peuvent être définis. Utilisez receipt pour un encaissement et payment pour un paiement : chacun a ses propres champs.

Type de données Envoyez
Nombre Un nombre, avec . pour les décimales. TrakIT l’arrondit à la Decimal Precision du champ.
Date La date et l’heure en UTC, au format yyyy-MM-ddTHH:mm:ss, sans suffixe de fuseau horaire. TrakIT conserve les minutes. Voir Dates.
Texte N’importe quel texte ou, pour un champ avec une liste d’éléments, un élément de la liste. Pour plusieurs éléments, séparez-les par des sauts de ligne (\n).
Lien hypertexte Une adresse web. TrakIT ajoute http:// lorsqu’elle n’a pas de schéma.
Téléphone Jusqu’à 15 caractères : des chiffres, un + initial facultatif, et un indicatif régional entre parenthèses si nécessaire.
Entité Le nom, le code ou le numéro d’immatriculation d’une entité de l’Entity Type du champ. Si aucune entité ne correspond exactement, TrakIT prend la première entité dont le nom ou le code le contient : envoyez donc une valeur qui correspond exactement à une entité. TrakIT enregistre le texte que vous envoyez : envoyez le nom de l’entité tel que TrakIT l’affiche.

Les champs calculés ne peuvent pas être définis : TrakIT les détermine.

TrakIT contrôle d’abord la requête et la fiche :

Règle Info en cas d’échec
Le corps est un objet JSON. Payload is missing
Ref est indiqué. Parameter Ref is missing
RefID est indiqué, sous forme de nombre. Parameter RefID is missing, Parameter RefID must be a number
Fields est indiqué, avec au moins une entrée. Parameter Fields is missing, No field data found
Un actif existe et est actif. No such asset, Asset not active
Une facture fournisseur existe et n’est pas finalisée. No such bill, Bill is finalised
Un encaissement ou un paiement existe et n’est pas finalisé. No such receipt, No such payment, Transaction is finalised
Un lieu existe. No such location
Une facture existe et n’est pas approuvée. No such invoice, Invoice is approved
Un devis existe et est à l’état Draft ou Under Revision. No such quotation, Quotation data cannot be changed
Un mouvement de parc existe et n’est pas effectué. No such move, Move is already executed

Avec tout autre Ref, chaque champ revient avec Code not found.

TrakIT contrôle et enregistre ensuite chaque champ séparément, dans l’ordre d’envoi. Un champ en échec n’arrête pas les autres. Son Result dans la réponse est l’un de ceux-ci :

Règle Result du champ en cas d’échec
L’entrée a un Code et une Value. Code is missing (le Code du résultat est alors -), Value Field is missing
La fiche a un champ de données avec ce code. Code not found
Le champ est actif. Field is not Active ; pour un actif, Code/Field is not Active
La valeur n’est pas null et, pour un actif, n’est pas vide. Invalid Value
Le champ n’est pas calculé. Field is a computed field ; pour un actif, Update to Computed Fields is not allowed
Une date est une date. Invalid Date ; pour un actif, Invalid Date/Time
Un champ avec une liste d’éléments reçoit des éléments de la liste, sans dépasser le nombre que le champ autorise. Value does not belong to the list of items, Value not from list, Value '...' not from list, Max ... items only
Un nombre est numérique, de 18 caractères au plus. Value must be numeric, Value too big ; pour un actif, Invalid value, Value too big!
Un montant est numérique. Value must be numeric.
Une entité est trouvée. Entity ID missing
Un lien hypertexte est une adresse web valide. Data specified is not a valid URL
Un numéro de téléphone a 15 caractères au plus, de la forme décrite plus haut. Phone number is too long, Not a phone number
Tout autre texte ne commence pas par =, + ou @, et ne contient pas de < suivi d’une lettre. Value has possible html tags or disallowed text
La valeur correspond au masque du champ, si le support TrakIT en a défini un. Validation: ..., avec la description du masque
La valeur passe le contrôle du champ, si le support TrakIT en a défini un. Pas pour les actifs. Le message propre au contrôle, ou SQL Validation Error. Please contact Support.
La valeur d’un champ Unique n’est pas utilisée sur une autre fiche. Pas pour les actifs. Value already exists
Les remarques ont 5 000 caractères au plus (2 000 pour un actif), ne commencent pas par =, + ou @ et ne contiennent pas de < suivi d’une lettre. Remarks cannot exceed 5000 characters., Remarks has possible html tags Or disallowed text ; pour un actif, Remarks cannot exceed 2000 characters., Remarks has possible html tags or disallowed text
Les validations personnalisées que le support TrakIT peut définir pour Data Fields > Update réussissent. Pas pour les actifs. Voir Validations et actions. Le message propre à la validation
La valeur ou les remarques diffèrent de ce qui est enregistré. No Change

Lorsque la fiche passe ses contrôles, Code vaut 1, quel que soit le sort de chaque champ. RetInfo contient un résultat pour chaque entrée de Fields, dans l’ordre d’envoi. Pour les fiches autres que les actifs, RowsAffected est le nombre de champs enregistrés ; pour un actif, il vaut toujours 0 : comptez plutôt les résultats Success. Identity et Scalar ne sont pas utilisés.

{
"Code": 1,
"Info": "",
"RetInfo": [
{ "Code": "COSTCTR", "Result": "Success" },
{ "Code": "PAYDUE", "Result": "No Change" }
],
"RowsAffected": 1,
"Scalar": null,
"Identity": 0
}
Champ Signification
Code Le code du champ.
Result Success lorsque le champ a été enregistré, No Change lorsque la valeur et les remarques étaient déjà enregistrées, ou la raison pour laquelle il n’a pas été enregistré, d’après les règles.
  • Une fois les champs enregistrés, TrakIT recalcule les champs de données calculés de la fiche.
  • Pour les fiches autres que les actifs, les actions personnalisées que le support TrakIT peut définir pour Data Fields > Update s’exécutent après chaque champ enregistré.
  • Les valeurs enregistrées ici ne sont pas copiées dans les ordres de travail, même pour les champs d’actif et de mouvement de parc configurés pour les copier.
  • Envoyer de nouveau les mêmes champs donne No Change et ne modifie rien : une nouvelle tentative est donc sans risque.