Datanar

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


Redirect - Получение


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

Получить все перенаправления

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

Имя атрибута Расположение Тип Обязательность Описание
token body string Да Токен для взаимодействия с расширенным API

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

Имя атрибута Расположение Тип Обязательность Описание
body array Да Список перенаправлений
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 Да Время деактивации

Коды ответа:

Код Описание
200 OK (успешно полученный список перенаправлений)
400 Bad Request (отсутствует обязательное поле)
401 Unauthorized (нет токена для атрибутов, которые требуют это)

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

{
  "token": "a0b1c2d3e4f5g6h7i8j9k0l1m2n3o4p5q6r7s8t9u"
}

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

[
  {
    "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
  },
  {
    "id": 1340,
    "long_link": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
    "short_link": "double-joke",
    "password": null,
    "validity_days": 90,
    "validity_clicks": null,
    "created_at": "2024-01-15T08:19:57.336000Z",
    "create_method": "WEB",
    "is_active": true,
    "deactivated_at": null
  }
]

GET >> https://datanar.ru/api/v1/redirects/{id}/

Получить перенаправление по ИД

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

Имя атрибута Расположение Тип Обязательность Описание
token body string Да Токен для взаимодействия с расширенным API
id path 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 Да Время деактивации

Коды ответа:

Код Описание
200 OK (успешно полученное перенаправление)
400 Bad Request (отсутствует обязательное поле)
401 Unauthorized (нет токена для атрибутов, которые требуют это)
404 Not Found (ИД перенаправления некорректен)

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

GET >> "<...>/redirects/34/"
{
  "token": "a0b1c2d3e4f5g6h7i8j9k0l1m2n3o4p5q6r7s8t9u"
}

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

{
  "id": 34,
  "long_link": "https://www.python.org/",
  "short_link": "fL9LW",
  "password": null,
  "validity_days": null,
  "validity_clicks": null,
  "created_at": "2024-08-18T11:50:56.185692Z",
  "create_method": "WEB+FILE",
  "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!",
    }
)

# Получить все перенаправления
my_redirects = requests.get(
    "https://datanar.ru/api/v1/redirects/",
    data={
        "token": auth.json()["token"]
    }
)
pprint(my_redirects.json())

# Получить перенаправление по ИД
last_redirect = requests.get(
    f"https://datanar.ru/api/v1/redirects/{my_redirects.json()[-1]['id']}/",
    data={
        "token": auth.json()["token"],
    }
)

print("-----")
pprint(last_redirect.json())