Документация REST API

1. Введение

Данный API предоставляет доступ к управлению URL-адресами и их перенаправлениями. Для работы с API необходимо получить auth ключ в личном кабинете.

2. Базовые эндпоинты

2.1. Управление URL

Базовый URL: /v1/url

Метод URL Описание
GET /v1/url Получение списка URL
GET /v1/url/{code} Получение информации о конкретном URL
POST /v1/url Создание нового URL
DELETE /v1/url/{code} Удаление URL

3. Коды ответов

3.1. Успешные коды

  • 200 (STATUS_OK) - Успешное выполнение запроса
  • 201 (STATUS_CREATED) - Ресурс успешно создан
  • 204 (STATUS_NO_CONTENT) - Запрос выполнен успешно, но ответ отсутствует

3.2. Ошибки клиента

  • 400 (STATUS_BAD_REQUEST) - Неверный запрос
  • 403 (STATUS_FORBIDDEN) - Запрещено
  • 404 (STATUS_NOT_FOUND) - Ресурс не найден
  • 429 (STATUS_TOO_MANY_REQUESTS) - Превышено количество запросов

3.3. Ошибки сервера

  • 500 (STATUS_INTERNAL_SERVER_ERROR) - Внутренняя ошибка сервера
  • 503 (STATUS_SERVICE_UNAVAILABLE) - Сервис временно недоступен

4. Примеры запросов

4.1. Получение списка URL

curl -X GET https://api.noo.su/v1/url \
 -H 'Authorization: Bearer your_auth_token'

4.2. Создание нового URL

curl -X POST https://api.noo.su/v1/url \
 -H 'Authorization: Bearer your_auth_token' \
 -H 'Content-Type: application/json' \
 -d '{
 "url": "https://example.com",
 "isImmortal": 1, // если 1 ссылка бесмертна если 0 то нет
 }'

4.3. Получение информации о конкретном URL

curl -X GET https://api.noo.su/v1/url/abc123 \
 -H 'Authorization: Bearer your_auth_token'

4.4. Удаление URL

curl -X DELETE https://api.noo.su/v1/url/abc123 \
 -H 'Authorization: Bearer your_auth_token'

5. Формат ответов

5.1. Успешный ответ

{
 "status": "success",
 "data": {
 "id": 123,
 "original_url": "https://example.com",
 "short_url": "https://api.noo.su/abc123",
 "created_at": "2025-01-01 00:00:00"
 }
 }

5.2. Ответ с ошибкой

{
 "status": "error",
 "error": {
 "code": 404,
 "message": "URL not found"
 }
 }

6. Примечания

  • Все даты возвращаются в формате ISO 8601
  • Для всех запросов требуется заголовок Authorization с токеном доступа
  • Поддерживается только HTTPS протокол