Документация

Быстрый старт: от пустого терминала до первого заказа

Пять вызовов. Первым двум не нужны никакие данные доступа — их можно выполнить прямо сейчас; последним трём нужен ключ API, который мы выдаём при подключении. Все команды ниже реально выполнены против боевого API перед публикацией этой страницы. Ответы без авторизации взяты из настоящих, сокращены в них только длинные массивы и только там, где об этом сказано в тексте; ответы с ключом показывают настоящую форму данных, а идентификаторы и ключи в них заменены на примеры.

Что понадобится

  • Терминал с curl.
  • Базовый URL: https://api.gamecore-api.tech.
  • Для шагов с 3 по 5 — ваш X-Api-Key. Ключи выдаются при подключении, а не через форму регистрации: напишите нам, и мы заведём аккаунт, баланс и тариф.

За этими эндпоинтами нет sandbox. Шаг 5 создаёт настоящий заказ и списывает настоящие деньги с баланса — прочитайте его до того, как выполните.

Шаг 1 — жив ли сервис

Эндпоинт здоровья публичный и ключа не требует. Именно его стоит взять целью для вашего мониторинга доступности.

curl -s https://api.gamecore-api.tech/health
{ "status": "ok" }

Шаг 2 — насколько велик каталог

Тоже публичный. Живые агрегаты по всей платформе: удобно проверить связь ещё до получения ключа и вывести строку «N игр, M номиналов» у себя на сайте.

curl -s https://api.gamecore-api.tech/platform/stats
{
"success": true,
"data": {
"games": 5311,
"skus": 21834,
"topGames": [
{ "slug": "the-legend-of-neverland", "name": "The Legend of Neverland", "skuCount": 609, "category": "points-currencies" },
{ "slug": "free-fire", "name": "Free Fire", "skuCount": 252, "category": "points-currencies" }
],
"gateways": 6,
"endpoints": "80+",
"locales": 5,
"generatedAt": "2026-08-18T09:20:11.482Z"
}
}

Сокращён здесь только topGames: в настоящем ответе до 16 записей, отсортированных по числу номиналов, а у некатегоризованной игры category придёт null. Остальные четыре поля есть всегда: gateways, endpoints и locales — это статические факты о платформе, а не агрегаты каталога, а generatedAt — момент расчёта агрегата, который может отставать на час, потому что ответ кэшируется именно на это время.

Шаг 3 — авторизация

Всё под /b2b/ требует заголовок X-Api-Key. Сначала отправьте запрос без него — чтобы точно знать, как отсутствующий ключ выглядит в ваших логах:

curl -s -i "https://api.gamecore-api.tech/b2b/catalog/games?limit=3"
HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=utf-8

{"error":"Unauthorized","message":"Invalid or missing API key"}

Неверный ключ даёт ровно такой же 401 — эти два случая намеренно неразличимы. Теперь с заголовком:

curl -s "https://api.gamecore-api.tech/b2b/catalog/games?limit=3" \
-H "X-Api-Key: $GAMECORE_KEY"
{
"success": true,
"data": [
{ "id": 4412, "slug": "pubg-mobile", "name": "PUBG Mobile", "icon": "https://…", "type": "game", "productCount": 84 }
],
"pagination": { "page": 1, "limit": 3, "total": 1893 }
}

total — это число игр, которые видит именно ваш аккаунт и у которых сейчас есть товар, поэтому оно обычно меньше платформенного числа из шага 2: в нём уже учтены ваши регионы, ваш шлюз поставщика и скрытые товары.

Если пришёл 403 с текстом "This endpoint is only available for B2B API partners" — ключ верный, но аккаунт за ним не является оптовым; напишите нам, поправим. Оба кода разобраны на странице Авторизация.

Шаг 4 — выбрать товар

Товары принадлежат игре. Запросите товары одной игры, при желании сузив по типу доставки:

curl -s "https://api.gamecore-api.tech/b2b/catalog/games/pubg-mobile/products?deliveryType=id_only" \
-H "X-Api-Key: $GAMECORE_KEY"
{
"success": true,
"data": [
{
"id": 34521,
"name": "PUBG Mobile 660 UC",
"slug": "pubg-mobile-660-uc",
"wholesalePrice": 1064.5,
"currency": "RUB",
"deliveryType": "id_only",
"region": "global",
"platform": null,
"amountType": { "type": "fixed", "value": 660 },
"inStock": true,
"deliveryDataSchema": [
{ "id": "gameUserId", "type": "text", "label": "Player ID", "required": true }
]
}
]
}

Две вещи из этого ответа не берутся больше нигде:

  • id — единственный стабильный идентификатор. Храните его, а не название и не цену.
  • deliveryDataSchema — поля, которые нужны этому товару. Ключи, которые вы положите в deliveryData, — это id каждой записи, а не label.

Цены двигаются вместе с курсом, поэтому перед оформлением перечитывайте товар: GET /b2b/catalog/products/34521 возвращает тот же объект для одного SKU.

Шаг 5 — создать заказ

Этот вызов тратит деньги. Заголовок X-Idempotency-Key обязателен — запрос без него получит 400, — и именно он делает повтор после таймаута безопасным.

curl -s -X POST https://api.gamecore-api.tech/b2b/orders \
-H "X-Api-Key: $GAMECORE_KEY" \
-H "X-Idempotency-Key: 7f3c1a9e-2b44-4d1a-9d4e-1c0f9a2b3c4d" \
-H "Content-Type: application/json" \
-d '{
"items": [
{ "productId": 34521, "quantity": 1, "deliveryData": { "gameUserId": "5123456789" } }
],
"externalOrderId": "MP-98765",
"callbackUrl": "https://api.yourshop.com/webhooks/gamecore"
}'
{
"success": true,
"data": {
"paymentCode": "P-AB12CD",
"totalAmount": 1064.5,
"orders": [
{ "code": "ash-XY7K3M", "gameId": "pubg-mobile", "gameName": "PUBG Mobile", "total": 1064.5, "itemCount": 1 }
]
}
}

orders — массив, потому что позиции группируются по игре поставщика и по самому поставщику: один запрос может создать несколько заказов, у каждого свой код, — и одна каталожная игра тоже может, если её SKU приходят из нескольких источников. Сохраняйте каждый code — дальше всё делается через него.

Теперь прочитайте заказ обратно:

curl -s https://api.gamecore-api.tech/b2b/orders/ash-XY7K3M \
-H "X-Api-Key: $GAMECORE_KEY"
{
"success": true,
"data": {
"code": "ash-XY7K3M",
"externalOrderId": "MP-98765",
"status": "processing",
"totalAmount": 1064.5,
"items": [
{ "productName": "PUBG Mobile 660 UC", "amount": 1, "price": 1064.5, "status": "pending", "cdKeys": [] }
]
}
}

processing — нормальный ответ через несколько секунд после создания. Не опрашивайте этот эндпоинт в плотном цикле: укажите callbackUrl и позвольте вебхуку сообщить, когда заказ разрешится.

Что читать дальше

Обновлено 18 августа 2026 г.

Смотрите также: Поставка по API · Цены и тарифы

Нужен ключ API?

Напишите, какие игры и регионы вы продаёте, — выдадим ключ и пройдём интеграцию вместе с вами. На вопросы по интеграции отвечают те же люди, которые ведут API.