Эндпоинты заказов

Заказы создаются с UUID, который генерируете вы. Этот UUID и есть ключ идемпотентности: повтор с ним вернёт исходный заказ вместо второго списания. Статус потом читается по одному заказу, пакетами до пятидесяти или постраничным списком.

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.

Лимит запросов120 req / 60s per user

Примечание: The order_id is your idempotency key. If you retry with the same UUID, the existing order is returned instead of creating a duplicate.

Тело запроса

НазваниеТипОбязательныйОписаниеПример
order_idstring (UUID)ДаA unique UUID for this order (any format: v1, v4, v7, etc.). Used as an idempotency key.01912345-6789-7abc-8def-0123456789ab
sub_category_idnumberДаThe product subcategory ID.999
quantitynumberДаNumber of units to order (positive integer).1
requirementsobjectДаPlayer delivery info. Include all fields returned by the Get Category Requirements endpoint.{"player_id": "123456789", "server": "Asia"}
expected_unit_pricestringНетPrice protection. If current price exceeds this value, the order is rejected.0.950000
Запрос
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
}'
Пример ответа
{
  "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.

Лимит запросов3 req / 60s per user + orderId

Параметры пути

НазваниеТипОбязательныйОписаниеПример
orderIdstring (UUID)ДаThe order ID to look up.01912345-6789-7abc-8def-0123456789ab
Запрос
curl -s "https://shop2topup.com/api/endpoints/v1/orders/01912345-6789-7abc-8def-0123456789ab" \
  -H "Authorization: Bearer YOUR_KEY_ID.YOUR_KEY_SECRET"
Пример ответа
{
  "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.

Лимит запросов2 req / 60s per user

Тело запроса

НазваниеТипОбязательныйОписаниеПример
order_idsstring[]ДаArray of order UUIDs (max 50).["uuid-1", "uuid-2"]
Запрос
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"
  ]
}'
Пример ответа
{
  "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.

Лимит запросов2 req / 60s per user

Параметры строки запроса

НазваниеТипОбязательныйОписаниеПример
pagenumberНетPage number (default: 1).1
limitnumberНетResults per page, 1-100 (default: 50).50
statusstringНетFilter by status: pending, completed, refunded, partial.completed
created_afterstring (ISO 8601)НетFilter orders created after this date.2024-01-01T00:00:00Z
created_beforestring (ISO 8601)НетFilter orders created before this date.2024-12-31T23:59:59Z
Запрос
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"
Пример ответа
{
  "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
  }
}

Отправьте настоящий запрос прямо с этой страницы

Вставьте API-ключ, чтобы вызвать эти эндпоинты вживую. Ключ остаётся в этой вкладке браузера и отправляется только самому API.

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

Выберите эндпоинт

1
2
Order Details

Enter your API key above to try this endpoint.

Впервые на платформе? Начните с обзора API пополнения игр для реселлеров, а затем прочитайте обзор реселлерской программы SHOP2TOPUP, чтобы понять, как устроен партнёрский аккаунт.

Справочник API заказов — создание, статус, пакет, список