Méthode GET/products/{uid}/public

Lire les informations publiques d'un produit à partir de son identifiant : nom, marque, image, jeton, transaction, état et déclaration de vol. Aucune clef d'API.

Sur cette page

Vous lisez les informations publiques d'un produit à partir de son identifiant. En quittant cette page, vous saurez récupérer son nom, le nom et le logo de sa marque, une image, son numéro de jeton, sa transaction d'inscription, son état, et savoir s'il est déclaré volé.

Adresse complète :

HTTP
GET https://api.sealtrust.io/v1/products/{uid}/public

Le même point d'entrée répond aussi sans le préfixe /v1, à https://api.sealtrust.io/products/{uid}/public. Les deux adresses appellent le même code. Utilisez la forme /v1 pour une nouvelle intégration.

#Autorisation

Aucune, point d'entrée public. Ce point d'entrée ne lit aucune clef d'API, aucun jeton et aucun cookie. Le serveur ne regarde jamais l'en-tête Authorization que vous envoyez ici, et il vous renvoie la même réponse avec ou sans lui.

#Plafond d'appels

Aucun plafond propre à ce point d'entrée. Ce chemin relève du compteur général de l'API, compté par adresse IP appelante sur une fenêtre de 60 secondes. Ce compteur est partagé avec tous les autres chemins de l'API qui n'ont pas de plafond qui leur soit propre.

Prévoyez le code 429 dans votre client et respectez l'en-tête Retry-After qu'il porte. La valeur de ce compteur peut changer sans préavis, donc n'inscrivez aucun nombre en dur dans votre code.

La réponse porte normalement trois en-têtes qui décrivent ce compteur. Ne construisez rien qui exige leur présence : ils peuvent manquer.

En-têteContenu
X-RateLimit-Limitle plafond appliqué sur la fenêtre
X-RateLimit-Remainingce qu'il vous reste dans la fenêtre en cours
X-RateLimit-Resetl'horodatage de fin de la fenêtre, en secondes

Ce compteur est indépendant du quota quotidien d'une clef d'API. Cet appel n'entame ni ce quota quotidien, ni le quota mensuel de produits de votre offre.

#Paramètres de chemin et de requête

NomTypeObligatoireDescription
uidstringouiL'identifiant public du produit : 0x suivi de 64 caractères hexadécimaux. C'est l'empreinte de la puce du produit.

Vous pouvez envoyer cet identifiant avec ou sans le préfixe 0x, en majuscules ou en minuscules. Le serveur retire les espaces de début et de fin avant de chercher, met la valeur en minuscules et ajoute le préfixe 0x s'il manque. Ces écritures désignent donc toutes le même produit.

Ce point d'entrée n'a aucun paramètre de requête.

#En-têtes

Aucun en-tête n'est obligatoire.

#Corps de la requête

Aucun. Cette requête n'a pas de corps.

#Requête d'exemple

Lecture du produit dont l'identifiant est 0x1111111111111111111111111111111111111111111111111111111111111111.

curl -i "https://api.sealtrust.io/v1/products/0x1111111111111111111111111111111111111111111111111111111111111111/public"

#Réponse d'exemple

Code HTTP 200OK

Code HTTP 200.

JSON
{
  "product_name": "Sac Modèle Exemple",
  "brand_name": "Exemple SAS",
  "brand_logo_url": "https://exemple-sas.test/logo.png",
  "image_url": "https://exemple-sas.test/media/sac-modele-exemple.jpg",
  "category_name": "Maroquinerie",
  "token_id": "11111111111111111111111111111111111111111111111111111111111111111111111111111",
  "tx_hash": "0x2222222222222222222222222222222222222222222222222222222222222222",
  "status": "written",
  "declared_stolen": false,
  "is_verified": true,
  "verified_at": "2026-03-04T10:22:31.481000+00:00",
  "contract_address": "0x3333333333333333333333333333333333333333",
  "chain": null
}

La réponse compte treize champs et rien d'autre.

ChampTypeDescription
product_namestring | nullLe nom du produit. null quand aucun nom n'a été enregistré.
brand_namestring | nullLe nom de la marque propriétaire du produit. null quand le produit n'est rattaché à aucune marque.
brand_logo_urlstring | nullL'adresse du logo de la marque. null quand la marque n'en a pas déposé.
image_urlstring | nullL'adresse publique de l'image de couverture. Elle est cherchée dans cet ordre : une image attachée directement à l'exemplaire, puis l'image principale de son modèle, puis les médias du modèle. null seulement quand aucune de ces trois pistes n'aboutit.
category_namestring | nullLe nom de la catégorie du produit. null quand aucune catégorie n'est rattachée.
token_idstring | nullLe numéro du jeton sur la chaîne, écrit en base dix, dans une chaîne de caractères. Ce nombre est trop grand pour un entier ordinaire, donc lisez-le comme du texte et jamais comme un nombre de votre langage. null tant que l'inscription sur la chaîne n'est pas confirmée.
tx_hashstring | nullL'empreinte de la transaction qui a inscrit le produit sur la chaîne. null tant qu'aucune transaction n'a été enregistrée.
statusstringL'état technique du produit. Voir ci-dessous.
declared_stolenbooleantrue quand une déclaration de vol est ouverte sur ce produit.
is_verifiedbooleantrue quand status vaut mined ou written. false dans tous les autres cas.
verified_atstring | nullDate et heure de création de l'enregistrement du produit, au format ISO 8601. Voir l'avertissement ci-dessous.
contract_addressstringL'adresse du contrat qui porte le jeton.
chainnullCe champ vaut toujours null aujourd'hui. Voir ci-dessous.

#Lire l'état d'un produit

status porte une valeur technique. Cette page en documente deux, parce que le reste de la réponse en dépend : mined et written sont les deux seules valeurs pour lesquelles is_verified vaut true.

Lisez is_verified et declared_stolen plutôt que d'interpréter status vous-même. declared_stolen existe justement pour cela : status porte la valeur stolen au moment d'une déclaration fraîche, puis reprend la valeur written dès que le dossier de vol est clos, alors que declared_stolen dit dans un champ à lui si une déclaration est ouverte.

#Erreurs

Le corps d'une réponse d'erreur porte un champ detail.

CodeConditionQue faire
404Aucun produit ne porte cet identifiant. detail vaut Product not found.Le serveur cherche d'abord votre identifiant nettoyé, passé en minuscules et préfixé de 0x, puis votre chaîne brute telle que vous l'avez envoyée. Envoyez la forme canonique : 0x suivi de 64 caractères hexadécimaux en minuscules. Vérifiez aussi que vous envoyez bien une empreinte de puce et non un numéro de série.
429Trop d'appels depuis votre adresse. La réponse porte l'en-tête Retry-After, en secondes.Attendez le nombre de secondes indiqué par Retry-After, puis réessayez. Répartissez vos appels au lieu de les envoyer en rafale.
500Une erreur inattendue s'est produite pendant le traitement de votre appel. detail vaut Internal Server Error. La réponse porte un en-tête X-Request-Id.Réessayez. Si l'erreur persiste, contactez le support en indiquant cet identifiant de requête et l'heure de l'appel.

Ce point d'entrée est public : il ne renvoie ni 401, ni 403.

#Voir aussi

Votre réponse ouvre un courriel pré-rempli dans votre messagerie, à destination de contact@sealtrust.io. Vous le relisez avant de l'envoyer.

Proposer une correctionSignaler un problème