Internationalisation
L'internationalisation n'est activée que sur certains clientToken, elle ne concerne également que quelques entités, et seulement certaines propriétés de ces entités.
Liste (non exhaustive) des entités/propriétés traduites
| Entité | Propriété |
|---|---|
Product | name |
Product | description |
Offer | name |
Offer | cancellationTerms |
Offer | legalNotices |
CountermarkCampaign | name |
GoodwillGestureAutomatic | name |
GoodwillGestureAutomatic | publicDescription |
SpecialOffer | publicName |
Récupérer les traductions des entités
INFO
La langue utilisée par défaut pour les contenus se base sur la première valeur renseignée parmis - dans l'ordre - langue du contact → langue du club → langue principale du clientToken → langue secondaire du clientToken.
Principes généraux
- Les entités traduisibles (listées ci-haut) comportent la propriété
translationObject. - Cette propriété peut-être
nullsi aucune traduction n'a été enregistrée. - Si renseignée, cette propriété contient l'objet de traduction, ce dernier représentant l'ensemble des propriétés traduisibles pour chaque langue avec la traduction associée.
translationOject
Cette propriété translationObject est ajoutée uniquement :
- Sur le
GET item(ex.GET /:clientToken/products/:id) - Sur les
GET collectionuniquement si le paramètre?withTranslations=1est présent
Exemple
Exemple d'une requête récupérant les produits du catalogue avec leurs traductions.
-------------------------------------------------[--------v--------]
curl --location 'https://.../clientToken/products?withTranslations=1&itemsPerPage=30&page=1' \
--header 'x-gravitee-api-key: xxxxx-yyyy' \
--header 'authorization: Bearer eyJ0eXAiOGrT8drJ9z47t-wX3Wmb8Fy60' \
--header 'x-user-club-id: /clientToken/clubs/1019' \
--header 'x-user-network-node-id: /clientToken/network_nodes/932'{
"@context": "/clientToken/contexts/Product",
"@id": "/clientToken/products/417401",
"@type": "http://schema.org/Product",
"description": "Ma description française de mon produit", // La description dans la langue par défaut
"name": "Mon super produit français", // Le nom dans la langue par défaut
"code": "SUBSCRIPTION_417401",
"type": "subscription",
"minDisplayedPrice": null,
"offers": [
{
"@id": "/clientToken/offers/190771",
"@type": "Offer",
"contractModel": null,
"name": "tarif FR",
"description": null,
"level": 0,
"context": [],
"configuration": {
"linkedBundle": false,
"bundlePeriodicity": "monthly"
},
"priceTI": 0,
"priceTE": 0,
"registrationFeeTI": 0,
// ...
"translationObject": {
"@context": "/clientToken/contexts/TranslationObject",
"@id": "/clientToken/translation_objects/59",
"@type": "TranslationObject",
"resource": "offers",
"resourceId": "190771",
"content": {
"es": {
"name": "Mi tarifa en español"
},
"it": {
"name": "La mia tariffa in italiano"
}
}
},
// ...
}
],
"contractModel": null,
"createdAt": "2026-03-11T10:17:46",
// ...
"translationObject": { // L'objet de traduction
"@context": "/clientToken/contexts/TranslationObject",
"@id": "/clientToken/translation_objects/58",
"@type": "TranslationObject",
"resource": "products",
"resourceId": "417401",
"content": { // Pour chaque langue
"es": { // Le code ISO de la langue
"name": "El nombre de mi producto en español", // Le nom dans cette langue
"description": "La descripción de mi producto en español" // La description dans cette langue
},
"it": {
"name": "Il nome del mio prodotto in italiano",
"description": "La descrizione del mio prodotto in italiano"
}
}
}
}Cas particuliers découlant des entités traduites
Les produits et les offres sont traduisibles, mais dès lors qu'ils sont vendus (ajoutés au panier), les nom des offres présentés dans les entités Article (le panier, la vente) sont ceux traduits dans la langue du contact (si fournie et la traduction correspondante renseignée).
Ceci vaut également pour le reste de la vie de l'article (la facture, les avoirs).
Les contrats, les factures
Les contrats et les factures ont des modèles. Ces modèles peuvent avoir leur version traduite. Dès lors que le contrat où la facture est généré, on vient donc récupérer le modèle associé, dans la langue du contact pour qui le contrat/la facture est édité.
Ceci vaut même quand la vente n'est pas encore consolidée (pré-visualisation du contrat lors du tunnel de vente).
Comme vu ci-dessus, les articles, présentés notamment dans les factures, sont eux aussi automatiquement traduit dans la langue du contact.