Aller au contenu
API d'intégration Xegora v1

Émettez cartes cadeaux et eSIM en un seul appel

Un seul catalogue pour toutes les familles de produits. Une commande est tarifée au moment où vous la passez et jamais au-dessus du plafond que vous fixez, elle est idempotente sur votre portefeuille prépayé, et les webhooks sont signés — les nouvelles tentatives sont donc sans risque et le jour du lancement se passe sans surprise.

Les clés API sont émises et gérées dans le tableau de bord marchand une fois votre espace de travail approuvé.

Le cycle de vie

Le parcours d'une commande

Une boucle courte — trois appels et un webhook signé — et c'est la même boucle pour toutes les familles de produits.

  1. Trouver un produit

    GET /products

    Parcourez un catalogue unique de cartes cadeaux, de forfaits eSIM et de recharges par catégorie, pays ou texte — ou actualisez précisément les produits que vous vendez par identifiant.

  2. Passer la commande

    POST /orders

    Envoyez l'article : il est tarifé et commandé en un seul appel, jamais au-dessus du plafond que vous fixez. Les rejeux avec la même clé renvoient la même commande.

  3. Recevez le webhook

    order.fulfilled

    Un événement signé vous prévient dès que la livraison est terminée. Aucune boucle de polling.

  4. Révéler le code

    POST /orders/{id}/fulfillment

    Récupérez codes et codes PIN via un point de terminaison dédié et audité — jamais mis en cache, chaque révélation comptabilisée.

Démarrage rapide

Votre langage, du simple HTTPS

Une API REST claire et prévisible — du JSON en entrée, du JSON en sortie, un en-tête X-Api-Key, et aucun SDK requis. Trouver, commander, révéler : votre première commande tient en trois appels.

create-order.ts
const BASE = "https://integration.xegora.com/api/v1";
const response = await fetch(`${BASE}/orders`, {
method: "POST",
headers: {
"X-Api-Key": process.env.XEGORA_API_KEY!,
"Content-Type": "application/json",
"Idempotency-Key": "order-10231",
},
body: JSON.stringify({
clientReference: "po-10231",
item: { productId, variantId, quantity: 1, currency: "USD" },
maximumTotal: 60.0, // the price your buyer saw
}),
});
const order = await response.json();
// 409 price_above_maximum carries quotedTotal — show the new price instead
console.log(order.status); // "reserved" — wait for "fulfilled", then reveal
  • Commandes idempotentes
  • Webhooks signés
  • Clés API à portée limitée
  • Portefeuille préalimenté
Référence de l'API

L'essentiel de l'API, de bout en bout

De vraies structures de requêtes et de réponses — cliquez sur n'importe quelle ligne. Les retraits, l'historique des dépôts et les images de produits complètent l'ensemble ; la référence complète se trouve sur docs.xegora.com.

POST /api/v1/orders

Commandez sur votre portefeuille prépayé : envoyez l'article pour le tarifer et le commander en un seul appel (avec un maximumTotal facultatif), ou un quoteId. L'en-tête Idempotency-Key est obligatoire — une nouvelle tentative renvoie la même commande. Portée : orders.create.

Exemple de réponse202 Accepted
{
  "id": "0198e000-1111-7abc-9def-222233334444",
  "clientReference": "po-10231",
  "status": "reserved",
  "total": 58.50,
  "currency": "USD",
  "lines": [
    { "productId": "0198d72d-99d6-75a6-9f12-971050ba7a5f", "variantId": "0198d72d-a15b-7cbf-…",
      "productName": "Everyday Digital Gift Card", "variantLabel": "50", "quantity": 1,
      "unitPrice": 58.50, "currency": "USD", "faceValue": 50, "faceCurrency": "EUR" }
  ],
  "createdAtUtc": "2026-09-05T12:01:02Z",
  "updatedAtUtc": "2026-09-05T12:01:02Z"
}

Tout le reste se trouve sur docs.xegora.com

La documentation complète pour les développeurs — chaque point de terminaison avec ses schémas de requête et de réponse, la vérification de signature des webhooks en trois langages, et la spécification OpenAPI 3.1 complète.

  • Premiers pas
  • Authentification
  • Commandes et devis
  • Webhooks
  • Mise en production
Conçu pour la production

L'infrastructure ennuyeuse dont vous avez vraiment besoin

Tout ce qui permet à une intégration d'émission de tenir face au trafic réel — idempotence, signatures, identifiants à portée limitée et un portefeuille qui ne peut pas dépenser plus que son solde.

Catalogue unifié

Cartes cadeaux, forfaits eSIM et recharges téléphoniques partagent un même schéma, un même flux de prix et un même circuit de commande. Intégrez une seule fois et chaque produit ajouté par Xegora est automatiquement à vous.

Commandes idempotentes

La création de commande et la révélation de livraison acceptent toutes deux un en-tête Idempotency-Key. Coupure réseau, délai dépassé, boucle de tentatives agressive — rejouez la requête autant de fois que vous le voulez : il n'existe qu'une seule commande.

Webhooks signés

order.processing, order.fulfilled, order.failed, order.refunded et wallet.credited sont envoyés via HTTPS avec une signature HMAC-SHA256 (X-Xegora-Signature), relancés selon une garantie « au moins une fois », et dédupliqués grâce à un X-Xegora-Event-Id stable.

Clés à moindre privilège

Chaque clé porte un ensemble explicite de portées — lecture du catalogue, devis, commande, lecture du portefeuille et mouvements de fonds sont des portées toutes distinctes — ainsi qu'une liste d'autorisation CIDR et une date d'expiration facultatives. La révocation est immédiate.

Portefeuille préalimenté

Les commandes réservent un montant sur votre solde prépayé et le prélèvent à la livraison ; en cas d'échec, la réservation est libérée automatiquement. Alimentez-le on-chain vers une adresse de dépôt permanente, et retirez les fonds inutilisés uniquement vers vos propres coordonnées de versement enregistrées.

Un catalogue pensé pour la sélection

Parcourez par catégorie, pays ou texte, filtrez les montants fixes ou libres, et actualisez les produits que vous vendez par identifiant en un seul appel — avec les étapes d'utilisation et les autres pays de la marque sur chaque produit, au prix de votre devise de vente.

Tarifs

Des prix de gros, sans surprise

Le devis, c'est le prix. Tout le reste de vos conditions commerciales est convenu lors de la mise en place de votre espace de travail marchand.

  • Des prix de gros dans votre devise de vente — le total du devis est exactement le montant débité de votre portefeuille
  • Aucuns frais cachés par appel ; une limite fixe de 120 requêtes/minute par espace de travail
  • La formule de votre espace de travail (mise en service et conditions) est convenue lors de l'intégration marchand
  • Les retraits de fonds inutilisés font l'objet d'un devis transparent — frais, montant net et date de versement indiqués d'avance

Prêt à émettre votre première commande ?

Demandez un espace de travail marchand depuis votre compte, faites-le approuver et émettez des clés API à portée limitée depuis le tableau de bord — votre première commande n'est alors qu'à trois appels. La référence complète vous attend sur docs.xegora.com.