Présentation
L’API Xsolla comprend :
- Pay Station API — interface de paiement et méthodes de tokénisation.
- IGS & BB API — méthodes pour travailler avec les modules In-Game Store et Buy Button.
- Subscriptions API — méthodes pour Subscriptions.
- Publisher Account API — méthodes pour travailler avec les projets et les utilisateurs du Compte éditeur, les rapports et les tickets de support.
- Login API — méthodes pour l’authentification utilisateur à l’aide de votre propre interface (voir le guide d’intégration).
L’API utilise des fonctions HTTP intégrées telles que l’authentification HTTP et les verbes HTTP, qui peuvent être interprétées par des clients HTTP standard. Elle prend également en charge le partage de ressources inter-origines, ce qui vous permet d’y accéder en toute sécurité à partir d’une application Web cliente.
L’API Xsolla utilise les chemins d’endpoints suivants :https://api.xsolla.com
— Pay Station API, Publisher Account API, Subscriptions API ;https://login.xsolla.com/api
— Login API ;https://store.xsolla.com/api
— IGS&BB API.
Requêtes et réponses
Les requêtes adressées à l’API Xsolla doivent :- être envoyées via HTTPS ;
- utiliser TLS 1.2 ou ou versions ultérieures ;
- contenir les paramètres d’authentification ;
- contenir un en-tête supplémentaire :
Content-Type: application/json
pour les requêtes PUT et POST.
Authorization: Basic <your_authorization_basic_key>
Content-Type: application/json
Par défaut, toutes les requêtes renvoient une réponse contenant des données JSON dans le corps et Content-Type: application/json
dans l’en-tête.
Modifications de l'API
Xsolla peut modifier la fonctionnalité de l’API comme suit :- Ajouter de nouvelles ressources API ;
- Ajouter des paramètres de requête facultatifs ;
- Ajouter de nouvelles propriétés aux réponses API existantes ;
- Ajouter de nouvelles valeurs pour les paramètres existants avec des valeurs énumérables ;
- Ajouter de nouveaux types de webhook et de paramètres JSON ;
- Ajouter des en-têtes de requête HTTP facultatifs ;
- Rejeter toute requête dans laquelle des paramètres valides contiennent des valeurs non valides ;
- Rejeter les requêtes mal formées qui ont été acceptées précédemment en raison d’une analyse laxiste, si la logique d’analyse est modifiée ;
- Ajouter, modifier ou supprimer des fonctionnalités non documentées à tout moment.
Versionnage
Toutes les méthodes API Xsolla prennent en charge le versionnage. Nous publierons une nouvelle version chaque fois qu’il y aura des changements incompatibles avec la version actuelle. La version est identifiée par « v1 »/« v2 »/etc. après le préfixe « /merchant » dans l’URL. Si vous utilisez l’API pour la première fois, utilisez la dernière version. Par défaut, nous utiliserons la première version, si aucune version n’est indiquée.Authentification
L’API Xsolla utilise l’authentification d’accès de base. Les requêtes à l’API doivent contenir l’en-têteAuthorization: Basic <your_authorization_basic_key>
, où <your_authorization_basic_key>
est la paire merchant ID:API key encodée conformément à la norme Base64. Accédez au Compte éditeur pour trouver les paramètres suivants :- Merchant ID est affiché :
- Dans la section Company settings > Company ;
- Dans l'URL de la barre d'adresse du navigateur sur n'importe quelle page du Compte éditeur. L'URL est au format suivant :
https://publisher.xsolla.com/<merchant ID>/<Publisher Account section>
.
- L'API key ne s'affiche dans le Compte éditeur qu'une seule fois lors de sa création, vous devez donc la conserver de votre côté. Vous pouvez créer une nouvelle clé dans les sections suivantes :
- Company settings > API keys ;
- Project settings > API keys.
Pour plus d’informations sur l’utilisation des clés API, consultez la référence API.
Recommandations principales :
- Enregistrez la clé API générée de votre côté. Lors de sa création dans le Compte éditeur, la clé API ne s’affiche qu’une seule fois.
- Gardez votre clé API secrète. Elle donne accès à votre compte personnel et à vos projets dans le Compte éditeur.
- Stockez la clé API sur votre serveur et non dans des fichiers binaires ou sur le client.
Types d'endpoints
Le type d’endpoint indique le type de données qu’il traite et l’action qu’il effectue sur ces données. Les actions les plus courantes sont les suivantes :Action | Méthode HTTP | Description |
---|---|---|
Créer | POST | Crée et enregistre une entité du type spécifié. |
Liste | GET | Renvoie une liste d’entités correspondant à la requête. Pour obtenir des détails sur une entité, il faut d’abord trouver son ID en utilisant l’endpoint Liste correspondant, puis fournir cet ID à l’endpoint Récupérer correspondant. |
Récupérer | GET | Fournit des informations sur l’entité dont l’ID est spécifié. |
Remplacer | PUT | Modifie tous les champs de l’entité dont l’ID est spécifié. |
Mettre à jour | PATCH | Modifie les champs spécifiés de l’entité avec l’ID spécifié. |
Supprimer | DELETE | Supprime l’entité avec l’ID spécifié. |
Format de la date
Toutes les dates sont spécifiées sous forme de chaînes de caractères conformément à la norme ISO 8601. Vous pouvez spécifier des chaînes de dates soit en UTC (par exemple, 2013-01-15T00:00:00Z), soit en indiquant le décalage UTC (par exemple, 2013-01-15T00:00:00-08:00 pour huit heures de décalage par rapport à UTC). Dans ce dernier cas, veillez à tenir compte de l’heure d’été, le cas échéant.Pagination
Les endpoints Liste peuvent paginer les résultats renvoyés. Cela signifie qu’au lieu de renvoyer tous les résultats dans une seule réponse, ces endpoints peuvent renvoyer certains résultats, accompagnés d’un en-tête de réponse pointant vers la série de résultats suivante. Pour ce faire, nous utilisons les paramètres offset et limit.Gestion des erreurs
Liste des erreurs HTTP prises en charge :- 200, 201, 204 — Pas d’erreur ;
- 400 Bad Request — Cela indique souvent l’absence d’un paramètre requis. Reportez-vous au corps de la réponse pour plus de détails ;
- 401 Unauthorized — Clé API valide non fournie ;
- 402 Request Failed — La requête a échoué malgré des paramètres valides ;
- 403 Forbidden — Aucuns droits d’accès. Reportez-vous au corps de la réponse pour plus de détails ;
- 404 Not Found — L’élément demandé n’existe pas ;
- 409, 422 — Paramètres de requête non valides ;
- 412 Precondition Failed — Le projet n’a pas encore été activé (utilisé dans la méthode Créer un jeton) ;
- 415 Unsupported Media Type —
Content-Type: application/json
manquant dans l’en-tête HTTP ; - 500, 502, 503, 504 Server Errors — Un problème est durvenu.
422
.
Toutes les réponses d’erreur de l’API fournissent un objet JSON comprenant les champs suivants :Nom | Type | Description |
---|---|---|
http_status_code | integer | Code HTTP. |
message | string | Un message lisible par l’homme décrivant l’erreur. Ce message est toujours en anglais. Ne vous fiez pas à cette valeur pour une erreur particulière, car elle pourrait changer à l’avenir. |
extended_message | string | Description plus détaillée de l’erreur. |
request_id | string | ID unique de la requête qui peut être utilisé pour la résolution des problèmes. |
- http
{
"http_status_code": 500,
"message": "Internal Server Error",
"extended_message": null,
"request_id": "6445b85"
}
Limites de fréquence
Informations générales
Pour éviter de surcharger les systèmes Xsolla et les protéger contre les rafales de trafic entrant, Xsolla limite le nombre de requêtes reçues par l’API Xsolla au cours d’une période donnée. Si la limite est dépassée, l’API Xsolla renvoie une réponse HTTP avec le code d’état429
.
Les limites varient en fonction de la méthode, du projet et d’autres facteurs. Les limites actuelles sont régulièrement mises à jour afin de garantir le fonctionnement stable et ininterrompu des systèmes Xsolla. Dans certains cas, il est possible d’adapter les limites spécifiées sur demande préalable. Contactez votre responsable de la réussite client ou envoyez un e-mail à csm@xsolla.com pour soumettre une demande.Causes courantes de dépassement des limites de fréquence
- Une augmentation soudaine du trafic du côté du partenaire à la suite de :
- ventes saisonnières ;
- début des essais en milieu fermé et en milieu ouvert.
- Augmentation soudaine du trafic à la suite d’attaques DDoS du côté du partenaire.
- Une intégration mal configurée, par exemple :
- l’utilisation des méthodes de la sous-section Administrateur qui ne sont pas destinées à un usage fréquent au lieu des méthodes de la sous-section Catalogue ;
- appel fréquent à la méthode Lire une commande pour obtenir l’état d’une commande et la liste des objets qu’elle contient. Par exemple : 1 fois par seconde alors que le délai recommandé entre les requêtes devrait être de 3 secondes.
- Lancement d’un nombre excessivement élevé de requêtes dans une période donnée. Par exemple : plus de 200 appels par seconde à la méthode Lire la liste des objets virtuels pour afficher un catalogue des objets.
Traitement des limites de fréquence
Pour éviter les erreurs causées par les limites de fréquence, nous vous recommandons de :- Suivre les codes d’état
429
et créer un mécanisme de relance. Pour ce faire, utilisez le modèle Retry avec un backoff exponentiel ou fixe entre les tentatives au lieu de tentatives continues. - Optimiser le code pour n’obtenir que les données nécessaires. Veillez à n’effectuer que les requêtes dont votre application a besoin et évitez tout appel inutile à l’API. Si vous utilisez IGS & BB API, recourez à WebSocket API pour réduire le nombre d’appels.
- Mettre en cache les données fréquemment utilisées par votre application. Par exemple, conservez les données statiques de votre côté afin de réduire le nombre de requêtes à l’API externe.
- Prévenir les attaques DDoS susceptibles d’interrompre votre API.
- Ajuster la fréquence de vos requêtes pour une distribution plus régulière. Si l’erreur
429
se produit régulièrement, envisagez d’inclure dans votre code un processus qui régule la fréquence de vos requêtes et permet de les répartir plus uniformément.
Clés API
Une clé API est une clé unique utilisée pour le cryptage des données utilisateur et l’authentification des requêtes API. Dans le Compte éditeur, vous pouvez créer des clés API pour tous les projets de l’entreprise ainsi que pour des projets individuels.
Vous pouvez travailler avec les clés API (voir la liste, créer et supprimer) si vous avez l’un des rôles suivants :
- développeur ;
- propriétaire.
Seul un propriétaire de projet peut modifier les rôles dans le Compte éditeur dans la section Company settings > Users.
Créer une clé API
Pour créer une clé API :- Ouvrez le Compte éditeur.
- Accédez à la section Company settings > API keys ou Project settings > API keys.
- Cliquez sur Create API key.
- Remplissez les champs :
- Key name — nom de la clé qui sera affiché dans la liste des clés. Définissez un nom qui vous permettra d’identifier facilement la clé ;
- Key type — type de clé, permanente ou temporaire ;
- Expiration date — date d’expiration, uniquement pour une clé temporaire. Après la date d’expiration, la clé n’est plus valide et vous devez en créer une nouvelle ;
- Project — projet où la clé est valide (le champ n’est pas affiché lorsque vous créez une clé API sur la page du projet). Tous les projets sont sélectionnés par défaut.
- Cliquez sur Create.
- Dans la fenêtre qui s’affiche, cliquez sur Copy API key et enregistrez la clé API créée de votre côté.
- Enregistrez la clé API générée de votre côté. Lors de sa création dans le Compte éditeur, la clé API ne s’affiche qu’une seule fois.
- Gardez votre clé API secrète. Elle donne accès à votre compte personnel et à vos projets dans le Compte éditeur.
- Stockez la clé API sur votre serveur et non dans des fichiers binaires ou sur le client.
Supprimer une clé API
Pour supprimer une clé API :- Ouvrez le Compte éditeur.
- Accédez à la section Company settings > API keys ou Project settings > API keys.
- Dans la ligne Clé API, cliquez sur l’icône de la poubelle et confirmez l’action.
- à la réception de paiements dans les projets pour lesquels cette clé API a été utilisée ;
- à l’appel des méthodes API qui ont utilisé cette clé API.
- Créez une nouvelle clé API.
- Modifiez votre application pour utiliser la nouvelle clé API.
- Supprimez la clé API initiale.
Webhooks
Les webhooks vous permettent de recevoir des notifications instantanées d’événements configurés côté Xsolla. Configurez leur traitement pour automatiser votre application. Pour obtenir la liste des webhooks disponibles et des descriptions détaillées de leur fonctionnement, consultez notre documentation.
Cet article vous a été utile ?
Évaluer cette page
Préfère ne pas répondre
Merci pour votre commentaire !
Faute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entée.