Лента новостей
Лента новостей — это набор сообщений из одного или нескольких источников, которые можно добавить в email-рассылку. Используя ленту, можно «подписать» пользователя на интересующую его информацию: обновления, актуальные события или важные новости.
Вот как лента новостей может выглядеть в письме:
Перед использованием ленты новостей , чтобы проверить настройки аккаунта.
Ленту новостей можно добавить в рассылку двумя способами:
- заранее создать ленту и наполнить источниками через API-консоль, после чего добавить в письмо командой подстановки;
- добавить ленту сразу в письмо, указав в ней ссылку на источник новостей.
Актуальные новости лента будет получать из источников, которые к ней подключены, например, из RSS-каналов. Вы можете подключить к ленте свой RSS или любое количество общедоступных каналов с информацией, которую хотите использовать в рассылке.
Источники новостей можно комбинировать по-разному и составлять из них ленты под конкретные задачи:
- общие для всех получателей рассылки, например, с еженедельным дайджестом;
- индивидуальные для подписчика, с новостями только по интересующим источникам.
Рассмотрим на примере, когда необходимо регулярно рассылать подписчикам новости о биржевых котировках. В качестве источников в лентах новостей используются RSS-каналы с данными Московской, Санкт-Петербургской, Лондонской, Токийской, Гонконгской и Нью-Йоркской бирж. Но пользователи хотят получать только ту информацию, которая их интересует.
На сайте это может выглядеть как механизм подписок с выбором источников, где информация разбита на отдельные RSS-каналы:
В Sendsay можно реализовать подписку на ленты новостей, которые будут использовать разные комбинации источников, например:
- общая рассылка:
- еженедельный дайджест со всех источников;
- индивидуальные рассылки для тех, кто хочет получать только конкретные новости:
- об обновлениях с российских бирж;
- с азиатских бирж;
- только с Лондонской биржи.
Как добавить в письмо ленту новостей
1. Создайте ленту
Чтобы создать ленту новостей, перейдите в API-консоль и выполните запрос:
- Общая рассылка
- Индивидуальная рассылка
{
"action": "lenta.set",
"obj": {
"name": "название ленты"
}
}
В эту ленту новостей будут включены все доступные источники. Её будем использовать для рассылки еженедельного дайджеста.
Ленту новостей можно привязать к подписчику и использовать для создания индивидуальных писем с новостями. В примере — ленты с конкретными запросами: российские биржи, азиатские биржи, Лондонская биржа. Подписчикам автоматически будут отправляться письма с новой информацией из этих каналов.
Для каждой комбинации каналов из примера нужно создать отдельную ленту
{
"action": "lenta.set",
"obj": {
"name": "название ленты",
"member": "адрес получателя", //указывается только при создании, нельзя изменить;
"decor": "id шаблона с лентой новостей",
//параметры расписания выпусков
"schedule": {
"hour": ["час", "час"], //часы, по которым высылать письма
"weekday": ["номер дня недели","номер дня недели"] //номера дней недели, по которым высылать письма, от 1 (Пн.) до 7 (Вс.)
}
}
}
В запросе важно заполнить несколько дополнительных параметров:
member
— этим параметром лента будет привязана к адресу получателя.decor
— id шаблона с лентой новостей, который будет использоваться для создания письма. Шаблон необходимо создать заранее.schedule
— расписание, по которому будут отправляться письма, если источники новостей обновились.
Если параметр schedule
не указан — письма будут отправляться по расписанию: с 8:00 до 18:00, пн. — пт., один раз в 1–2 часа, по мере того как обновляются новости в источнике.
Письмо, в которое добавлена такая лента, будет формироваться по заданному в ленте расписанию, с оформлением по указанному шаблону. В рассылку попадут только те новости, которые накопились в источниках с момента прошлой рассылки. Если свежих новостей в источни ках не окажется — письмо высылаться не будет.
При создании система присваивает каждой ленте новостей уникальный id, по которому к ней можно будет обращаться в следующих запросах.
Чтобы увидеть список всех созданных лент новостей и их id, перейдите в API-консоль и выполните запрос:
{
"action": "lenta.list"
}
2. Добавьте в ленту источники новостей
В качестве источников новостей в ленте используются ссылки на RSS-каналы.
Структура описания источников новостей
Лента новостей использует теги из подключённых RSS-каналов для описания получаемой информации. Если необходимых тегов в источниках нет — лента не сможет собрать с них информацию и окажется пустой.
Если вы настраиваете свой канал для подключения в качестве источника, убедитесь, что в его структуре есть один или несколько из этих тегов:
"title" : "название источника",
"descr" : "описание источника",
"link" : "ссылка на обычную версию источника",
"logo" : "ссылка на логотип источника",
"author" : "информация об авторе",
"copyright" : "информация об авторских правах"
Каждая новость в подключённом источнике также должна содержать необходимые параметры:
"title" : "название источника",
"content" : "содержимое новости" //тег <description> или <yandex:full-text>, должен быть обязательно,
"link" : "ссылка на обычную версию новости",
"dt" : "YYYY-MM-DD hh:mm:ss" //дата публикации новости (тег <pubDate> или <dc:creator>, должен быть обязательно),
"id" : "идентификатор новости" //тег <guid>, должен быть обязательно,
"author" : "информация об авторе новости",
"category" : {
"домен" : {
"категория" : "метка"
,....
}
,...
},
"enclosure" : [ //приложения к новости на основании тегов <enclosure> и <media:thumbnail>
{
"url" : "ссылка"
,"type" : "mime-type"
,"length" : "длина"
}
,....
],
"ymd" : "YYYY-MM-DD",
"hm" : "hh:mm»
Чтобы добавить источник в ленту новостей, перейдите в API-консоль и выполните запрос:
{
"action": "lenta.source.add",
"lenta.id": id ленты,
"url": "адрес источника новостей"
}
Одна лента може т включать в себя любое количество источников, а один источник может входить в несколько разных лент.
У всех источников из нашего примера есть свой RSS-канал: каждый из них нужно подключить к лентам новой командой. Для пользователей, которые хотят получать информацию обо всех изменениях на биржах, нужно создать ленту с еженедельным дайджестом и добавить в неё все доступные источники. Для пользователей, которых интересуют обновления на конкретных биржах, нужно создать индивидуальные ленты и добавить в них только те источники, которые нужны в конкретном случае.
Все новости из источников собираются в общую базу, так что один источник может использоваться в нескольких лентах. Если новость уже использована в одной ленте, это не повлияет на её актуальность в другой — новость останется свежей и попадёт в рассылку.
Система периодически проверяет обновления во всех источниках настроенных лент. Ещё используемые в рассылке источники проверяются в момент выпуска, но не чаще одного раза в 15 минут.
Старые новости удаляются из базы через 15 дней после их получения.
3. Добавьте ленту в письма
Лента новостей хранит отметку времени своего последнего использования в рассылке. В письма, где используется эта лента, включаются только новости, которые были получены после такой отметки. Благодаря этому подписчики не получают одну и ту же новость несколько раз.
Одну ленту новостей можно использовать в письме неоднократно. Например: сформировать «меню» из заголовков новостей, а в другом месте письма вывести полный текст новости. В одном выпуске можно использовать сразу несколько разных лент.
Чтобы добавить новостную ленту в рассылку, используйте функции lenta_get
или news_get
. Они могут работать как с уже созданной лентой, так и напрямую с каналом новостей:
- функция
lenta_get
структурирует новости, описывая их содержание и источники, получая информацию из RSS-канала. Чтобы показать новости в письме, нужно использовать команду шаблониза тора [% FOREACH %] — это позволит оформить внешний вид новостей в ленте самым гибким образом. - Функция
news_get
не структурирует новости, а просто выводит текст из поляcontent
всех подключённых источников. Это может быть удобно, если вы используйте свой RSS-канал, структуру которого уже оформили нужным вам образом.
- Функция lenta_get
- Функция news_get
Разместите функцию [% lenta_get(id ленты) %]
в том месте письма, где будет находиться лента. Этой командой лента подключается к письму, а при отправке команда преобразуется в ленту новостей.
Используйте в команде id
той ленты, которую хотите добавить в письмо.
Чтобы отобразить новости подключённой ленты в нужном вам виде, добавьте следом одну из команд шаблонизатора PROScript.
Для подключения нескольких л ент в одном письме каждую из них нужно вызвать отдельной командой подстановки в том месте, где вы хотите выводить её новости.
Разместите функцию [% news_get(id ленты) %]
в том месте письма, где будет находиться лента. Этой командой лента подключается к письму, а при отправке она преобразуется в ленту новостей.
Используйте в команде id
той ленты, которую хотите добавить в письмо.
Для подключения нескольких лент в одном письме каждую из них нужно вызвать отдельной командой подстановки в том месте, где вы хотите выводить её новости.
Предпросмотр шаблона письма с подключенной лентой новостей работает в предыдущем интерфейсе.
4. Протестируйте рассылку (опционально)
Чтобы убедиться, что лента новостей в письме выглядит именно так, как вы задумали, отправьте себе тестовую копию. Для этого перейдите в API-консоль и выполните запрос:
{
"action": "lenta.send",
"id": "id ленты",
"email": "адрес",
"decor": "id шаблона", //можно не указывать, если лента привязана к подписчику; если лента не привязана к подписчику, то id шаблона необходимо указать
"n": "кол-во новостей для теста"
}
В email
укажите адрес, на который отправится тестовая копия. При этом новости сохранят свою актуальность и не будут отмечены как использованные в реальной рассылке.
Запросы для удаления лент, удаления источников новостей из лент и другие команды можно посмотреть в Sendsay API.
Как добавить в письмо ленту новостей с указанием URL источника
Добавить ленту новостей с указанием URL источника нельзя для выпусков транзакционных писем.
Другой способ добавления ленты новостей в письмо — использовать команду подстановки с указанием прямого источника новостей. Создавать ленту через API-консоль предварительно не нужно. Вместо id
заранее созданной ленты в команде указывается URL-адрес источника.
Добавленная таким образом лента формируется «на лету», а система не фиксирует метку времени последнего использования. В такой ленте будут выводиться все новости, которые есть в источнике.
Чтобы добавить в рассылку ленту новостей с указанием URL источника:
1. Добавьте ленту в письмо
Добавить в рассылку ленту с указанием источника можно, используя одну из функций шаблонизатора: lenta_get
или news_get
. Они отличаются тем, в каком виде получают контент из подключённых источников. Это влияет на возможность настройки отображения новостей в письме.
- Функция lenta_get
- Функция news_get
Функция lenta_get
структурирует новости, описывая их содержание и источники, получая информацию из RSS-канала.
Чтобы добавить в письмо ленту со ссылкой на источник, используйте команду [% lenta_get(URL) %]
. Разместите команду в том месте, где хотите выводить ленту.
На месте URL
в команде укажите ссылку на RSS-канал источника новостей.
Чтобы отобразить новости подключённой ленты в нужном вам виде, добавьте следом одну из команд шаблонизатора PROScript.
Для подключения нескольких лент в одном письме каждую из них нужно вызвать отдельной командой подстановки в том месте, где вы хотите выводить её новости.
Функция news_get
не структурирует новости, а просто выводит текст из поля content
всех подключённых источников. Это может быть удобно, если вы используйте свой RSS-канал, структуру которого уже оформили нужным вам образом.
Разместите функцию [% news_get(URL) %]
в том месте письма, где будет находиться лента. Этой командой лента подключается к письму.
На месте URL
в команде укажите ссылку на RSS-канал источника новостей.
Новости будут выглядеть так, как они представлены в поле content
подключённого источника.
2. Протестируйте рассылку (опционально)
Чтобы отправить тестовую копию письма, нажмите стандартную кнопку в редакторе выпуска.
Как отправить тестовую копию письма
Созданные и наполненные ленты новостей можно добавить в автоматическую рассылку, чтобы пользователи регулярно получали информацию по установленному расписанию.