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

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

POST

/orders/create

Создание заказа

Создаёт новый заказ. Для идемпотентности обязательно передай уникальный UUID в order_id. Деньги спишутся с кошелька сразу.

Лимит запросов5000 запросов / 60 с на аккаунт

Примечание: order_id служит ключом идемпотентности. Повторишь запрос с тем же UUID, и вернётся уже созданный заказ, а дубль не появится.

Тело запроса

НазваниеТипОбязательныйОписаниеПример
order_idstring (UUID)ДаУникальный UUID заказа (подойдёт любой формат: v1, v4, v7 и т. д.). Работает как ключ идемпотентности.01912345-6789-7abc-8def-0123456789ab
sub_category_idnumberДаID подкатегории товара.999
quantitynumberДаСколько единиц заказать (целое положительное число).1
requirementsobjectДаДанные игрока для выдачи заказа. Передай все поля, которые вернул эндпоинт «Требования категории».{"player_id": "123456789", "server": "Asia"}
expected_unit_pricestringНетЗащита от изменения цены. Если текущая цена выше этого значения, заказ отклоняется.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

Статус заказа

Возвращает текущий статус и детали конкретного заказа.

Лимит запросов3 запроса / 60 с на аккаунт + order_id

Примечание: Статус заказа: pending, completed, refunded или partial (partial значит, что часть единиц доставлена, а за остальные оформлен возврат). Для каждой единицы поле sub_transactions[].status принимает значение pending, completed или refunded; единица остаётся в pending, пока её не доставят или не оформят возврат. Поле sub_transactions[].id содержит порядковый номер единицы в заказе (1…n), а не id в базе данных. Устаревшие поля retry_count и max_retries, если встречаются, всегда равны 0.

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

НазваниеТипОбязательныйОписаниеПример
orderIdstring (UUID)ДаID заказа, который нужно найти.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

Пакетный запрос заказов

Возвращает сразу несколько заказов по их ID. В одном запросе не больше 50 ID.

Лимит запросов2 запроса / 60 с на аккаунт

Тело запроса

НазваниеТипОбязательныйОписаниеПример
order_idsstring[]ДаМассив UUID заказов (не больше 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

Список заказов

Выводит твои заказы постранично, с необязательными фильтрами по статусу и диапазону дат.

Лимит запросов2 запроса / 60 с на аккаунт

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

НазваниеТипОбязательныйОписаниеПример
pagenumberНетНомер страницы (по умолчанию: 1).1
limitnumberНетРезультатов на странице, 1-100 (по умолчанию: 50).50
statusstringНетФильтрует список заказов по статусу. Допустимые значения параметра: pending, completed, refunded, partial.completed
created_afterstring (ISO 8601)НетТолько заказы, созданные после этой даты.2024-01-01T00:00:00Z
created_beforestring (ISO 8601)НетТолько заказы, созданные до этой даты.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 заказов — создание, статус, пакет, список