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

Create Order

Place a new order. You must provide a unique UUID as the order_id for idempotency. The wallet will be charged immediately.

Limite de requĂȘtes120 req / 60s per user

Note: The order_id is your idempotency key. If you retry with the same UUID, the existing order is returned instead of creating a duplicate.

Corps de la requĂȘte

NomTypeObligatoireDescriptionExemple
order_idstring (UUID)OuiA unique UUID for this order (any format: v1, v4, v7, etc.). Used as an idempotency key.01912345-6789-7abc-8def-0123456789ab
sub_category_idnumberOuiThe product subcategory ID.999
quantitynumberOuiNumber of units to order (positive integer).1
requirementsobjectOuiPlayer delivery info. Include all fields returned by the Get Category Requirements endpoint.{"player_id": "123456789", "server": "Asia"}
expected_unit_pricestringNonPrice protection. If current price exceeds this value, the order is rejected.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

Get Order Status

Retrieve the current status and details of a specific order.

Limite de requĂȘtes3 req / 60s per user + orderId

ParamĂštres de chemin

NomTypeObligatoireDescriptionExemple
orderIdstring (UUID)OuiThe order ID to look up.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

Batch Get Orders

Retrieve multiple orders at once by their IDs. Maximum 50 order IDs per request.

Limite de requĂȘtes2 req / 60s per user

Corps de la requĂȘte

NomTypeObligatoireDescriptionExemple
order_idsstring[]OuiArray of order UUIDs (max 50).["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

List Orders

List your orders with pagination and optional filters by status and date range.

Limite de requĂȘtes2 req / 60s per user

ParamĂštres de requĂȘte

NomTypeObligatoireDescriptionExemple
pagenumberNonPage number (default: 1).1
limitnumberNonResults per page, 1-100 (default: 50).50
statusstringNonFilter by status: pending, completed, refunded, partial.completed
created_afterstring (ISO 8601)NonFilter orders created after this date.2024-01-01T00:00:00Z
created_beforestring (ISO 8601)NonFilter orders created before this 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.

RĂ©fĂ©rence API Commandes — CrĂ©er, consulter et lister