StarPrice

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_pricenumberЦена 50 Telegram Stars в рублях. Опустите, если не продаёте Stars.
premium_pricesobjectЦены Telegram Premium в рублях. Опустите, если не продаёте Premium.
premium_prices.3monthsnumberПодписка на 3 месяца. Необязательно.
premium_prices.6monthsnumberПодписка на 6 месяцев. Необязательно.
premium_prices.12monthsnumberПодписка на 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 — она покажет распознанные значения и предупреждения.