API цен: документация
Чтобы цены вашего магазина отображались в каталоге, сделайте на своём сайте один публичный роут, отдающий JSON. Мы опрашиваем его каждый час.
Формат ответа
GET https://your-shop.example/api/starprice
Content-Type: application/json
{
"star_price": 85,
"premium_prices": {
"3months": 1240,
"6months": 1690,
"12months": 2990
}
}| Поле | Тип | Описание |
|---|---|---|
star_price | number | Цена 50 Telegram Stars в рублях. Опустите, если не продаёте Stars. |
premium_prices | object | Цены Telegram Premium в рублях. Опустите, если не продаёте Premium. |
premium_prices.3months | number | Подписка на 3 месяца. Необязательно. |
premium_prices.6months | number | Подписка на 6 месяцев. Необязательно. |
premium_prices.12months | number | Подписка на 12 месяцев. Необязательно. |
Требования
- Только HTTPS. HTTP-адреса не принимаются.
- Статус ответа
200, заголовокContent-Type: application/json. - Время ответа не более 5 секунд, размер до 64 КБ.
- Цены — числа (не строки), положительные, в рублях. Допустимы дробные:
84.5. - Хотя бы одно из полей
star_price/premium_pricesдолжно присутствовать. - Эндпоинт должен быть доступен без авторизации. Если хотите ограничить доступ — фильтруйте по User-Agent
StarPriceBot/1.0.
Примеры
Только Stars
{ "star_price": 79.9 }Только Premium, без подписки на 6 месяцев
{ "premium_prices": { "3months": 1090, "12months": 2590 } }Node.js / Express
app.get("/api/starprice", (req, res) => {
res.json({
star_price: getStarPrice() * 50, // если у вас цена за 1 звезду
premium_prices: { "3months": 1240, "6months": 1690, "12months": 2990 },
});
});PHP
<?php
header('Content-Type: application/json');
echo json_encode([
'star_price' => 85,
'premium_prices' => ['3months' => 1240, '6months' => 1690, '12months' => 2990],
]);Как мы обрабатываем цены
- Каждый успешный опрос сохраняется в историю — она видна на странице магазина в виде графика.
- Если новая цена отличается от предыдущей более чем на 40%, она помечается как подозрительная и не публикуется до проверки модератором. Это защита от ошибок в вашем API.
- После 3 неудачных опросов подряд магазин получает пометку «цены устарели», а вы — уведомление на email.
- В кабинете доступен лог последних опросов с текстом ошибок.
Частые ошибки
- Цена за 1 звезду вместо 50. Если
star_priceменьше 20 ₽, проверка предупредит вас. - Строки вместо чисел:
"85"вместо85. - Цены в другой валюте. Конвертируйте в рубли на своей стороне.
- Редирект на HTTP или на страницу логина.
Проверить свой эндпоинт можно кнопкой «Проверить API» в кабинете на шаге 3 — она покажет распознанные значения и предупреждения.