Публичное API Namerate
Публичное API Namerate позволяет получить оценку никнейма в $NMRT, используя ту же логику, что и в мини‑приложении.
- Базовый URL (прод):
https://namerate.tech - Префикс версии API:
/api/v1 - Аутентификация: API‑ключ (заголовок или query параметр)
Быстрый старт
- Откройте мини‑приложение Namerate → раздел B2B → создайте API‑ключ.
- Сохраните ключ. Полностью он показывается только один раз — при создании.
- Вызовите эндпоинт:
curl -X POST \
-H "X-API-Key: nmrt-***your_key***" \
-H "Content-Type: application/json" \
-d '{"name":"testuser"}' \
https://namerate.tech/api/v1/public/rate
Эндпоинты
Оценка никнейма
- POST
https://namerate.tech/api/v1/public/rate - GET
https://namerate.tech/api/v1/public/rate?api_key=<key>&name=<nickname>
Аутентификация через ваш API‑ключ:
- Предпочтительно: заголовок
X-API-Key: <key> - Альтернатива: query
api_key=<key>
Требования к никнейму:
- Длина: 5–32 символа
- Допустимые символы: A–Z, a–z, 0–9,
_(нижнее подчёркивание) - При нарушении валидации —
400 Bad Request
Запрос
=== "POST (рекомендуется)"
curl -X POST \
-H "X-API-Key: nmrt-******your_key******" \
-H "Content-Type: application/json" \
-d '{"name":"testuser"}' \
https://namerate.tech/api/v1/public/rate
POST /api/v1/public/rate HTTP/1.1
Host: namerate.tech
Content-Type: application/json
X-API-Key: nmrt-******your_key******
{
"name": "testuser"
}
=== "GET"
curl "https://namerate.tech/api/v1/public/rate?api_key=nmrt-******your_key******&name=testuser"
Ответ
{
"name": "testuser",
"rate": 965
}
Ошибки
| HTTP | Код | Когда |
|---|---|---|
| 400 | invalid name: 5-32 chars, only A-Z a-z 0-9 _ allowed | Ошибка валидации |
| 400 | name is required | Пустой/отсутствует name |
| 401 | unauthorized | Отсутствует/неверный API‑ключ |
| 429 | rate limit exceeded | Превышен дневной лимит (если включён) |
| 500 | internal | Внутренняя ошибка |
Аутентификация
Передавай ключ одним из способов:
- Заголовок (рекомендуется):
X-API-Key: nmrt-... - Query:
?api_key=nmrt-...
Видимость ключа
Полный API‑ключ виден только один раз — в момент создания/ротации — в разделе B2B мини‑приложения.
Далее он отображается в маске (например, nmrt-d44b…e43b). Сохраните ключ в надёжном месте при первом показе.
Формат ключа:
- Всегда начинается с
nmrt- - Пример полного ключа:
nmrt-7c1ba0a8c2…(случайная строка, похожая на SHA)
Лимиты и тарификация
- Каждый успешный вызов списывает $NMRT с вашего аккаунта.
- Возможны дневные лимиты на ключ (только при private usage, при превышении —
429 Too Many Requests). - Для повышения лимитов/кастомной тарификации — свяжитесь с поддержкой.
Текущий план и расход
- При достижении дневного лимита будет
429. - Сумму трат можно увидеть в мини‑приложении в разделе B2B (“Spent”).
Правила валидации
- Никнейм обрезается по краям (trim) и должен удовлетворять регекспу:
^[A-Za-z0-9_]{5,32}$ - Примеры:
- Валидно:
test_user_01,Alice_123,abcde - Невалидно:
ab(коротко),this_name_is_way_too_long_over_32(длинно),abra-cadabra(дефис недопустим)
Ответ при невалидном нике:
{
"error": "invalid name: 5-32 chars, only A-Z a-z 0-9 _ allowed"
}
Примеры
cURL
# POST
curl -X POST \
-H "X-API-Key: nmrt-******your_key******" \
-H "Content-Type: application/json" \
-d '{"name":"alice_123"}' \
https://namerate.tech/api/v1/public/rate
JavaScript (fetch)
const API_URL = 'https://namerate.tech/api/v1/public/rate';
const API_KEY = 'nmrt-******your_key******';
async function rateName(name) {
const res = await fetch(API_URL, {
method: 'POST',
headers: {
'X-API-Key': API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({ name }),
});
if (!res.ok) {
const err = await res.json().catch(() => ({}));
throw new Error(err.error || `HTTP ${res.status}`);
}
return res.json();
}
rateName('alice_123')
.then(console.log)
.catch(console.error);
Python (requests)
import requests
API_URL = 'https://namerate.tech/api/v1/public/rate'
API_KEY = 'nmrt-******your_key******'
resp = requests.post(
API_URL,
headers={'X-API-Key': API_KEY, 'Content-Type': 'application/json'},
json={'name': 'alice_123'}
)
if resp.ok:
print(resp.json())
else:
print('Error', resp.status_code, resp.json())
Схема ответа
{
"name": "string", // проверенный никнейм
"rate": 965 // целочисленная оценка в $NMRT
}
Схема ошибки:
{ "error": "string" }
Рекомендации
- Предпочтительнее
POSTи заголовокX-API-Keyвместо query. - Валидируйте ник на клиенте той же регуляркой, чтобы не делать лишних запросов.
- Обрабатывайте
429(повтор позже/снизить частоту). - Кешируйте популярные результаты, если это допустимо.
- Храните ключ в секьюр‑хранилище (не коммитьте в репо, не встраивайте в публичные клиенты).
Changelog
- 2025‑10: Запуск публичного API; B2B‑управление ключами; маскировка ключей; валидация никнеймов.
- Дальше: новые эндпоинты, пагинация, webhooks — без ломания совместимости.
Контакты и поддержка
- В приложении: раздел B2B — управление ключом и просмотр расходов.
- Поддержка: через меню в мини‑приложении или ваш контакт у Namerate.