Datanar

Datanar API документация


Redirect - Создание


POST >> https://datanar.ru/api/v1/redirects/

Основной маршрут API - создание перенаправления. Если не использовать токен, можно просто создать перенаправление и кастомную ссылку при желании. С токеном перенаправление будет сохранено в профиле пользователя, а также можно устанавливать дополнительные атрибуты при создании перенаправления

Параметры запроса:

Имя атрибута Расположение Тип Обязательность Описание
token body string Нет Токен для взаимодействия с расширенным API
long_link body string Да Конечный ресурс, до которого будет вести короткая ссылка
short_link body string Нет Кастомный url-адрес
password body string Нет
Доступно с токеном
Пароль, который будет запрашиваться перед перенаправлением
validity_days body integer Нет
Доступно с токеном
Сколько дней будет валидна ссылка перед её деактивацией
validity_clicks body integer Нет
Доступно с токеном
Сколько переходов можно совершить по ссылке перед её деактивацией

Параметры ответа:

Имя атрибута Расположение Тип Обязательность Описание
id body integer Нет
Доступно с токеном
ИД перенаправления
long_link body string Да Длинная ссылка
short_link body string Да Короткая ссылка
password body string Да Пароль
validity_days body integer Да Срок годности
validity_clicks body integer Да Валидное количество переходов
created_at body datetime Да Время создания
create_method body string
{WEB, API, WEB+FILE}
Нет
Доступно с токеном
Метод, которым перенаправление было создано
is_active body bool Нет
Доступно с токеном
Активно ли сейчас перенаправление
deactivated_at body datetime Нет
Доступно с токеном
Время деактивации

Коды ответа:

Код Описание
201 Created (успешно созданное перенаправление)
400 Bad Request (отсутствует обязательное поле)
401 Unauthorized (нет токена для атрибутов, которые требуют это)
409 Conflict (этот кастомный url-адрес уже используется)
423 Locked (этот url заблокирован)

Пример отправленного запроса:

{
  "long_link": "https://github.com/Gray-Advantage/Datanar-Django",
  "short_link": "datanar"
}
{
  "token": "a0b1c2d3e4f5g6h7i8j9k0l1m2n3o4p5q6r7s8t9u",
  "long_link": "https://github.com/Gray-Advantage/Datanar-Django",
  "password": "best_link_shorter",
  "validity_days": 10,
  "validity_clicks": 1000
}

Пример полученного ответа:

{
  "id": 1337,
  "long_link": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
  "short_link": "joke",
  "password": null,
  "validity_days": 90,
  "validity_clicks": null,
  "created_at": "2024-01-15T06:19:57.336000Z",
  "create_method": "API",
  "is_active": true,
  "deactivated_at": null
}

Пример кода на Python:

import requests
from pprint import pprint

# Просто напоминаем, что пароли лучше хранить в отдельном файле
auth = requests.post(
    "https://datanar.ru/api/v1/api-token-auth/",
    data={
        "username": "user",
        "password": "very1secret3password!",
    }
)

create_request = requests.post(
    "https://datanar.ru/api/v1/redirects/",
    data={
        "token": auth.json()["token"],
        "long_link": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
    }
)

pprint(create_request.json())