Быстрый старт: от пустого терминала до первого заказа
Пять вызовов. Первым двум не нужны никакие данные доступа — их можно выполнить прямо сейчас; последним трём нужен ключ 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 и позвольте вебхуку сообщить, когда заказ разрешится.
Что читать дальше
- Авторизация — типы ключей, 401 против 403, заголовки лимитов.
- Каталог — остальные эндпоинты, фильтры и что кэшировать.
- Типы доставки — какой
deliveryDataнужен товару, чтобы его можно было заказать. - Идемпотентность и ошибки — как повторить шаг 5 и не заплатить дважды.
Нужен ключ API?
Напишите, какие игры и регионы вы продаёте, — выдадим ключ и пройдём интеграцию вместе с вами. На вопросы по интеграции отвечают те же люди, которые ведут API.