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

Отправляйте Stars, Premium и подарки со своего сайта или бота. Все запросы — POST с JSON. Если тело не нужно, отправляйте {}.

BASE URL
https://neogo.uz/api/v1

Аутентификация
X-API-Key: KEY — ключ — в личном кабинете (API ключ)

Формат ответа

{ "ok": true,  "message": "...", "result": { } }
{ "ok": false, "message": "...", "code": "INSUFFICIENT_BALANCE" }

Опирайтесь на поле code, а не message. Цены и баланс — в сумах (UZS).

Эндпоинты

ПутьТелоОписание
POST /wallet/balance{}Ваш баланс
POST /getInfo{"username":"durov"}Данные пользователя
POST /stars/pricing{"amount":500}Цена Stars
POST /premium/pricing{}Цены на 3, 6, 12 месяцев
POST /stars/buy{"username":"durov","amount":100}Отправка Stars (50–100 000)
POST /premium/buy{"username":"durov","months":3}Подарить Premium (3, 6, 12)
POST /gifts/list{}Список подарков и цены
POST /gifts/buy{"username":"durov","gift_id":1}Отправка подарка (gift_id из списка)
POST /order/status{"order_id":15}Статус заказа: done, failed, review

Примеры

curl -X POST 'https://neogo.uz/api/v1/stars/buy' \
  -H 'Content-Type: application/json' -H 'X-API-Key: KEY' \
  -d '{"username":"durov","amount":100}'
<?php
$ch = curl_init('https://neogo.uz/api/v1/stars/buy');
curl_setopt_array($ch, [CURLOPT_POST=>1, CURLOPT_RETURNTRANSFER=>1,
  CURLOPT_HTTPHEADER=>['Content-Type: application/json','X-API-Key: KEY'],
  CURLOPT_POSTFIELDS=>json_encode(['username'=>'durov','amount'=>100])]);
$r = json_decode(curl_exec($ch), true);
import requests
r = requests.post("https://neogo.uz/api/v1/stars/buy", headers={"X-API-Key": "KEY"},
                  json={"username": "durov", "amount": 100}, timeout=120).json()

Коды ошибок

КодHTTPЗначение
VALIDATION_ERROR400/401/404/405Неверное поле или ключ. Не повторяйте без изменений.
INSUFFICIENT_BALANCE400Недостаточно средств.
MAINTENANCE400Технические работы.
PRICE_ERROR400Цена недоступна, попробуйте позже.
GIFT_UNAVAILABLE400Подарок недоступен.
SERVICE_UNAVAILABLE503Сервис временно недоступен. Деньги возвращаются автоматически.
REVIEW502Результат неясен. Не повторяйте — проверьте /order/status.

Правила

Покупка списывается с баланса, при явной ошибке деньги возвращаются. Сохраняйте order_id. При REVIEW не повторяйте запрос — проверьте через /order/status. Язык сообщений: Accept-Language (uz, ru, en).