Endpoints de commande

Les commandes sont créées avec un UUID que vous générez. Cet UUID est la clé d'idempotence : le rejouer renvoie la commande d'origine au lieu de débiter deux fois. Le statut se relit ensuite commande par commande, par lots de cinquante au maximum, ou sous forme de liste paginée.

POST

/orders/create

Créer une commande

Passe une nouvelle commande. Vous devez fournir un UUID unique comme order_id pour garantir l'idempotence. Le portefeuille est débité immédiatement.

Limite de requêtes5000 requêtes / 60 s par compte

Note: La valeur order_id sert de clé d'idempotence. Si vous relancez la requête avec le même UUID, vous récupérez la commande existante au lieu d'en créer un doublon.

Corps de la requête

NomTypeObligatoireDescriptionExemple
order_idstring (UUID)OuiUn UUID unique pour cette commande (toutes versions acceptées : v1, v4, v7, etc.). Il sert de clé d'idempotence.01912345-6789-7abc-8def-0123456789ab
sub_category_idnumberOuiL'ID de sous-catégorie du produit.999
quantitynumberOuiNombre d'unités à commander (entier positif).1
requirementsobjectOuiInformations de livraison du joueur. Incluez tous les champs renvoyés par l'endpoint « Obtenir les champs requis d'une catégorie ».{"player_id": "123456789", "server": "Asia"}
expected_unit_pricestringNonProtection du prix. Si le prix actuel dépasse cette valeur, la commande est refusée.0.950000
Requête
curl -s -X POST "https://shop2topup.com/api/endpoints/v1/orders/create" \
  -H "Authorization: Bearer YOUR_KEY_ID.YOUR_KEY_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
  "order_id": "01912345-6789-7abc-8def-0123456789ab",
  "sub_category_id": 999,
  "quantity": 1,
  "requirements": {
    "player_id": "123456789",
    "server": "Asia"
  },
  "expected_unit_price": 0.95
}'
Exemple de réponse
{
  "success": true,
  "order": {
    "order_id": "01912345-6789-7abc-8def-0123456789ab",
    "status": "pending",
    "player_id": "123456789",
    "player_name": "ProGamer99",
    "subcategory_name": "FF 100 Diamonds",
    "quantity": 1,
    "charged_amount": "0.950000",
    "currency": "USD",
    "created_at": "2024-06-15T12:00:00Z"
  }
}
GET

/orders/:orderId

Statut de la commande

Renvoie le statut actuel et le détail d'une commande donnée.

Limite de requêtes3 requêtes / 60 s par compte et par order_id

Note: Le statut de la commande vaut pending, completed, refunded ou partial (partial : certaines unités livrées, le reste remboursé). Chaque sub_transactions[].status vaut pending, completed ou refunded ; une unité reste pending jusqu'à sa livraison ou son remboursement. Le champ sub_transactions[].id indique le rang de l'unité dans la commande (1…n), pas un identifiant en base. S'ils sont présents, retry_count et max_retries sont obsolètes et valent toujours 0.

Paramètres de chemin

NomTypeObligatoireDescriptionExemple
orderIdstring (UUID)OuiL'ID de la commande à consulter.01912345-6789-7abc-8def-0123456789ab
Requête
curl -s "https://shop2topup.com/api/endpoints/v1/orders/01912345-6789-7abc-8def-0123456789ab" \
  -H "Authorization: Bearer YOUR_KEY_ID.YOUR_KEY_SECRET"
Exemple de réponse
{
  "success": true,
  "order": {
    "order_id": "01912345-6789-7abc-8def-0123456789ab",
    "status": "completed",
    "player_id": "123456789",
    "player_name": "ProGamer99",
    "subcategory_name": "FF 100 Diamonds",
    "quantity": 1,
    "charged_amount": "0.950000",
    "currency": "USD",
    "created_at": "2024-06-15T12:00:00Z",
    "completed_at": "2024-06-15T12:00:05Z",
    "vouchers": [],
    "sub_transactions": [
      {
        "id": 1,
        "status": "completed",
        "player_id": "123456789",
        "player_name": "ProGamer99",
        "amount": "0.950000",
        "created_at": "2024-06-15T12:00:00Z",
        "completed_at": "2024-06-15T12:00:05Z"
      }
    ]
  }
}
POST

/orders/batch

Commandes en lot

Récupère plusieurs commandes d'un coup à partir de leurs ID. 50 ID de commande maximum par requête.

Limite de requêtes2 requêtes / 60 s par compte

Corps de la requête

NomTypeObligatoireDescriptionExemple
order_idsstring[]OuiTableau d'UUID de commande (50 maximum).["uuid-1", "uuid-2"]
Requête
curl -s -X POST "https://shop2topup.com/api/endpoints/v1/orders/batch" \
  -H "Authorization: Bearer YOUR_KEY_ID.YOUR_KEY_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
  "order_ids": [
    "uuid-1",
    "uuid-2"
  ]
}'
Exemple de réponse
{
  "success": true,
  "orders": [
    {
      "order_id": "01912345-6789-7abc-8def-0123456789ab",
      "status": "completed",
      "charged_amount": "0.950000"
    }
  ],
  "not_found": [
    "uuid-that-does-not-exist"
  ]
}
GET

/orders

Lister les commandes

Liste vos commandes avec pagination, et filtres facultatifs par statut et par période.

Limite de requêtes2 requêtes / 60 s par compte

Paramètres de requête

NomTypeObligatoireDescriptionExemple
pagenumberNonNuméro de page (par défaut : 1).1
limitnumberNonRésultats par page, de 1 à 100 (par défaut : 50).50
statusstringNonFiltre par statut : pending, completed, refunded, partial.completed
created_afterstring (ISO 8601)NonFiltre les commandes créées après cette date.2024-01-01T00:00:00Z
created_beforestring (ISO 8601)NonFiltre les commandes créées avant cette date.2024-12-31T23:59:59Z
Requête
curl -s "https://shop2topup.com/api/endpoints/v1/orders?page=1&limit=50&status=completed&created_after=2024-01-01T00:00:00Z&created_before=2024-12-31T23:59:59Z" \
  -H "Authorization: Bearer YOUR_KEY_ID.YOUR_KEY_SECRET"
Exemple de réponse
{
  "success": true,
  "orders": [
    {
      "order_id": "01912345-6789-7abc-8def-0123456789ab",
      "status": "completed",
      "subcategory_name": "FF 100 Diamonds",
      "quantity": 1,
      "charged_amount": "0.950000",
      "created_at": "2024-06-15T12:00:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 50,
    "total": 1,
    "total_pages": 1
  }
}

Envoyez une vraie requête depuis cette page

Collez une clé API pour appeler ces endpoints en direct. La clé reste dans cet onglet du navigateur et n'est envoyée qu'à l'API elle-même.

Enter your API key to use the interactive playground. Get your API key

Choisissez un endpoint

1
2
Order Details

Enter your API key above to try this endpoint.

Nouveau sur la plateforme ? Commencez par la présentation de l'API de recharge de jeux pour revendeurs, ou lisez la présentation du programme revendeur SHOP2TOPUP pour comprendre le fonctionnement du compte partenaire.