API
API к своим ресурсам: цена, продажа, выдача файла.
Базовый URL
https://api.sourcecore.net/v1Обзор
Успех: { code, data, requestId }. Ошибка: { code, message?, field?, details?, requestId }.
{
"code": "OK",
"data": { … },
"requestId": "…"
}Авторизация
Ключ: Authorization: Bearer … или X-Api-Key. Создаётся в профиле → API, показывается один раз.
Authorization: Bearer sc_ab12cd34_…
X-Api-Key: sc_ab12cd34_…Сессия сайта на /v1 не работает. Нужен API-ключ.
В БД только хеш. Ключ — только свои ресурсы. Опционально: allowlist topic id. Утёк — отзови.
Права ключа
resources:readЧтение ресурсовСписок и цена ваших ресурсов.resources:pricingЦена и продажаМенять цену, скидку, ссылку и статус продажи.resources:accessДоступ покупателейВыдавать и отзывать право скачивать файл.
Эндпоинты
GET
/v1любой ключВерсия и лимиты
curl https://api.sourcecore.net/v1 \
-H "Authorization: Bearer sc_ab12cd34_<your_secret>"{
"code": "OK",
"data": {
"version": "1",
"basePath": "/v1",
"docs": "/api",
"scopes": [
"resources:read",
"resources:pricing",
"resources:access"
],
"rateLimit": {
"readPerMinute": 120,
"writePerMinute": 30
}
},
"requestId": "req_01HZEXAMPLE"
}Лимиты
Свыше лимита — 429 RATE_LIMITED. Смотри заголовки RateLimit-*.
- Чтение120 / min
- Запись30 / min
- Страница спискаlimit ≤ 100
Ошибки
Ошибки в том же JSON. В ответе есть requestId.
{
"code": "ACCESS_DENIED",
"field": "scope",
"message": "Access denied",
"requestId": "…"
}| Код | HTTP | Описание |
|---|---|---|
TOKEN_REQUIRED | 401 | Ключ не передан |
INVALID_TOKEN | 401 | Ключ неверный, отозван или истёк |
ACCESS_DENIED | 403 | Нет scope или ресурс чужой |
VALIDATION_ERROR | 400 | Неверное тело или параметры |
NOT_FOUND | 404 | Ресурс или пользователь не найден |
RATE_LIMITED | 429 | Слишком много запросов |
UNAVAILABLE | 503 | Сервис временно недоступен |