Перейти к содержанию

Ссылки

Новые ссылки и группы ссылок появляются с системе автоматически 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" : ....
             }

}

Прочитать ссылку

{

  ,"action" : "link.get" 

  ,"id"     : идентификатор ссылки
}

ответ

{

   <общие поля>

  "obj" : {

     "id" : идентификатор ссылки

    ,"url"   : "url ссылки" 

    ,"reltype" : ......

    ,"relref" : ......
  }

}

Создание ссылки

Ссылки не уникальны. С одним и тем же url может быть несколько ссылок с разным id.

{
   "action" : "link.create" 

  ,"url"    : "url ссылки" 

  ,"test"   : 0|1  -- проверять запросом доступность ссылки

  ,"reltype" : число -- не обязательно, по умолчанию 0
                     -- отрицательные значения зарезервированы для системы
                     -- в данный момент:
                     --  -1 - ссылка из выпуска рассылки
                     --  -2 - ссылка - целевая страница достигнутая подписчиком

  ,"relref" : число  -- не обязательно, по умолчанию 0
}

ответ

{

   <общие поля>

 "id" : идентификатор ссылки

}

Изменение ссылок

При изменении нескольких ссылоквсеизменения будут проигнорированы если проверка (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.delete" 

  ,"id"     : идентификатор ссылки
}

ответ

{

   <общие поля>

}

Изменить участие ссылки в группах ссылок

{

   "action" : "link.set.group" 

  ,"id"     : идентификатор ссылки

  ,"group"  : { -- участие в не указанных группах не изменяется

                 id1 : 0|1 -- 0 - удалить из группы. 1 -добавить в группу

                ,id2 : 0|1

                ,id3 : 0|1

                ...

               }

}

ответ

{

   <общие поля>

}