{"templateId":"openapi_docs","sharedDataIds":{"openAPIDocsStore":"oas-@l10n/fr/api/liveops/index.yaml","sidebar":"sidebar-@l10n/fr/liveops-en.sidebars.yaml"},"props":{"definitionId":"@l10n/fr/api/liveops/index.yaml","dynamicMarkdocComponents":[],"baseSlug":"/fr/api/liveops","seo":{"title":"LiveOps API","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"itemId":"","disableAutoScroll":true,"metadata":{"type":"openapi","title":"LiveOps API","description":"# Aperçu\n\n* **Version :** 2.0.0\n* **Serveurs** : `https://store.xsolla.com/api`\n* **[Contactez-nous par e-mail](mailto:integration@xsolla.com)**\n* **URL de contact :** https://xsolla.com/\n* **Version TLS requise :** 1.2\n\nLiveOps est un ensemble d'outils permettant de stimuler l'engagement continu des joueurs grâce à des promotions et des offres personnalisées.\n\nUtilisez l'API pour gérer les fonctionnalités suivantes :\n\n* **Promotions** — créez et gérez des campagnes par coupons, codes promo, réductions et bonus.\n* **Personnalisation** — spécifiez les conditions d'affichage du catalogue des objets et appliquez des promotions uniquement pour certains utilisateurs autorisés.\n* **Limites de promotion** — définissez une limite sur le nombre d'utilisations d'une promotion par utilisateur et configurez des réinitialisations planifiées de ces limites.\n* **Chaînes de récompenses et points de valeur** — configurez des parcours de récompenses débloqués progressivement selon l'accumulation de points de valeur.\n* **Chaînes quotidiennes** — configurez des récompenses quotidiennes récurrentes pour encourager les connexions régulières.\n* **Chaînes d'offres** — créez des offres d'achat séquentielles avec une tarification par paliers et des options de récompense gratuite.\n* **Upsell** — méthode de vente consistant à proposer à l'utilisateur l'achat d'un objet à valeur ajoutée.\n\n## Appels API\n\nL'API est divisée en **groupes suivants** :\n\n* **<nt>Admin</nt>** — appels pour créer, mettre à jour, activer et supprimer des campagnes et des configurations de chaînes. Authentifié via [authentification d'accès de base](https://developers.xsolla.com/fr/payment-ui-and-flow/payment-ui/how-to-get-payment-token/#payments_solution_get_user_auth_token_basic_auth) avec vos identifiants de commerçant ou de projet.\n* **<nt>Client</nt>** — appels pour récupérer les promotions disponibles, obtenir des chaînes actives, utiliser des codes et réclamer des récompenses au nom des utilisateurs finaux authentifiés. Authentifié via JWT utilisateur.\n\n# Authentification\n\nLes appels API nécessitent une authentification au nom d'un utilisateur ou d'un projet. Le schéma d'authentification à utiliser figure dans la section **Security** de la description de chaque appel.\n\n## Authentification à l'aide du JWT utilisateur\n\nL'authentification par JWT utilisateur est utilisée lorsqu'une requête provient d'un navigateur, d'une application mobile ou d'un jeu. Par défaut, le schéma `XsollaLoginUserJWT` s'applique. Pour savoir comment créer un jeton, consultez la [documentation de l'API Xsolla Login](/fr/api/login/authentication-schemes#getting-user-token).\n\nTransmettez le jeton dans l'en-tête `Authorization` au format suivant : `Authorization: Bearer <user_JWT>`, où `<user_JWT>` représente le jeton utilisateur. Ce jeton identifie l'utilisateur et donne accès à ses données personnalisées.\n\nVous pouvez également utiliser un [jeton pour ouvrir l’interface de paiement](/fr/api/pay-station/token/create-token).\n\n## Authentification HTTP basique\n\nL'authentification HTTP basique est utilisée pour les interactions serveur à serveur, lorsqu'un appel API est envoyé directement depuis votre serveur plutôt que depuis le navigateur ou l'application mobile d'un utilisateur. Elle repose généralement sur une [clé API](/fr/api/getting-started/#api_keys_overview).\n\n<div class=\"note\"><b>Note</b><br><br>La clé API est confidentielle et ne doit jamais être stockée ni utilisée dans une application cliente.</div>\n\nAvec l'authentification basique côté serveur, toutes les requêtes API doivent inclure l'en-tête suivant :\n\n- pour `basicAuth` — `Authorization: Basic <your_authorization_basic_key>`, où `your_authorization_basic_key` est la paire `project_id:api_key` encodée en Base64\n- pour `basicMerchantAuth` — `Authorization: Basic <your_authorization_basic_key>`, où `your_authorization_basic_key` est la paire `merchant_id:api_key` encodée en Base64\n\nVous trouverez les valeurs des paramètres dans le [Compte éditeur](https://publisher.xsolla.com/) :\n\n- `merchant_id` s'affiche :\n  - Dans **Company settings > Company***.\n  - Dans l'URL dans la barre d'adresse du navigateur sur n'importe quelle page du Compte éditeur. L'URL a le format suivant : `https://publisher.xsolla.com/<merchant_id>`.\n- `project_id` s'affiche :\n  - À côté du nom du projet dans le Compte éditeur.\n  - Dans l'URL dans la barre d'adresse du navigateur lors de l'utilisation d'un projet dans le Compte éditeur. L'URL a le format suivant : `https://publisher.xsolla.com/<merchant_id>/projects/<project_id>`.\n- `api_key` s'affiche dans le Compte éditeur uniquement au moment de la création et doit être stockée en toute sécurité de votre côté. Vous pouvez créer une clé API dans les sections suivantes :\n  - [Company settings > API keys](https://publisher.xsolla.com/0/settings/api_key)\n  - [Project settings > API key](https://publisher.xsolla.com/0/projects/0/edit/api_key)\n\n<div class=\"notice\"><b>Remarque</b><br><br>Si un appel API requis n'inclut pas le paramètre de chemin <code>project_id</code>, utilisez une clé API valide pour l'ensemble des projets de l'entreprise pour l'autorisation.</div>\n\nPour plus d'informations sur l'utilisation des clés API, consultez les [références API](/fr/api/getting-started/#api_keys_overview).\n\n## Authentification avec prise en charge de l'accès invité\n\nLe schéma d’authentification `AuthForCart` est utilisé pour les achats via le panier et prend en charge deux modes :\n\n1. **Authentification par JWT utilisateur.** Le jeton est passé dans l'en-tête `Authorization` au format suivant : `Authorization: Bearer <user_JWT>`, où `<user_JWT>` est le jeton utilisateur. Le jeton identifie l'utilisateur et donne accès aux données personnalisées. Vous pouvez également utiliser un [jeton pour ouvrir l'interface de paiement](/fr/api/pay-station/token/create-token).\n\n2. **Mode simplifié sans en-tête Authorization.** Ce mode est réservé aux utilisateurs non authentifiés et peut être utilisé uniquement pour la [vente de clés de jeu](/fr/doc/buy-button/how-to/set-up-authentication/#guides_buy_button_selling_items_not_authenticated_users). Au lieu d'un jeton, la requête doit inclure les en-têtes suivants :\n   - `x-unauthorized-id` avec un identifiant de requête\n   - `x-user` avec l'adresse e-mail de l'utilisateur encodée en Base64\n\n## Liens utiles\n\n- [Appels API par modèle d'interaction](https://developers.xsolla.com/fr/api/catalog/)\n- [Types de enpoints](https://developers.xsolla.com/fr/api/catalog/)\n- [Gestion des erreurs](https://developers.xsolla.com/fr/api/catalog/)\n- [Clés API](https://developers.xsolla.com/fr/api/catalog/)\n\n# Structure de l'entité principale\n\nLes objets de tous types (objets virtuels, lots, monnaie virtuelle et clés) partagent une structure de données similaire. Comprendre cette structure de base facilite l’utilisation de l'API et la navigation dans la documentation.\n\n<div class=\"note\"><b>Note</b><br><br>Certains appels peuvent inclure des champs supplémentaires, mais ils ne modifient pas la structure de base.</div>\n\n**Identification**\n\n- `merchant_id` — ID de l'entreprise dans le [Compte éditeur](https://publisher.xsolla.com/)\n- `project_id` — ID de projet dans le Compte éditeur\n- `sku` — UGS de l'objet, unique au sein du projet\n\n**Affichage en magasin**\n\n- `name` — nom de l'objet\n- `description` — description de l'objet\n- `image_url` — URL de l'image\n- `is_enabled` — disponibilité de l'objet\n- `is_show_in_store` — affichage de l'objet dans le catalogue\n\nPour plus d'informations sur la gestion de la disponibilité des objets dans le catalogue, consultez la [documentation](/fr/items-catalog/catalog-features/items-availability/).\n\n**Organisation**\n\n- `type` — type d'objet, par exemple, un objet virtuel (`virtual_item`) ou un lot (`bundle`)\n- `groups` — groupes auxquels l'objet appartient\n- `order` — ordre d'affichage dans le catalogue\n\n**Conditions de vente**\n\n- `prices` — prix en devise réelle ou monnaie virtuelle\n- `limits` — limites d'achat\n- `periods` — périodes de disponibilité\n- `regions` — restrictions régionales\n\n**Exemple de structure d'entité principale :**\n\n```json\n{\n  \"attributes\": [],\n  \"bundle_type\": \"virtual_currency_package\",\n  \"content\": [\n    {\n      \"description\": {\n        \"en\": \"Main in-game currency\"\n      },\n      \"image_url\": \"https://.../image.png\",\n      \"name\": {\n        \"en\": \"Crystals\",\n        \"de\": \"Kristalle\"\n      },\n      \"quantity\": 500,\n      \"sku\": \"com.xsolla.crystal_2\",\n      \"type\": \"virtual_currency\"\n    }\n  ],\n  \"description\": {\n    \"en\": \"Crystals x500\"\n  },\n  \"groups\": [],\n  \"image_url\": \"https://.../image.png\",\n  \"is_enabled\": true,\n  \"is_free\": false,\n  \"is_show_in_store\": true,\n  \"limits\": {\n    \"per_item\": null,\n    \"per_user\": null,\n    \"recurrent_schedule\": null\n  },\n  \"long_description\": null,\n  \"media_list\": [],\n  \"name\": {\n    \"en\": \"Medium crystal pack\"\n  },\n  \"order\": 1,\n  \"periods\": [\n    {\n      \"date_from\": null,\n      \"date_until\": \"2020-08-11T20:00:00+03:00\"\n    }\n  ],\n  \"prices\": [\n    {\n      \"amount\": 20,\n      \"country_iso\": \"US\",\n      \"currency\": \"USD\",\n      \"is_default\": true,\n      \"is_enabled\": true\n    }\n  ],\n  \"regions\": [],\n  \"sku\": \"com.xsolla.crystal_pack_2\",\n  \"type\": \"bundle\",\n  \"vc_prices\": []\n}\n```\n\n# Processus d'achat de base\n\nL'API Xsolla vous permet d'implémenter la logique de magasin en jeu, notamment la récupération du catalogue des objets, la gestion du panier, la création de commandes et le suivi de leur statut. Selon le scénario d'intégration, les appels API sont répartis en sections **Administrateur** et **Catalogue**, qui utilisent différents [schémas d'authentification](/fr/api/catalog/section/authentication).\n\nL'exemple suivant montre un processus de base pour configurer et exploiter un magasin, de la création d'objets à l'achat.\n\n## Création d'objets et de groupes (Administrateur)\n\nCréez un catalogue des objets pour votre magasin, tels que des objets virtuels, des lots ou de la monnaie virtuelle.\n\nExemples d'appels API :\n- [Créer un objet virtuel](/fr/api/catalog/virtual-items-currency-admin/admin-create-virtual-item)\n- [Créer un lot](/fr/api/catalog/bundles-admin/admin-create-bundle)\n- [Créer une monnaie virtuelle](/fr/api/catalog/virtual-items-currency-admin/admin-create-virtual-currency)\n\n## Configuration de promotions, chaînes et limites (Administrateur)\n\nConfigurez des outils d'acquisition d'utilisateurs et de monétisation, tels que des remises, des bonus, des récompenses quotidiennes ou des chaînes d'offres.\n\nExemples d'appels API :\n- [Créer une promotion de bonus](/fr/api/liveops/promotions-bonuses/create-bonus-promotion)\n- [Créer une récompense quotidienne](/fr/api/liveops/daily-chain-admin/admin-create-daily-chain)\n- [Créer une offre de catalogue unique](/fr/api/liveops/promotions-unique-catalog-offers/admin-create-unique-catalog-offer)\n\n## Récupération d'informations sur un objet (Client)\n\nConfigurez l'affichage des objets dans l'application.\n\n<div class=\"notice\">\n  <b>Remarque</b><br><br>\n    N'utilisez pas les appels API de la sous-section Administrateur pour créer un catalogue utilisateur. Ces appels API présentent des <a href=\"https://developers.xsolla.com/fr/api/getting-started/#api_rate_limits\" target=\"_blank\">limites de taux</a> et ne sont pas destinés au trafic utilisateur.\n</div>\n\n<br>\n\nExemples d'appels API :\n- [Lire la liste des objets virtuels](/fr/api/catalog/virtual-items-currency-catalog/get-virtual-items)\n- [Lire la liste des groupes d'objets](/fr/api/catalog/virtual-items-currency-catalog/get-item-groups)\n- [Lire la liste des lots](/fr/api/catalog/bundles-catalog/get-bundle-list)\n- [Lire la liste des objets vendables](/fr/api/catalog/common-catalog/get-sellable-items)\n\n<div class=\"note\">\n  <b>Note</b><br><br>\n    Par défaut, les appels API du catalogue renvoient les objets disponibles dans la boutique au moment de la requête. Pour récupérer les objets inactifs ou à durée limitée, ajoutez le paramètre <code>\"show_inactive_time_limited_items\": 1</code> dans la requête du catalogue.\n</div>\n\n## Vente des objets\n\nVous pouvez vendre des objets en utilisant les méthodes suivantes :\n- Achat rapide — vendre une UGS plusieurs fois.\n- Achat via le panier — l'utilisateur ajoute des objets au panier, supprime des objets et modifie les quantités dans une seule commande.\n\nSi un objet est acheté en utilisant de la monnaie virtuelle au lieu des devises réelles, utilisez l'appel API [Créer une commande à partir d'un objet spécifique en monnaie virtuelle](/fr/api/catalog/virtual-payment/create-order-with-item-for-virtual-currency). L'interface de paiement n'est pas requise, car le coût est traité lors de l'exécution de l'appel API.\n\nPour l'achat d'un objet gratuit, utilisez l'appel API [Créer une commande avec un bien gratuit spécifique](/fr/api/catalog/free-item/create-free-order-with-item) ou l'appel API [Créer une commande à partir d'un panier gratuit](/fr/api/catalog/free-item/create-free-order). L'interface de paiement n'est pas requise, la commande est immédiatement définie sur le statut <code>done</code>.\n\n### Achat rapide\n\nUtilisez l'appel API côté client pour [créer une commande à partir d'un objet spécifique](/fr/api/catalog/payment-client-side/create-order-with-item). L'appel renvoie un jeton utilisé pour ouvrir l'interface de paiement.\n\n<div class=\"note\">\n  <b>Note</b><br><br>\n    Les informations sur les remises sont disponibles pour l'utilisateur uniquement dans l'interface de paiement. Les codes promo ne sont pas pris en charge.\n</div>\n\n### Achat via le panier\n\nLa configuration et les achats du panier peuvent être gérés côté client ou côté serveur.\n\n**Configuration et achat du panier côté client**\n\nImplémentez vous-même la logique d'ajout et de suppression des objets. Avant d'appeler l'API pour configurer un panier, vous ne disposerez pas d'informations sur les promotions qui s'appliqueront à l'achat. Le coût total ainsi que les informations des objets bonus ajoutés ne seront donc pas encore connus.\n\nImplémentez la logique suivante pour le panier :\n1. Après que le joueur a rempli un panier, utilisez l'appel API [Remplir le panier d'objets](/fr/api/shop-builder/operation/cart-fill/). L'appel renvoie les informations actuelles sur les objets sélectionnés (prix avant et après remises, objets bonus).\n2. Mettez à jour le contenu du panier en fonction des actions utilisateur :\n   - Pour ajouter un objet ou modifier la quantité de l'objet, utilisez l'appel API [Mettre à jour un objet du panier par ID de panier](/fr/api/shop-builder/operation/put-item-by-cart-id/).\n   - Pour supprimer un objet, utilisez l'appel API [Supprimer un objet du panier par ID de panier](/fr/api/shop-builder/operation/delete-item-by-cart-id/).\n\n<div class=\"note\">\n  <b>Note</b><br><br>\n    Pour obtenir le statut actuel du panier, utilisez l'appel API Lire le panier de l'utilisateur actuel.\n</div>\n\n3. Utilisez l'appel API [Créer une commande à partir de tous les objets du panier actuel](/fr/api/shop-builder/operation/create-order/). L'appel renvoie l'ID de commande et le jeton de paiement. La commande nouvellement créée est définie sur le statut <code>new</code> par défaut.\n\n**Configuration et achat du panier côté serveur**\n\nCette approche peut nécessiter davantage de temps pour configurer le panier, car chaque modification doit être effectuée via des appels API.\n\nImplémentez la logique suivante pour le panier :\n1. Après que le joueur a rempli un panier, utilisez l'appel API [Remplir le panier d'objets](/fr/api/catalog/cart-server-side). L'appel renvoie les informations à jour sur les objets sélectionnés (prix avant et après remises, objets bonus).\n2. Utilisez l'appel API [Créer une commande à partir de tous les objets du panier actuel](/fr/api/shop-builder/operation/create-order/). L'appel renvoie l'ID de commande et le jeton de paiement. La commande nouvellement créée est définie sur le statut <code>new</code> par défaut.\n\n## Ouverture de l'interface de paiement\n\nUtilisez le jeton renvoyé pour ouvrir l'interface de paiement dans une nouvelle fenêtre. D'autres méthodes d'ouverture de l'interface de paiement sont décrites dans la [documentation](/fr/payment-ui-and-flow/payment-ui/how-to-open-payment-ui/#open_payment_ui).\n\n| Action                          | Endpoint                                                                  |\n|:--------------------------------|:--------------------------------------------------------------------------|\n| Ouverture dans l'environnement de production. | <code>https://secure.xsolla.com/paystation4/?token={token}</code>         |\n| Ouverture en mode bac à sable.           | <code>https://sandbox-secure.xsolla.com/paystation4/?token={token}</code> |\n\n<div class=\"note\">\n  <b>Note</b><br><br>\n    Utilisez le mode bac à sable pendant le développement et les tests. Les achats de test n'entraînent aucun débit sur des comptes réels. Vous pouvez utiliser des <a href=\"https://developers.xsolla.com/fr/dev-resources/testing/test-cards/\">cartes bancaires de test</a>.\n\n    Après le premier paiement réel, une politique stricte du mode bac à sable s'applique. Les paiements en mode bac à sable sont disponibles uniquement pour les utilisateurs spécifiés dans la section [Company settings > Users](https://publisher.xsolla.com/0/settings/users) du Compte éditeur.\n\n    L'achat de monnaie virtuelle et d'objets en devise réelle n'est possible qu'après la signature d'un contrat de licence avec Xsolla. Pour cela, dans le [Compte éditeur](https://publisher.xsolla.com/), accédez à **Agreements & Taxes > Agreements**, complétez le formulaire et attendez la validation. Le traitement du contrat peut prendre jusqu'à 3 jours ouvrés.\n </div>\n\nPour activer ou désactiver le mode bac à sable, modifiez la valeur du paramètre `sandbox` dans la requête pour l'achat rapide et l'achat via le panier. Le mode bac à sable est désactivé par défaut.\n\nStatuts de commande possibles :\n- `new` — commande créée\n- `paid` — paiement reçu\n- `done` — objet attribué\n- `canceled` — commande annulée\n- `expired` — commande expirée\n\nSuivez le statut de la commande en utilisant l'une des méthodes suivantes :\n- [webhooks configurés sur votre serveur](/fr/virtual-goods/own-ui/server-side-token-generation/set-up-order-tracking/#payments_integration_order_tracking)\n- [short-polling](/fr/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/#guides_shop_builder_integrate_store_get_order_status_via_short_polling)\n- [API WebSocket](/fr/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/#guides_shop_builder_integrate_store_get_order_status_via_websocket_api)\n\n## Liens utiles\n\n- Authentification\n- [Appels API par modèle d'interaction](/fr/api/catalog/section/authentication)\n- [Test de paiement](/fr/dev-resources/testing/general-info/#general_overview)\n- [Configurer le suivi du statut de la commande](/fr/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/?link=200-api#payments_integration_order_tracking)\n- [Webhooks](/fr/webhooks/overview)\n- [Limites de taux](/fr/api/login/rate-limits)\n- [Gestion des erreurs](/fr/api/getting-started/#api_errors_handling)\n- [Clés API](/fr/api/getting-started/#api_keys_overview)\n\n# Pagination\n\nLes appels API qui renvoient de grands ensembles d'enregistrements (par exemple lors de la création d'un catalogue) utilisent la pagination. La pagination est un mécanisme qui limite le nombre d'objets renvoyés dans une seule réponse et permet de récupérer les pages suivantes de manière séquentielle.\n\nUtilisez les paramètres suivants pour contrôler le nombre d'objets renvoyés :\n\n- `limit` — nombre d'objets par page\n- `offset` — indice du premier objet sur la page (la numérotation commence à 0)\n- `has_more` — indique si une autre page est disponible\n- `total_items_count` — nombre total d'objets\n\nExemple de requête :\n\n```\nGET /items?limit=20&offset=40\n```\n\nExemple de réponse :\n\n```json\n{\n  \"items\": [...],\n  \"has_more\": true,\n  \"total_items_count\": 135\n}\n```\n\nIl est recommandé d'envoyer des requêtes successives jusqu'à ce que la réponse renvoie `has_more = false`.\n\n# Format de date et d'heure\n\nLes dates et les valeurs temporelles sont transmises au format [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601).\n\nLes valeurs suivantes sont prises en charge :\n\n- Décalage UTC\n- Valeur `null` lorsqu'il n'y a pas de restriction temporelle pour l'affichage d'un objet\n- [Horodatage Unix](https://www.unixtimestamp.com/) (en secondes) utilisé dans certains champs\n\nFormat : `YYYY-MM-DDTHH:MM:SS±HH:MM`\n\nExemple : `2026-03-16T10:00:00+03:00`\n\n# Localisation\n\nXsolla prend en charge la localisation des champs destinés aux utilisateurs, tels que le nom et la description de l'objet. Les valeurs localisées sont transmises sous forme d'objet, où le code de langue est utilisé comme clé. La liste complète des langues prises en charge est disponible dans la [documentation](/fr/doc/shop-builder/references/supported-languages/).\n\n**Champs pris en charge**\n\nLes paramètres suivants peuvent être localisés :\n\n- `name`\n- `description`\n- `long_description`\n\n**Format de langue**\n\nLa clé de la langue peut être spécifiée dans l'un des formats suivants :\n\n- Code de langue à deux lettres : `en`, `ru`\n- Code de langue à cinq lettres : `en-US`, `ru-RU`, `de-DE`\n\n**Exemples**\n\nExemple avec un code de langue à deux lettres :\n\n```json\n{\n  \"name\": {\n    \"en\": \"Starter Pack\",\n    \"ru\": \"Стартовый набор\"\n  }\n}\n```\n\nExemple avec un code de langue à cinq lettres :\n\n```json\n{\n  \"description\": {\n    \"en-US\": \"Premium bundle\",\n    \"de-DE\": \"Premium-Paket\"\n  }\n}\n```\n\n# Format de réponse d'erreur\n\nEn cas d'erreur, l'API renvoie un statut HTTP ainsi qu'un corps de réponse au format JSON. La liste complète des erreurs liées au magasin est disponible dans la [documentation](/fr/dev-resources/references/errors/store-errors/).\n\n**Exemple de réponse :**\n\n```json\n{\n  \"errorCode\": 1102,\n  \"errorMessage\": \"Validation error\",\n  \"statusCode\": 422,\n  \"transactionId\": \"c9e1a...\"\n}\n```\n\n- `errorCode` — code d'erreur.\n- `errorMessage` — courte description de l'erreur.\n- `statusCode` — statut de la réponse HTTP.\n- `transactionId` — ID de la requête. Retourné uniquement dans certains cas.\n- `errorMessageExtended` — informations supplémentaires sur l'erreur, telles que les paramètres de la requête. Retournées uniquement dans certains cas.\n\n**Exemple de réponse détaillée :**\n\n```json\n{\n  \"errorCode\": 7001,\n  \"errorMessage\": \"Chain not found\",\n  \"errorMessageExtended\": {\n    \"chain_id\": \"test_chain_id\",\n    \"project_id\": \"test_project_id\",\n    \"step_number\": 2\n  },\n  \"statusCode\": 404\n}\n```\n\n**Codes de statut HTTP courants**\n\n- `400` — requête non valide\n- `401` — erreur d'authentification\n- `403` — permissions insuffisantes\n- `404` — ressource non trouvée\n- `422` — erreur de validation\n- `429` — limite de taux dépassée\n\n**Recommandations**\n\n- Gérez ensemble le statut HTTP et le corps de la réponse.\n- Utilisez `errorCode` pour traiter les erreurs liées à la logique de l'application.\n- Utilisez `transactionId` pour identifier plus rapidement les requêtes lors de l'analyse des erreurs."},"compilationErrors":[],"markdown":{"partials":{},"variables":{"rbac":{"teams":["anonymous"]},"user":{},"remoteAddr":{"hostname":"xsolla.redocly.app","port":4000,"ipAddress":"216.73.216.177"},"lang":"fr","env":{"PUBLIC_REDOCLY_BRANCH_NAME":"realm"}}},"pagePropGetterError":{"message":"","name":""}},"slug":"/fr/api/liveops","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}