rdurl API

Создавайте и управляйте короткими ссылками с помощью кода

Общая информация об API

  • Для всех запросов требуется токен API. См. раздел «Аутентификация».
  • Базовый эндпоинт: https://rdurl.link/api
  • Поддерживается только HTTPS.
  • Все эндпоинты возвращают JSON-объект.
  • Запросы отправляются в формате JSON (Content-Type: application/json).
  • Все поля времени и временные метки указаны в миллисекундах.
  • Вся кодировка символов — UTF-8.

Аутентификация

API использует токен, чтобы определить, какому аккаунту принадлежит запрос. Токен эквивалентен паролю аккаунта: любой, у кого он есть, может создавать и удалять ваши ссылки.

Шаг 1. Выдайте токен

Войдите в дашборд и выдайте токен в меню «Токен API». При каждой выдаче создаётся новый токен, и посмотреть его можно только один раз.

Шаг 2. Добавьте токен к запросу

Выберите один из двух способов ниже.

1. Authorization: Bearer (рекомендуется)

Стандартный способ аутентификации большинства публичных API.

curl https://rdurl.link/api/link/create   -H "Authorization: Bearer rd_YOUR_TOKEN"   -H "Content-Type: application/json"   -d '{ "url": "https://example.com/very/long/url" }'

2. x-api-key заголовок

Удобен для инструментов, которые не поддерживают заголовок Authorization.

curl https://rdurl.link/api/link/create   -H "x-api-key: rd_YOUR_TOKEN"   -H "Content-Type: application/json"   -d '{ "url": "https://example.com/very/long/url" }'

Шаг 3. Проверьте токен

Выполните команду ниже. Если вернётся ваш список ссылок, токен работает.

curl https://rdurl.link/api/link/list \
  -H "Authorization: Bearer rd_YOUR_TOKEN"

Управление токенами

Токен состоит из rd_ и 32 шестнадцатеричных символов. Его можно посмотреть только один раз при выдаче — храните в безопасности. При подозрении на утечку немедленно отзовите токен в дашборде: он перестанет работать сразу.

Эндпоинты

POST /api/link/create

Создаёт короткую ссылку. Отправьте URL — получите slug и короткую ссылку.

Параметры

  • urlURL для сокращения (обязательно)
  • titleЗаголовок ссылки (необязательно, до 100 символов)
  • folderПапка ссылки (необязательно, до 100 символов — фильтр списка по папке)
  • domainКастомный домен (необязательно, напр., example.com)

Запрос

{ "url": "https://example.com/very/long/url" }

Ответ

{
  "success": true,
  "message": {
    "slug": "abc123",
    "short": "https://rdurl.link/abc123",
    "domain_no": 0,
    "domain": ""
  }
}
GET /api/link/list

Получает список ваших ссылок постранично, 20 на страницу. Поддерживаются поиск и фильтр по домену.

Параметры

  • pageНомер страницы (по умолчанию 1)
  • domainКастомный домен (необязательно, напр., example.com)
  • searchКлючевое слово (частичное совпадение slug/URL)
  • folderПапка ссылки (необязательно, до 100 символов — фильтр списка по папке)

Запрос

GET /api/link/list?page=1&domain=example.com&search=keyword

Ответ

{
  "success": true,
  "message": {
    "total": 42,
    "page": 1,
    "list": [
      {
        "slug": "abc123",
        "url": "https://example.com/very/long/url",
        "short": "https://rdurl.link/abc123",
        "clicks": 128,
        "tm": 1789379625000
      }
    ]
  }
}
GET /api/link/info

Получает детали и количество кликов по одной ссылке.

Параметры

  • slugslug (обязательно)
  • domainКастомный домен (необязательно, напр., example.com)

Запрос

GET /api/link/info?slug=abc123

Ответ

{
  "success": true,
  "message": {
    "slug": "abc123",
    "url": "https://example.com/very/long/url",
    "short": "https://rdurl.link/abc123",
    "clicks": 128,
    "tm": 1789379625000
  }
}
GET /api/link/stats

Статистика кликов по ссылке — всего, за сегодня и топ-10 стран.

Параметры

  • slugslug (обязательно)
  • domainКастомный домен (необязательно, напр., example.com)

Запрос

GET /api/link/stats?slug=abc123

Ответ

{
  "success": true,
  "message": {
    "clicks": 128,
    "clicksToday": 5,
    "countries": [
      { "country": "KR", "clicks": 80 },
      { "country": "US", "clicks": 30 }
    ]
  }
}
DELETE /api/link

Удаляет ссылку. Глобальные ссылки можно восстановить в течение 30 дней; ссылки на кастомном домене удаляются сразу.

Параметры

  • slugslug (обязательно)
  • domainКастомный домен (необязательно, напр., example.com)

Запрос

DELETE /api/link
{ "slug": "abc123" }

Ответ

{ "success": true }

Ограничения

До 10 запросов в минуту с одного IP и 1 000 ссылок в день на аккаунт. При превышении возвращается 429.

Коды ошибок

При ошибке в ответе возвращается success: false и код ошибки.

{ "success": false, "message": "api_invalid_token" }
codestatusЗначение
api_invalid_token401Токен отсутствует или недействителен
link_invalid_url400Некорректный URL (только http/https)
link_invalid_slug400Некорректный формат slug
link_not_found400Ссылка не найдена
domain_not_found400Кастомный домен не найден
link_own_domain400Нельзя укорачивать собственный домен
link_create_failed400Не удалось создать ссылку
link_rate_limit429Превышен лимит запросов
koenjazh-TWzh-CNviesptfrru