Что такое API мгновенной доставки?
API мгновенной доставки — это программный интерфейс, позволяющий вашему магазину или боту запросить цифровой код (подарочную карту, ваучер игрового пополнения) и автоматически получить его обратно в течение секунд — без какого-либо участия человека.
Для реселлеров цифровых товаров именно эта технология отделяет масштабируемый бизнес от ручных операций. Вместо того чтобы сотрудник искал коды и копировал их покупателям, весь процесс происходит автоматически за 2–5 секунд.
Как работает API FoxReload
FoxReload предоставляет REST API для B2B-реселлеров. API обеспечивает:
- Каталог продуктов и ценообразование
- Размещение заказов и доставку кодов
- Статус и историю заказов
- Баланс аккаунта
Аутентификация
Все запросы требуют API-ключа в заголовке Authorization:
Authorization: Bearer YOUR_API_KEY
API-ключи генерируются в личном кабинете FoxReload после регистрации.
Базовый URL
https://api.foxreload.com/v1/
Основные эндпоинты API
1. Получение каталога
Получите все доступные продукты с текущими ценами и статусом наличия.
GET /catalog
Response:
{
"products": [
{
"sku": "GPLAY_IN_100",
"name": "Google Play India ₹100",
"category": "gift-cards",
"price_usdt": 1.08,
"in_stock": true
},
{
"sku": "PUBG_UC_325",
"name": "PUBG Mobile 325 UC",
"category": "game-topups",
"price_usdt": 3.45,
"in_stock": true
}
]
}
Периодически вызывайте этот эндпоинт для обновления локального кэша продуктов и отображения актуального статуса наличия покупателям.
2. Размещение заказа
POST /order
Body: {
"sku": "GPLAY_IN_500",
"quantity": 1,
"reference": "your-order-id-123"
}
Response (success):
{
"order_id": "fr_ord_789",
"status": "delivered",
"code": "XXXX-XXXX-XXXX-XXXX",
"delivered_at": "2026-05-27T10:23:45Z"
}
Поле reference — ваш внутренний ID заказа. Включайте его, чтобы связывать заказы FoxReload с вашей собственной системой управления заказами.
3. Проверка статуса заказа
GET /order/{order_id}
Response:
{
"order_id": "fr_ord_789",
"sku": "GPLAY_IN_500",
"status": "delivered",
"code": "XXXX-XXXX-XXXX-XXXX",
"created_at": "2026-05-27T10:23:44Z",
"delivered_at": "2026-05-27T10:23:45Z"
}
Используйте для проверки статуса, если заказ не вернулся немедленно (редкий случай), или для истории заказов.
4. Баланс аккаунта
GET /account/balance
Response:
{
"balance_usdt": 145.23,
"currency": "USDT"
}
Используйте в мониторинге для оповещения при падении баланса ниже порогового значения.
Паттерны интеграции
Паттерн 1: Telegram-бот (Python)
import requests
from telegram import Update
from telegram.ext import ContextTypes
FOXRELOAD_API_KEY = "your_api_key"
FOXRELOAD_BASE = "https://api.foxreload.com/v1"
def order_code(sku: str, reference: str) -> dict:
response = requests.post(
f"{FOXRELOAD_BASE}/order",
json={"sku": sku, "quantity": 1, "reference": reference},
headers={"Authorization": f"Bearer {FOXRELOAD_API_KEY}"}
)
return response.json()
async def handle_payment_confirmed(update: Update, context: ContextTypes.DEFAULT_TYPE):
# Вызывается при подтверждении оплаты
sku = context.user_data["pending_sku"]
order_ref = f"tg_{update.effective_user.id}_{int(time.time())}"
result = order_code(sku, order_ref)
if result["status"] == "delivered":
await update.message.reply_text(
f"✅ Ваш код: `{result['code']}`\n"
f"Спасибо за покупку!"
)
else:
await update.message.reply_text(
"⚠️ Проблема с доставкой. Поддержка уведомлена."
)
Паттерн 2: Вебхук веб-магазина (Node.js)
// Вызывается вебхуком платёжного процессора при успешной оплате
app.post('/webhook/payment', async (req, res) => {
const { orderId, sku } = await verifyPaymentWebhook(req);
const foxResponse = await fetch('https://api.foxreload.com/v1/order', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.FOXRELOAD_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({ sku, quantity: 1, reference: orderId })
});
const { code, status } = await foxResponse.json();
if (status === 'delivered') {
await deliverCodeToCustomer(orderId, code);
}
res.json({ received: true });
});
Обработка ошибок
Реализуйте надёжную обработку ошибок для производственной надёжности:
| Код ошибки | Значение | Действие |
|---|---|---|
PRODUCT_OUT_OF_STOCK |
SKU недоступен | Предложите альтернативный номинал или уведомьте покупателя |
INSUFFICIENT_BALANCE |
Баланс USDT слишком низкий | Автооповещение о пополнении; приостановите заказы для этого SKU |
INVALID_SKU |
ID продукта не существует | Проверьте каталог на правильный идентификатор SKU |
RATE_LIMIT_EXCEEDED |
Слишком много запросов | Реализуйте повтор с экспоненциальной задержкой |
ORDER_FAILED |
Общий сбой доставки | Повторите одну попытку; при повторном сбое — эскалируйте в поддержку |
Всегда логируйте сырые ответы API для отладки. Включайте внутренний референс заказа во все API-вызовы для трассировки.
Лучшие практики надёжности
Идемпотентные заказы
Передавайте уникальный reference ID для каждого заказа. При таймауте запроса и повторной попытке FoxReload вернёт тот же код для того же референса, не списав с вас дважды.
Мониторинг баланса
Настройте оповещение при падении баланса USDT ниже порога (например, остаток $50). Автоматические заказы завершатся ошибкой при обнулении баланса — не допускайте этого в часы пик.
Мониторинг наличия
Периодически (каждые 15–30 минут) вызывайте эндпоинт каталога и обновляйте локальный статус наличия. Не отображайте продукты как доступные, если API FoxReload показывает их отсутствие на складе.
Обработка таймаутов
API-вызовы обычно возвращаются менее чем за 5 секунд. Установите таймаут запроса 15 секунд. При таймауте запроса:
- Подождите 10 секунд
- Проверьте статус заказа по референс-ID
- Если заказ доставлен — используйте код; если нет — повторите попытку
Тестирование интеграции
Перед запуском:
- Используйте sandbox-среду FoxReload для первоначального тестирования
- Разместите реальные заказы с небольшими номиналами для сквозной проверки
- Протестируйте сценарии ошибок: недостаточный баланс, SKU нет в наличии
- Проверьте скорость доставки с вашего серверного местоположения
- Протестируйте пути обработки ошибок
Смотрите также:
- Почему реселлерам нужен единый API для подарочных карт и игровых пополнений
- Как FoxReload помогает реселлерам продавать цифровые товары быстрее
- Почему реселлерам следует отказаться от ручной доставки кодов
Интегрируйте API мгновенной доставки FoxReload и начните выполнять заказы на цифровые товары за секунды. Зарегистрируйтесь для доступа к API.

