Conformité, ou Conformité + Identité
Les deux offres d'une marque : ce que chacune permet, la réponse exacte de l'API quand une opération n'est pas comprise, et les règles d'un changement d'offre.
Sur cette page
En quittant cette page, vous saurez sur quelle offre est une marque, ce que cette offre permet, ce que l'API répond quand une opération n'y est pas comprise, et ce qui se passe quand une marque change d'offre.
#Deux offres, une par marque
Chaque marque est sur l'une de ces deux offres.
| Conformité | Conformité + Identité | |
|---|---|---|
| Valeur dans l'API | compliance | compliance_identity |
| Passeport produit, par modèle ou par lot | oui | oui |
| QR code du modèle ou du lot, à imprimer | oui | non, un code par pièce |
| Une pièce, avec son propre jeton et son propre QR code | non | oui |
| Revendication, propriété, transfert, revente | non | oui |
| Retour, rachat, garantie, réparation, vol | non | oui |
| Sceau NFC | non | oui |
L'offre Conformité couvre le passeport produit que la réglementation demande. Le passeport est porté par le modèle ou par le lot, et la marque imprime le QR code de ce modèle ou de ce lot sur ses produits. Chaque produit d'un même modèle porte le même code.
L'offre Conformité + Identité ajoute l'identité de chaque pièce : un jeton par pièce, un QR code par pièce, et tout ce qui en découle pour la personne qui achète le produit.
Une marque créée sans autre précision est sur l'offre Conformité + Identité.
#Lire l'offre d'une marque
La marque lit son offre dans la réponse de GET /plan/status, au champ
offer. Le champ includes_identity vaut true sur l'offre Conformité +
Identité et false sur l'offre Conformité.
Sur l'offre Conformité, la même réponse ne porte aucun quota de pièces, de
certificats ni de puces (quotas.products, quotas.certificates,
quotas.tags absents), aucun prix de pièce (pricing.included_pieces_per_year
et les champs pricing.per_product_* valent null), aucun prix par passeport
(pricing.per_dpp_addon_cents vaut null), pricing.auth_methods_allowed
vaut "qr" et features.nfc_encoding vaut false : elle décrit ce que la
marque peut faire, offre comprise.
{
"offer": "compliance",
"includes_identity": false
}#Qui pose l'offre
- L'équipe SealTrust (superadmin) pose l'offre de n'importe quelle marque.
- Un revendeur pose l'offre des marques clientes rattachées à son contrat, depuis l'onglet Vos marques clientes, où elle s'appelle le périmètre. Il la choisit aussi au moment d'ouvrir une marque cliente. Sa plateforme peut aussi la poser par l'API, avec une clef revendeur : voir Remplir le catalogue par l'API.
- La marque elle-même lit son offre et ne la change pas : l'offre est ce qu'elle a acheté.
Chaque changement est inscrit au journal d'audit, avec l'auteur, l'offre de départ, l'offre d'arrivée et le nombre de pièces gardées.
#Ce que l'API répond quand une opération n'est pas comprise
Sur l'offre Conformité, toute opération sur une pièce est refusée avant que rien ne soit écrit, mis en file ou envoyé à la blockchain. La réponse est toujours la même.
{
"detail": {
"code": "OFFER_EXCLUDES_IDENTITY",
"offer": "compliance",
"feature": "transfer",
"message": "This brand is on the compliance offer, which does not include transferring a piece. It covers the product passport by model or by lot, and its QR code. The offer 'compliance_identity' includes the identity of every piece."
}
}Le code HTTP est 403. Le champ feature dit ce qui a été refusé :
feature | Ce qui a été refusé |
|---|---|
mint | créer des pièces, à l'unité ou en lot, par la console, par l'API ou par une transaction multisignature, et imprimer l'archive des QR codes des pièces d'un lot |
encoding | encoder des puces NFC |
nfc | lire une puce NFC |
claim | revendiquer une pièce, ou émettre son code d'achat |
transfer | transférer une pièce, la retourner ou la racheter |
lifecycle | retour, rachat, garantie, réparation, vol, gel ou destruction d'un jeton |
certificate | le certificat d'une puce |
sellout | déclarer la vente d'une pièce |
Ne rejouez pas un appel refusé avec ce code : il sera refusé de la même façon tant que la marque reste sur l'offre Conformité.
Le QR code d'une pièce déjà créée, gardée d'une période Conformité + Identité,
reste servi par GET /qr/product/{serial} et /download : il mène à la page
de la pièce, qui reste lisible.
#Le QR code d'un modèle ou d'un lot
Une marque en offre Conformité imprime le QR code de son modèle ou de son lot.
GET /qr/01/{gtin}dessine le code du modèle, qui encode/01/{gtin}.GET /qr/01/{gtin}/10/{lot}dessine le code du lot, qui encode/01/{gtin}/10/{lot}.- Les mêmes adresses suivies de
/downloadrenvoient le même PNG en téléchargement. Le fichier porte le GTIN et, pour un lot, le numéro du lot : deux lots d'un même modèle ne se téléchargent jamais sous le même nom.
Le code n'est dessiné que si le passeport du modèle ou du lot est publié. Il porte le domaine de la marque une fois ce domaine définitif, notre adresse avant.
Dans tous les autres cas, ces quatre adresses répondent 410 avec le code
ITEM_QR_ONLY : une marque en offre Conformité + Identité imprime le code de
chaque pièce, et un passeport non publié n'a pas encore de code. La réponse est
la même pour un GTIN qui ne désigne rien.
Les codes déjà imprimés sous /01/{gtin} et /01/{gtin}/10/{lot} mènent
toujours à leur passeport, quelle que soit l'offre.
#Dans la console
La console lit l'offre de la marque affichée. Sur l'offre Conformité :
- les entrées du menu qui ne servent qu'à l'identité des pièces restent visibles, estompées, marquées « Identité » et suivies d'un cadenas : produits en attente de frappe, créer un produit, certificats, règles de revendication, retours, rachat, et la rubrique « Outils » du NFC. Le clic ouvre un courriel pour en parler avec nous au lieu de l'écran ;
- la palette de commandes ne propose pas ces écrans ;
- aucun bouton de frappe ni d'encodage n'apparaît, quel que soit le compte ;
- la fiche d'un modèle et la fiche d'un lot affichent le QR code à imprimer, une fois le passeport publié ;
- le tableau de bord, la liste de démarrage, la barre du haut et le choix de parcours ne proposent rien qui mène à une pièce : ni frappe, ni NFC, ni tunnel de revendication, ni compteur de pièces ;
- la page d'un lot ne propose ni de rattacher ni d'ajouter des exemplaires, la liste des produits vide ne propose pas d'en frapper, et la visite guidée saute l'étape des certificats ;
- un écran réservé à l'identité, ouvert par un lien enregistré ou une adresse tapée, affiche « Compris dans l'offre Conformité + Identité » au lieu de son contenu ;
- si l'API refuse quand même une opération, le message s'affiche dans la langue de la console.
Tant que l'offre n'est pas connue, par exemple quand le serveur ne répond pas, la console n'en retire rien : c'est le serveur qui applique l'offre.
#Sur la page publique d'une pièce
Une marque passée sur l'offre Conformité garde ses pièces. Leur page publique
affiche toujours leur passeport et leur historique, mais ne propose plus de les
revendiquer ni de les transférer. GET /timeline/{identifier} le dit dans le
champ identity_included, à false.
Dans l'espace de la personne qui détient une telle pièce, la fiche du produit ne
propose ni le transfert ni la demande de réparation. GET /my-products porte le
même champ identity_included pour chaque pièce. Si l'appel est fait quand
même, le site affiche une phrase dans la langue de la page, jamais le message
technique de l'API.
Sur le passeport d'une marque en offre Conformité, la section « Niveaux d'accès »
ne parle ni de propriétaire ni de puce NFC : le niveau public se lit par le QR
code du produit. GET /brands/{brand_code}/branding porte le champ
includes_identity, à false sur cette offre.
#Ce qui est compté
Une marque sur l'offre Conformité est comptée au nombre de ses passeports : les produits en ligne dans l'année, les lots créés, et les passeports à la pièce seulement quand un règlement les impose. Ce passeport à la pièce, sans jeton, n'est pas encore proposé : aucune pièce ne peut être créée sur cette offre, et ce compteur reste à zéro. Les scans ne sont jamais comptés pour facturer. Un revendeur retrouve ces compteurs chaque mois dans le relevé d'usage de ses marques clientes.
Depuis septembre 2026, une marque sur l'offre Conformité + Identité est comptée de la même façon, et ses pièces s'y ajoutent : l'offre Conformité + Identité coûte le prix Conformité de son catalogue, plus ses pièces.
#Les scans de vos codes
Chaque scan du QR code d'un modèle ou d'un lot est compté, par code et par mois. Il n'est jamais facturé : il se lit à côté du seuil d'usage raisonnable prévu au contrat, et au-delà de ce seuil nous en parlons avec vous. Seules les visites d'une personne qui arrive par le code sont comptées : ni les robots, ni les aperçus de lien.
- Le relevé d'usage d'un revendeur montre, pour chaque marque cliente en offre Conformité, les scans du mois, ceux de l'année et le seuil de l'année.
- La marque les lit pour un mois avec
GET /admin/passport-scans?brand_id={id}&month=AAAA-MM(session de la console). La réponse donne le total et une ligne par code :level(modeloulot),gtin,lotetscans. - Le mois en cours est provisoire : les derniers scans le rejoignent en quelques minutes.
#Changer d'offre
Un changement d'offre ne supprime jamais rien, dans un sens comme dans l'autre. L'offre décide de ce qui peut se faire à partir de maintenant, pas de ce qui existe.
De Conformité vers Conformité + Identité. Toujours possible. Les passeports de modèle et de lot restent ce qu'ils sont, et leurs codes imprimés continuent de fonctionner. La marque peut créer des pièces à partir de maintenant.
De Conformité + Identité vers Conformité. Possible, et chaque pièce déjà créée est gardée : son jeton, son propriétaire, son historique et sa page. À partir de maintenant, aucune pièce n'est créée, et aucune opération n'est faite sur les pièces existantes : ni revendication, ni transfert, ni lecture NFC, ni cycle de vie. Leur page reste lisible.
Une opération commencée avant le changement ne se termine pas après. Un
transfert qui attend son code, un retour pas encore signé, une offre de rachat
pas encore acceptée, une vente déclarée sur une pièce déjà activée, la
modification d'une garantie existante et un nouveau code d'achat pour une pièce
qui en avait déjà un reçoivent le même refus 403. L'ancien code reste tel
qu'il était, avec la date où il a servi.
Comme ce changement arrête quelque chose dont les clients de la marque se
servent peut-être, une marque qui a des pièces doit le confirmer. Une marque
qui a des lots en cours de création (en attente, préparés, en cours ou en
attente d'une nouvelle tentative) aussi : une fois la marque en offre
Conformité, un tel lot ne crée aucune pièce, et ses lignes finissent refusées
avec OFFER_EXCLUDES_IDENTITY. Un lot déjà en cours s'arrête à la pièce ou au
groupe suivant : l'offre est relue avant chaque envoi, et seul l'envoi déjà
parti au moment du changement va à son terme. Sans confirmation, la réponse est 409, avec
le nombre de pièces et de lots concernés :
{
"detail": {
"code": "OFFER_CHANGE_NEEDS_CONFIRMATION",
"pieces": 3,
"batches_in_flight": 0,
"message": "This brand has pieces, or mint batches not finished. On the compliance offer every piece is kept, but no claim, transfer, NFC reading or lifecycle operation can be done on them, and a batch not finished creates no piece. Send the same request with confirm_pieces_kept=true to confirm."
}
}La console affiche alors le nombre de pièces gardées, les lots en cours, et un bouton de confirmation, sous le choix de l'offre.
Revenir en arrière. Revenir à l'offre Conformité + Identité rétablit tout, puisque rien n'a été supprimé.
Poser l'offre que la marque a déjà ne change rien et n'écrit rien.
Chaque changement est gardé avec sa date. Le relevé mensuel d'un revendeur compte chaque mois selon l'offre que la marque portait le premier jour du mois : un changement ne modifie jamais un mois déjà passé. Les pièces créées après un passage au pack en cours de mois sont chiffrées dans ce même mois, au prix du pack.
#Ce qu'il faut retenir
- Chaque marque est sur
complianceou surcompliance_identity, et la marque la lit dansGET /plan/status. - Sur
compliance, toute opération sur une pièce répond403OFFER_EXCLUDES_IDENTITY, et rien n'est écrit. - Sur
compliance, la marque imprime le QR code de son modèle ou de son lot. - Un changement d'offre ne supprime rien. Vers
compliance, une marque qui a des pièces, ou des lots en cours de création, confirme le changement.
Cette page vous a-t-elle été utile ?
Votre réponse ouvre un courriel pré-rempli dans votre messagerie, à destination de contact@sealtrust.io. Vous le relisez avant de l'envoyer.