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())