Aller au contenu
Sursa Developers

Dates et formats

JSON et texte

  • Les corps des requêtes et des réponses sont en JSON encodé en UTF-8, avec Content-Type: application/json. Les téléversements de fichiers utilisent multipart/form-data.
  • Les noms de champs et les valeurs d’énumération sont en snake_case : next_retry_at, index_failed.
  • Les messages d’erreur et les textes de l’API sont en anglais. Les textes que vous écrivez, comme les titres des fiches, sont renvoyés tels que vous les avez écrits, dans n’importe quelle langue.

Dates et heures

Chaque date et heure est un horodatage RFC 3339 en UTC :

{"created_at": "2026-10-24T10:00:00Z"}
  • Les champs les plus récents utilisent la forme courte avec Z, comme ci-dessus.
  • Certains champs plus anciens utilisent la forme 2026-10-24T10:00:00.123456+00:00, avec jusqu’à six chiffres de fractions de seconde. Il s’agit du même instant en UTC. Analysez les deux formes avec un analyseur RFC 3339 standard ; ne comparez pas les horodatages comme des chaînes.
  • Tout champ dont le nom se termine par _at est un horodatage.

Les dates et heures que vous envoyez doivent inclure un décalage horaire, soit Z, soit un décalage numérique comme +02:00. Une heure sans décalage est ambiguë et renvoie 422 avec le code validation.failed. Sursa convertit en UTC chaque date et heure qu’il reçoit.

const since = new Date(Date.now() - 24 * 3600 * 1000).toISOString(); // "2026-10-23T10:00:00.000Z"

Dans une chaîne de requête, un + doit s’écrire %2B, sinon il est lu comme une espace. Encodez les valeurs de date pour l’URL, ou utilisez Z.

Dates, durées et nombres

TypeFormeExemple
Date sans heureYYYY-MM-DD, dans un champ qui se termine par _date"due_date": "2026-11-01"
DuréeUn entier, l’unité figurant dans le nom du champ"interval_days": 90, "timeout_seconds": 30
NombreUn entier, dans un champ qui se termine par _count"part_count": 12
Vrai ou fauxUn booléen, nommé par un adjectif sans is_"active": true, "sensitive": false

Montants

Dans les réponses financières, les montants sont des chaînes décimales, comme "1250.00", jamais des nombres à virgule flottante : aucune précision n’est ainsi perdue. La devise est un champ distinct avec un code ISO 4217, comme "EUR". Analysez les montants avec un type décimal de votre langage.

Identifiants

Les identifiants sont des chaînes ou des entiers selon l’objet. Voir Identifiants des objets.

Énumérations

Les champs qui ont un ensemble fixe de valeurs, comme un statut, sont des chaînes. Toute énumération d’une réponse peut recevoir de nouvelles valeurs dans une version ultérieure : traitez une valeur inconnue comme « autre ». Voir Versions et compatibilité.

Champs null et absents

  • null signifie « aucune valeur » : une fiche sans responsable a "owner_id": null.
  • Un champ peut être absent d’une réponse quand il ne s’applique pas à cet objet ou à cette requête. La référence de l’API indique quels champs sont toujours présents.
  • Dans un PATCH, un champ que vous omettez garde sa valeur. Envoyez null pour vider un champ là où la référence indique que null est autorisé.