Ссылки¶
Новые ссылки и группы ссылок появляются с системе автоматически c каждым новым выпуском issue.send в зависимости от настроек relink и relink.param.
Если в выпуске есть ссылки для отслеживания переходов, то, при необходимости, создаются соответствующие им объекты "ссылка".
Поддерживаются пользовательские метки reltype/relref (смотрите описание в Общих Замечаниях)
Список ссылок¶
{
,"action" : "link.list"
,"filter" : { -- не обязательно
"group" : "идентификатор группы" -- не обязательно
-- при наличии ограничивает список только ссылками указанной группы
,"group.reltype" : число -- не обязательно
-- при наличии ограничивает список только ссылками групп с указанным reltype
,"group.relref" : число -- не обязательно
-- при наличии ограничивает список только ссылками групп с указанным relref
,"reltype" : число -- не обязательно
-- при наличии ограничивает список только ссылками с указанным reltype
,"relref" : число -- не обязательно
-- при наличии ограничивает список только ссылками с указанным relref
}
}
ответ
{
<общие поля>
,"list" : [
{
"id" : идентификатор ссылки
,"url" : "url ссылки"
,"group" : [
{
"id" : идентификатор группы ссылок
,"name" : "название группы ссылок"
}
...
]
}
...
]
,"group" : { -- присутствует в ответе, только если в запросе был указан идентификатор группы
"id" : "идентификатор группы"
,"name" : "название группы"
,"reltype" : ....
,"relref" : ....
}
}
Прочитать ссылку¶
ответ
{
<общие поля>
"obj" : {
"id" : идентификатор ссылки
,"url" : "url ссылки"
,"reltype" : ......
,"relref" : ......
}
}
Создание ссылки¶
Ссылки не уникальны. С одним и тем же url может быть несколько ссылок с разным id.
{
"action" : "link.create"
,"url" : "url ссылки"
,"test" : 0|1 -- проверять запросом доступность ссылки
,"reltype" : число -- не обязательно, по умолчанию 0
-- отрицательные значения зарезервированы для системы
-- в данный момент:
-- -1 - ссылка из выпуска рассылки
-- -2 - ссылка - целевая страница достигнутая подписчиком
,"relref" : число -- не обязательно, по умолчанию 0
}
ответ
Изменение ссылок¶
При изменении нескольких ссылоквсеизменения будут проигнорированы если проверка (GET)хоть однойссылки для которой указано 1 вернёт HTTP код ответа не 2xxx и не 301, 302, 303, 307, 308, 401
При положительных ответах 3хх дальнейшая проверка по пути редиректа не производится.
{
"action" : "link.set"
-- не указанные поля остаются не изменёнными. test учитывается только при наличии url
или одна ссылка
,"id" : идентификатор ссылки
,"url" : "новое значение"
,"test" : "1/0 - проверять доступность ссылки"
,"name" : "новое название группы"
,"reltype" : "новое значение"
,"relref" : "новое значение"
или несколько ссылок
,"list" : [
{
"id" : ....
,"url" : ....
,"test" : ....
,"reltype" : ....
,"relref" : ....
}
..
]
}
ответ
{
<общие поля>
}
Удаление ссылки¶
ответ
Изменить участие ссылки в группах ссылок¶
{
"action" : "link.set.group"
,"id" : идентификатор ссылки
,"group" : { -- участие в не указанных группах не изменяется
id1 : 0|1 -- 0 - удалить из группы. 1 -добавить в группу
,id2 : 0|1
,id3 : 0|1
...
}
}
ответ