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

Ленты Новостей

Список лент

{
 "action" : "lenta.list" 
}

ответ

{
 "list" : [
            {
             "id" : номер ленты

            ,"name" : название ленты

            ,"issued" : "дата-время последнего использования в рассылках" -- Ys

  -- если лента привязана к подписчику

            ,"member" : "получатель" 
            }

           ...........

          ]
}

Прочитать ленту

{
 "action" : "lenta.get" 

."id" : номер ленты
}

ответ

{
 "obj" : {
          "id" : номер ленты

         ,"name" : название ленты

         ,"issued" : "дата-время последнего использования в рассылках" -- Ys

         ,"source" : [ -- информация об RSS/Atom каналах входящих в ленту

                       {
                        "url" : "адрес канала" 
                       ,"dt.fetched" : "YYYY-MM-DD hh:mm:ss" -- дата последнего чтения канала
                       ,"dt.updated" : "YYYY-MM-DD hh:mm:ss" -- дата последнего пополнения новостей из канала
                       ,"error" : {
                                   "count": количество ошибок работы с каналом
                                  ,"dt"   : "YYYY-MM-DD hh:mm:ss" - дата последней ошибки
                                  ,"str"  : описание последней ошибки
                                  }

                       }
                       ...
                     ]

    -- если лента привязана к подписчику

         ,"member" : "адрес получателя" 

         ,"decor"  : "идентификатор" -- идентификатор информационного письма или черновика выпуска который
                                     -- будет использоваться при выпуске накопившихся новостей

         -- расписание выпусков
         ,"schedule" : {
                        -- часы по которым высылать письма
                        "hour" : [ час, час, ... ]

                        -- номера дней недели по которым высылать письма
                        -- от 1 (Пн) до 7 (Вс)
                       ,"weekday" : [ номер, номер, ... ]
                       }
         }
}

Создать/изменить ленту

Создает ленту (при отсутствии id) или изменяет некоторые её параметры.

{
 "action" : "lenta.set" 

 ,"obj" : {

       "name" : "название ленты" 

      ,"member" : "адрес получателя" -- только при создании. изменить нельзя

-- для лент привязанных к получателю

      ,"decor"  : "идентификатор информационного письма или черновика выпуска" 

      -- расписание выпусков
      -- если параметр полностью отсутствует, то с 8 по 18 с понедельника по пятницу
      ,"schedule" : {
                     -- часы по которым высылать письма. если не указано, то с 8 по 18
                     "hour" : [ час, час, ... ]

                     -- номера дней недели по которым высылать письма, если не указано, то с Пн по Пт
                     -- от 1 (Пн) до 7 (Вс)
                    ,"weekday" : [ номер, номер, ... ]
                    }

   }

-- необязательные

 ,"id" : номер ленты

 ,"return_fresh_obj" : "нужно вернуть данные объекта -- да, нет ( 1 | 0 )" 

}

ответ

{

 <общие поля>

 ,"id" : номер ленты

 ,obj  { ... } -- объект в формате lenta.get если "return_fresh_obj" : 1

}

Удаление ленты

{

  "action" : "lenta.delete" 

  ,"id" : номер ленты

}

ответ

{

 <общие поля>

}

Добавление источника в ленту

{

  "action" : "lenta.source.add" 

  ,"lenta.id" : номер ленты

  ,"url" : "адрес источника добавляемого в ленту" 

}

ответ

{

 <общие поля>

}

Удаление источника из ленты

{

  "action" : "lenta.source.delete" 

  ,"lenta.id" : номер ленты

  ,"url" : "адрес источника удаляемого из ленты" 

}

ответ

{

 <общие поля>

}

Обновление источника

Указанный источник опрашивается вне расписания в поиске свежих новостей.

Если с момента прошлой проверки (плановой и этим вызовом) прошло меньше 15 минут, то опрос произведён не будет и количество свежих новостей будет возвращено как -1.

{

  "action" : "lenta.source.refresh" 

 ,"url" : "адрес обновляемого источника" 

}

ответ

{

 <общие поля>

,"news" : "количество найденных свежих новостей" 

}

Тестовый выпуск ленты

Вызов отправляет тестовое письмо с указанным количеством последних новостей ленты на указанный адрес (а не на адрес для которого создана лента).

В отличии от реального выпуска, отосланные новости не отмечаются как использованные и потом будут в итоге использованы при реальной отсылке.

Если количество последних новостей указано, то отметка их использования в предыдущих выпусках игнорируется.

Вызов предназначен только для тестирования шаблона оформления указанной ленты, чему помогает возможность явно указать нужное количество новостей, а не ждать пока свежие новости появятся в ленте.

Если в итоге новостей нет, то письмо не отправляется

Для тестирования выпуска рассылки с лентой есть альтернативные вариант - тестовый выпуск через issue.send

{
 "action" : "lenta.send" 

."id" : номер ленты

,"email" : адрес для отсылки тестового письма

,"n" : количество последних новостей для теста
       -- если не указано, то используются все ещё не отосланные новости (их может не быть)

,"decor" : "черновик" -- если лента привязана к подписчику, то можно не указывать - будет взят черновик указанный в ленте
                      -- если лента не привязана к подписчику, то черновик указать необходимо
}

ответ

{
 "news" : "количество новостей попавших в письмо" 

 < параметры ответа issue.send если письмо было выслано >
}