API Riba.Click
Халяль REST API для сокращения ссылок. Два режима: v1 API через API ключ (для интеграций), и /api/ через сессионные куки (для веб-интерфейса).
Добавь заголовок X-API-Key: твой_ключ к каждому запросу. Ключ можно найти в профиле на сайте. Или передавай как query параметр: ?api_key=твой_ключ
Используется браузером автоматически. Для curl: -c cookies.txt -b cookies.txt
Лимиты применяются по API ключу. Превышение возвращает 429 Too Many Requests.
Чтобы получить лимит 20 req/s — задонать проекту.
Все ошибки возвращают JSON с полем error.
{"error": "Invalid or missing X-API-Key"}
Используй для интеграций, ботов, скриптов. Требует X-API-Key заголовок.
| Заголовок | Значение |
|---|---|
| X-API-Key | твой API ключ |
| Content-Type | application/json |
| Поле | Тип | Описание | |
|---|---|---|---|
| url | string | required | Длинная ссылка |
| custom | string | optional | Свой код (a-z, 0-9, -, _ макс 20) |
curl -X POST https://riba.click/v1/shorten \
-H "X-API-Key: riba_твой_ключ" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/long", "custom": "ex"}'
{"short": "https://riba.click/ex", "code": "ex"}
| Параметр | Тип | Описание | |
|---|---|---|---|
| limit | int | optional | Макс кол-во (default 50, max 200) |
curl https://riba.click/v1/links?limit=10 \
-H "X-API-Key: riba_твой_ключ"
[
{
"code": "ex",
"original": "https://example.com/long",
"short": "https://riba.click/ex",
"clicks": 42,
"created_at": "2025-03-18T10:00:00Z"
}
]
curl https://riba.click/v1/links/ex \
-H "X-API-Key: riba_твой_ключ"
{"code": "ex", "original": "https://...", "short": "https://riba.click/ex", "clicks": 42, "created_at": "..."}
curl -X DELETE https://riba.click/v1/links/ex \
-H "X-API-Key: riba_твой_ключ"
{"ok": true}
{
"total_links": 5,
"total_clicks": 123,
"top_links": [
{"code": "ex", "original": "https://...", "clicks": 99}
]
}
{
"id": 1,
"email": "вася@mail.ru",
"is_donor": false,
"link_limit": 50,
"links_used": 12,
"rate_limit": "5/s"
}
Для браузерного использования. Требует cookie сессию.
Gmail не принимается. Отправляет код подтверждения на email.
| Поле | Тип | Описание | |
|---|---|---|---|
| string | required | Email (не gmail) | |
| password | string | required | Мин. 6 символов |
| ref | string | optional | Реф код |
{"ok": true, "message": "Код отправлен на почту"}
| Поле | Тип | Описание | |
|---|---|---|---|
| string | required | ||
| code | string | required | 6-значный код из письма |
{"ok": true, "email": "...", "is_admin": false}
curl -X POST https://riba.click/api/login \
-c cookies.txt -b cookies.txt \
-H "Content-Type: application/json" \
-d '{"email": "вася@mail.ru", "password": "халяль123"}'
{"ok": true}
{
"user": {
"id": 1, "email": "вася@mail.ru",
"is_admin": false, "is_donor": false,
"api_key": "riba_...",
"ref_code": "abc123",
"link_limit": 50, "ref_count": 2
}
}
| Поле | Тип | Описание | |
|---|---|---|---|
| url | string | required | Длинная ссылка |
| custom | string | optional | Свой код |
{"short": "https://riba.click/abc123", "code": "abc123"}
Обычный юзер видит свои. Админ видит все + поле owner.
{"ok": true}
Адмін дополнительно получает total_users.
| Поле | Тип | Описание | |
|---|---|---|---|
| amount | number | required | Сумма в USD (мин $1) |
| name | string | optional | Имя донатера |
| message | string | optional | Сообщение |
{"url": "https://oxapay.com/pay/..."}
После успешной оплаты OxaPay отправит webhook на /api/donate/webhook и аккаунт получит статус донатера.
Код должен содержать только [a-zA-Z0-9_-], иначе 404. Клик инкрементирует счётчик.