Соглашения API
Правила, общие для всех эндпоинтов: структура URL, обёртка ответа, символы, единицы измерения, метки времени, пагинация и кеширование.
Базовый URL и версионирование
Все эндпоинты расположены под одним базовым URL и вызываются методом GET по HTTPS. Текущие пути относятся к версии v1. В рамках v1 изменения только расширяют API: поля и эндпоинты могут добавляться, а существующие поля сохраняют имя, тип и смысл. Изменение, нарушающее совместимость, выйдет под новым путём и будет заранее объявлено в журнале изменений.
https://www.coinboss.com/apiОбёртка ответа
В каждом JSON-ответе на верхнем уровне есть флаг success. Эндпоинты собственного слоя данных (пути под /api/sd) дополнительно содержат одинаковые блоки:
| Поле | Описание |
|---|---|
| success | true, если вызов выполнен. Проверяйте его всегда. |
| schema | Идентификатор и мажорная версия структуры ответа. |
| now | Время сервера в момент формирования ответа, в миллисекундах. |
| coverage | Какие биржи учтены, какие недоступны и почему, какие исключены как устаревшие. |
| method | Формула или правило расчёта каждого агрегата в ответе. |
| meta | Источники, метки времени, окно, оценка качества, флаг устаревания, время жизни кеша и поведение при откате на резервное значение. |
Более старые эндпоинты возвращают success и поле data и могут не содержать coverage, method и meta. Точный состав полей описан на их страницах справочника.
Монеты, контракты и биржи
- Параметры coin принимают базовый символ в верхнем регистре, например BTC или PEPE.
- Контракты с множителем, такие как 1000PEPE или kPEPE, объединяются с базовой монетой с пересчётом количества.
- Идентификаторы бирж пишутся в нижнем регистре, например binance, okx, bybit, hyperliquid.
- Символы контрактов возвращаются в том виде, в каком их именует биржа. Там, где эндпоинт объединяет контракты с маржой в USDT, USDC и в монете и срочные фьючерсы, их различает поле типа контракта.
- Бессрочные контракты на токенизированные акции и сырьевые товары, тикер которых совпадает с криптоактивом, исключаются из криптоагрегатов.
Единицы измерения
- Поля с окончанием _usd содержат номинальную стоимость в долларах США.
- Ставки финансирования выражены долями, а не процентами: 0.0001 означает 0.01%. Поля с окончанием _8h приведены к 8-часовому интервалу; исходный интервал возвращается рядом с исходной ставкой.
- Поля с окончанием _pct содержат проценты: 1.5 означает 1.5%.
- Открытый интерес — это номинальная стоимость в USD с односторонним учётом, если в описании поля не указано иное. Биржи, публикующие значения с двусторонним учётом, отмечены в блоке method.
- Некоторые унаследованные эндпоинты возвращают десятичные числа строками, чтобы сохранить точность. В таблице полей такой тип указан как string(decimal).
Метки времени
- Метки времени — это миллисекунды эпохи Unix в UTC, если в описании поля не указано иное.
- observed_at — собственная метка времени биржи для самой новой из учтённых записей либо null, если биржа её не предоставляет.
- received_at — момент, когда коллектор CoinBoss сохранил эту запись.
- fetched_at — момент формирования ответа. У кешированного ответа он может быть раньше времени вашего вызова на величину до TTL кеша.
- Дневные ряды используют границы суток по UTC.
Окна и интервалы
- Параметры окна задаются короткими обозначениями: 1h, 4h, 12h, 24h, а на некоторых эндпоинтах также 3d, 7d, 30d, 90d. Допустимые значения для каждого эндпоинта перечислены на странице справочника.
- Неизвестное значение окна либо отклоняется с кодом INVALID_PARAM, либо заменяется документированным значением по умолчанию — как указано для конкретного параметра.
- Шаг временного ряда зависит от окна и указан на странице справочника.
Пагинация и сортировка
- Списочные эндпоинты используют limit и offset либо page и size — как описано для каждого эндпоинта. Значения ограничены сверху: значение больше максимума уменьшается до максимума.
- Если в ответе есть total, это число строк до пагинации.
- Порядок сортировки фиксирован, если для эндпоинта не документирован параметр sort.
Null, ноль и отсутствие поля
- null означает, что значение неизвестно или недоступно. 0 означает измеренный ноль.
- На графиках для null должен отображаться разрыв. Не интерполируйте.
- Поле с пометкой «может отсутствовать» в таблице полей может полностью отсутствовать в объекте; обрабатывайте это так же, как null.
Кеширование
- У каждого эндпоинта есть TTL серверного кеша; он указан на странице справочника и в поле meta.cache_ttl_s. Заголовок X-Cache сообщает HIT, STALE или MISS.
- Перед большинством GET-эндпоинтов работает короткий пограничный кеш примерно на десять секунд.
- Опрос чаще TTL возвращает идентичные данные и лишь расходует лимит запросов.
WebSocket
wss://www.coinboss.com/ws- Поток передаёт JSON только в одну сторону — от сервера. В каждом сообщении есть поле type.
- После разрыва соединения переподключайтесь с задержкой и восполняйте пропуск через соответствующий HTTP-эндпоинт.
Машиночитаемая документация
Каталог, параметры и таблица полей каждого эндпоинта, статус и матрица качества доступны в формате JSON по путям под /api/meta, а весь каталог — также в виде документа OpenAPI 3.