Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "action" : "issue.send" или "issue.send.test",
- "name" : "Название выпуска", -- не обязательно, при отсутствии используется тема письма или имя отправителя sms
- -- из-за особенностей учёта выходов транзакционных писем personal данный параметр
- -- для них будет работать не так как ожидается и в, целом, бесполезен
- "label" : "метка" или [ "метка1", "метка2".. ], -- набор произвольных меток выпуска позволяющих фильтровать/классифицировать
- -- от 0 до 8 строк не длиннее 128 символов
- -- необязательно
- * параметры содержимого выпуска. Для Транзакционных писем - только указание черновика и прикреплённых файлов.
- "letter" : {
- *** для sms
- * содержимое сообщения
- или указание параметров
- "from.name" : "Имя отправителя" -- обязителен и имя отправителя должно быть в списке уже промодерированных имён (вызовы issue.smssender.*)
- ,"message": {
- "sms" : "sms cообщение"
- }
- или черновик из которого их взять. приоритет описан выше.
- "draft.id": "номер черновика содержимое которого даст выпуск" -- должен иметь sms-версию
- *** для viber
- * содержимое сообщения
- или указание параметров
- "button.url" : "ссылка с кнопки" -- обязательно если нужна кнопка после сообщения
- ,"button.text" : "надпись на кнопке" -- не обязательно, по умолчанию "Узнать"
- ,"message": {
- "viber" : "viber cообщение" -- текст без форматирования
- }
- ,"attaches": [ -- не обязательно, одна и только одна ссылка на возможную картинку отображаемую между текстом и кнопкой
- -- при выпуске по черновику, прикрепляемые файлы из черновика добавляются к указанным в списке
- -- если одноимённый файл или ccылка тут отсутствуют
- { "url" : "Внешниение ссылки http / https / ftp / ftps / sftp" },
- -- или
- { "url" : "персонализованный url - для каждого свой" }, -- подробнее в разделе "Персонализация выпуска"
- или черновик из которого их взять. приоритет описан выше.
- "draft.id": "номер черновика содержимое которого даст выпуск" -- должен иметь viber-версию
- *** для push в браузеры
- * содержимое сообщения
- или указание параметров
- "subject" : "тема" -- обязательно
- ,"click.url" : "ссылка для клика"
- ,"message": {
- "push" : "текст cообщения" -- текст, возможно с переводами строк
- }
- ,"icon.url" : "ссылка на иконку" -- https://, обычно 192х192.
- ,"image.url" : "ссылка на картинку" -- https://
- или черновик из которого их взять. приоритет описан выше.
- "draft.id": "номер черновика содержимое которого даст выпуск" -- должен иметь push-версию
- *** для email
- * содержимое письма
- или указание параметров (дополнительно смотрите параметр letter.zip ниже
- "subject" : "Тема письма" -- обязательно не пусто
- ,"from.name" : "Имя отправителя"
- ,"from.email" : "Адрес отправителя (email)" -- обязательно не пустой для текстовых писем; адрес должен быть в списке уже подтверждённых адресов (вызовы issue.emailsender.*)
- --
- -- Использование в качестве адреса отправителя адреса принадлежащие Почте Mail.ru (mail.ru, bk.ru, inboc.ru, list.ru, mail.ua) - запрещено настройками Mail.Ru
- -- Рассылка с таким адресом не выйдет. Черновик - не сохранится.
- ---Более подробную информацию вы можете прочитать по адресу https://corp.mail.ru/ru/press/releases/9593/
- ,"reply.name" : "Имя для обратного адреса для ответа"
- ,"reply.email" : "Обратный адрес для ответа (email)" -- адрес должен быть в списке уже подтверждённых адресов (вызовы issue.emailsender.*)
- -- возможен учёт и статистика ответов получателей
- -- для этого необходимо активировать через Службу Поддержки настройку "Перехват ответов на письма выпуска"
- -- статистика доступна через deliv.replyed.* вызова stat.uni
- ,"to.name" : "Имя получателя" -- в этом поле уместна персонализация для подстановки имени и фамилии получателя
- ,"message": { -- одна или обе не пустые версии письма
- "html" : "html-версия письма"
- ,"text" : "текстовая версия письма"
- }
- или черновик из которого их взять. приоритет описан выше.
- "draft.id": "номер черновика содержимое которого даст выпуск", -- должен иметь html и/или текстовую версию
- * генерация текстовой версии из html
- -- при отсутствии текстовой версии и включённой её автоматической генерации из html-версии письма создаётся текстовая версия
- -- поддерживаются базовые виды выделения текста. таблицы не поддерживаются по умолчанию, но это можно обсудить со Службой Поддержки
- "autotext" : "0|1|ширина" -- 0 - отключено (по умолчанию)
- -- 1 - включено, ширина строки 80 символов
- -- ширина - включено, ширина строки - как указано
- * прикреплённые файлы письма
- -- по умолчанию, mime-тип файла определяется по расширению
- -- по умолчанию, кодировкой текстовых файлов text/* считается utf-8
- -- следующие имена файлов зарезервированы для внутренних нужд и не должны использоваться
- --
- -- все начинающиеся с _
- --
- -- message.text
- -- message.sms
- -- message.viber
- -- message.push
- --
- -- index.html
- -- index.htm
- -- index.shtml
- -- index.shtm
- --
- -- attach.html
- -- attach.htm
- -- attach.shtml
- -- attach.shtm
- --
- -- message.html
- -- message.htm
- -- message.shtml
- -- message.shtm
- ,"attaches": [
- -- при выпуске по черновику, прикрепляемые файлы из черновика добавляются к указанным в списке
- -- если одноимённый файл или ccылка тут отсутствуют
- {
- "name" : "имя файла",
- ,"content": "содержимое файла закодированное base64",
- ,"encoding" : "base64",
- ,"mime-type" : "тип атача", -- не обязательно, заменяет тип установленный по расширению имени атача
- ,"charset" : "набор символов атача", -- не обязательно, заменяет используемое по умолчанию utf-8
- },
- {
- "name" : "имя файла",
- ,"content": "содержимое файла",
- ,"mime-type" : "тип файла", -- не обязательно, заменяет тип установленный по расширению имени файла
- ,"charset" : "набор символов файла" -- не обязательно, заменяет используемое по умолчанию utf-8
- },
- {
- "url" : "url откуда заборать. Внешиение ссылки http / https / ftp / ftps / sftp или из хранилища загрузок rfs://upload/путь-до-файла "
- ,"mime-type" : "тип атача", -- не обязательно, заменяет тип установленный по расширению имени атача или полученный в ответ на запрос
- ,"charset" : "набор символов атача", -- не обязательно, заменяет используемое по умолчанию utf-8 или полученный в ответ на запрос
- },
- { "url" : "персонализованный url откуда забирать - для каждого свой" }, -- подробнее в разделе "Персонализация выпуска"
- -- генерация персонального pdf-документа на ходу. подробнее в разделе "Персонализация выпуска"
- { "pdf" : "номер черновика"}
- -- генерация персонального excel-документа на ходу. подробнее в разделе "Персонализация выпуска"
- { "xlsx" : "номер черновика"}
- ...
- ]
- }
- * текст выпуска и картинки из архива (для email). не для транзакционных выпусков
- -- В архиве ищется индексный файл который даст текст выпуска -это первый регистронезависимый файл *.htm(l) с наименьшим уровнем вложенности и наименьшим среди одноуровневых именем
- -- Остальное содержимое каталога в котором он находится сохраняется в Хранилище картинок.
- -- Остальные части архива игнорируются
- -- В содержимом индексного файла относительные ссылки в img-src и ссs-url() дополняются веб-базой каталога куда было сохранено содержимое.
- -- Полученный результат записывается в letter-> message->html (т.е. это будет email)
- -- Остальные параметры по прежнему передаются через явно указаный в вызове letter (например тема)
- -- Если в вызове уже есть letter и в нём есть есть message, то это ошибка
- ,"letter.zip" : "содержимое архива закодированное в base64" -- zip-архив содержащий текст выпуска и сопровождающие картики для оформления
- * получатели выпуска
- ."group" : "id группы | masssending - если это Экспресс-Выпуск | personal - Транзакционное письмо",
- -- старый параметр gid переименован в group для совместимости с другими вызовами
- -- можно продолжать указывать gid - он будет использоваться при отсутствии group
- -- если фильтр группы описан в формате КД и в нём используется оператор has с параметром save,
- -- то один участник группы может попасть в рассылку несколько раз в зависимости от количества
- -- срабатываний has/save и параметра выпуска "multiple".
- -- В описании фильтра формата КД описано когда и чем это полезно.
- * параметры способа выпуска
- "class.id" : "идентификатор класса выпуска" -- возможный источник параметров выпуска для тех, что не указаны непосредственно в issue.send
- "group.exclude" : [ "id-группы1", "id-группы2" .... ] -- Группы списки для исключения получателей
- -- Если адрес получателя присутствует хотя бы в одной из указанных групп-списков,
- -- то он исключается из выпуска
- -- Эта возможность позволяет, например, реализовать "стоп-лист по тематикам" - в письме
- -- размещается дополнительная ссылка "Не хочу получать эту тематику" ведущая на Форму
- -- А в выпусках "этой тематики" указывается исключить группу-список "Заполнившие Форму"
- "sendwhen": "Когда выпустить (now - сейчас | later - отложенный | delay - задержаный | save - отложить на хранение | test - тестовый)",
- -- при использовании в "Действиях по расписанию" допустимы только now и test
- -- Тестовый выпуск не доступен для Экспресс-Выпуска, Транзакционных писем, SMS, Viber, Push
- "dkim.id" : "номер проверенного dkim-ключа или 0" -- если строго "0", то будет использоваться общий системный ключ
- -- если пусто/не задано/невалиден, то будет взят из черновика
- - если в черновике строго "0", то будет использоваться общий системный ключ
- -- если в черновике не задан или на момент выпуска выбранный ключ из черновика окажется не проверенным,
- -- то будет использоваться самый свежий из ключей имеющихся для домена отправителя (from.email из вызова или черновика)
- -- если ключа точно по домену не будет, то домен будет сокращён на один уровеньт и поиск будет повторён. и так до домена второго уровня включительно
- -- если и ключа по домену и его сокращённым вариантам не будет или на момент выпуска выбранный ключ по домену окажется не проверенным,
- -- то будет использоваться значение установленное через sys.settings.set
- -- если и его нет или не проверено, то будет использоваться общий системный ключ
- "campaign.id" : "код кампании"
- -- или
- "campaign.id" : [ "код кампании 1", "код кампании 2" ...]
- -- Код кампании в которую будет включён выпуск
- -- пусто или не указан - будет включён в кампанию, если она указана в черновике
- -- 0 - не будет включён ни в какую кампанию, даже указанную в черновику
- -- не может быть указан с другими кодами если их несколько
- -- Код кампании (указаный или полученый из черновика) игнорирует если выпуск выходит
- -- в рамках АБ-тестирования или тригерной рассылки
- -- При успешном создании задания отложенного выпуска, он автоматически вносится в кампании указанные в campaign.id
- -- При выходе отложенного выпуска ранее заданный campaign.id игнорируется и выпуск вносится только в те кампании,
- -- в которых на момент выпуска состоит задание отложенного выпуска сработавшее в кроне естественным путём (cron.runonce не считается)
- * при отложеном выпуске (later) указывается дополнительно дата, час и минута не ранее которых выпускать
- -- Если такие же дату-время уже запланирован выпуск по такой же группе, то новое задание принято не будет.
- -- ИСКЛЮЧЕНИЕ - Экспресс-Выпуск и Транзакционные Письма.
- -- Выпуски по этим группам могут быть запланированы на одну и ту же дату в любом количестве.
- "later.time" : "YYYY-MM-DD hh:mm" -- рекомендуемая точность - 5 минут. Т.е. mm из набора 0,5,10,15,20,25,30,35,40,45,50,55
- -- другие значение mm допустимы, но фактически при выпуске могут быть округлены системой
- -- до ближайшего большего значения из указанного набора
- * при задержаном выпуске (delay) указывается дополнительно на сколько минут задержать выпуск
- -- Так как "задержка" реализуется созданием отложенного выпуска на "текущее время + delay.time",
- -- то действуют ТАКИЕ ЖЕ ОГРАНИЧЕНИЯ, что и при использовании later.time
- "delay.time" : "mm"
- * для Email - при выпуске теста (test) указываются адреса получателей. не более пяти.
- "mca": [
- "e@mail.1",
- "e@mail.2",
- ......
- ]
- * для Email - параметры преобразования ссылок для учёта перехода по ним в системе
- "relink" : 0|1 -- Преобразовывать ссылки автоматически
- -- 1 - да, 0 - нет, по умолчанию - 0
- --
- -- !!!
- -- С 17 АВГУСТА 2018 ГОДА ПО УМОЛЧАНИЮ - 1 для не sms-выпусков !!!
- -- !!!
- "relink.param" : {
- -- если relink = 1, а какой то из параметров relink.param не указан,
- -- то считается что: link=1, image=0 и test=1 соответственно для всех рассылок кроме personal
- -- для personal это: link=1, image=0 и test=0 - объяснение ниже
- "link" : 0|1 -- преобразовывать ссылки тега <A>
- -- 1 - да, 0 - нет
- -- преобразуются ссылки со схемами: http(s)://, ftp(s)://, viber://, fb-messenger://, skype://
- "image": 0|1 -- преобразовывать ссылка на внешние картинки для тега <IMG>
- -- и фоновых изображений в <BODY> и <TABLE>
- -- 1 - да, 0 - нет
- -- преобразуются ссылки со схемами: http(s)://, ftp(s)://, viber://, fb-messenger://, skype://
- "test": 0|1 -- проверять существование адресов (только если адрес подлежит преобразованию)
- -- при включённой проверке выпуск не выйдет если ссылка
- -- не действительна (ответ не 200, не 301 и не 302)
- -- 1 - да, 0 - нет
- -- настройка "test"=1 не действует на домены vk.com, vkontake.ru, ok.ru, my.mail.ru, facebook.com, fb.com, instagram.com, twitter.com,
- -- pintrest.com, youtube.com, rutube.com, rutube.com, linked.in, odnoklassniki.ru, ok.ru, telegram.me, t.me
- -- и их мобильные версии с префиксом "m" и версии с префиксом "www"
- -- ссылки с их использованием не проверяются на существование из-за непредсказуемости результата
- -- указывайте таким ссылкам явно x-do-link-test=1 для осуществления проверки
- -- никогда не проверяются ссылки с персонализицией, и со схемами viber://, fb-messenger://, skype://
- -- Обратите внимание, что массовая отсылка выпусков Персональных Писем, может вызвать
- -- проблему выпуска из-за неудавшейся проверки адресов. Причина - система анализа частоты
- -- запросов сайта для которого проверяется ссылка может воспринять многократные постоянные
- -- запросы несколько подряд раз за короткое время (а именно так это будет выглядеть при массовой
- -- отсылке Персональных писем) как атаку на сайт и не давать проверить ссылку.
- -- По этому, по умолчанию, для personal проверка ссылок не производится.
- -- Включить её для всего выпуска вы всегда можете задав параметр test в явном виде.
- -- Включить её для отдельных выпусков вы всегда можете атрибутом x-do-link-test
- -- Глобальные настройки из relink.param можно переопределить для любого
- -- конкретного тега A и IMG указав в них не стандартные атрибуты
- -- "x-do-link-relink" и "x-do-link-test" влияющие на преобразование
- -- и тестирование по следующим правилам:
- --
- -- Атрибут отсутствует или пуст - учитывается глобальная настройка
- -- Атрибут = 1 - делать действие не смотря на глобальную настройку
- -- Атрибут = 0 - не делать действие не смотря на глобальную настройку
- --
- -- В отличи от параметра "test", зависящего от "link" и "image",
- -- явное указание атрибута x-do-link-test="1" всегда вызывает проверку ссылки
- -- не смотря на то, что преобразование для неё может и не проводиться
- -- из-за настроек link/image/x-do-link-relink
- }
- * для Viber - параметры преобразования ссылок для учёта перехода по ним
- -- Аналогично как для Email но действует только на ссылку button.link
- -- По этому не имеет варианта image и не применимы замечания про атрибуты x-do-relink-*
- "relink" : 0|1 -- Преобразовывать ссылки автоматически
- -- 1 - да, 0 - нет
- --
- -- !!!
- -- С 17 АВГУСТА 2018 ГОДА ПО УМОЛЧАНИЮ - 1 !!!
- -- !!!
- "relink.param" : {
- "link" : 0|1
- "test" : 0|1
- }
- * для Push - параметры преобразования ссылок для учёта перехода по ним
- -- Не имеет варианта image и не применимы замечания про атрибуты x-do-relink-*
- "relink" : 0|1 -- Преобразовывать ссылки автоматически
- -- 1 - да, 0 - нет
- --
- -- !!!
- -- С 17 АВГУСТА 2018 ГОДА ПО УМОЛЧАНИЮ - 1 !!!
- -- !!!
- "relink.param" : {
- "link" : 0|1 -- действует на click.url
- "test": 0|1 -- действует на click,url, icon.url, image.url
- }
- * для SMS - параметры преобразования ссылок для учёта перехода по ним
- -- Ссылки преобразуются через сокращатель, что дополнительно снижает длину (и, значит, цену) сообщения
- -- Доступна статистика переходов для тех ссылок которыми воспользовались получатели
- "relink" : 0|1 -- Преобразовывать ссылки автоматически
- -- 1 - да, 0 - нет
- -- По умолчанию 0 - в отличии от других форматов
- "relink.param" : {
- "link" : 0|1 -- по умолчанию 0
- "test" : 0|1 -- по умолчанию 0
- }
- * для Email - параметр преобразования ссылок для отслеживания перехода по ним с помощью сторонних сервисов
- "link.qsid": "Параметр для отслеживания переходов по ссылкам через сторонние сервисы"
- -- добавляется ко всем ссылкам через query-string
- -- значение должно быть уже url-encoded
- -- при выпуске по черновику, если этот параметр пуст, то берётся link.qsid из черновика
- -- обычно содержит utm-метки и используется для отслеживания через сервисы типа Google Analitics
- -- не имеет ни какого отношения к параметра relink*
- -- если к какой-то ссылке параметр добавлять не требуется, то укажите в теге нестандартный
- -- параметр x-no-qsid со значением 1
- * для Viber - параметр преобразования ссылок для отслеживания перехода по ним с помощью сторонних сервисов
- -- Аналогично как и для Email но действует только на ссылку button.link
- "link.qsid": "Параметр для отслеживания переходов по ссылкам через сторонние сервисы"
- * для Push - параметр преобразования ссылок для отслеживания перехода по ним с помощью сторонних сервисов
- -- Аналогично как и для Email но действует только на ссылку click.url
- "link.qsid": "Параметр для отслеживания переходов по ссылкам через сторонние сервисы"
- * список получателей и данные персонализации для Экcпресс-Выпуска
- -- подробнее в разделе "Форматы данных для импортирования и Экспресс-Выпуска"
- -- данные персонализации могут быть дополнены внешними данными в процессе выпуска
- -- подробнее в разделе "Внешние данные для персонализации"
- "users.list": адреса и данные персонализации -- непосредственно в СSV или XLSX
- или
- "users.list" : {
- "encoding" : "base64"
- ,"content" : "адреса и данные персонализации в base64" -- вариант для CSV и XLSX которые не получается передать в двоичном виде
- },
- или
- "users.list" : [ -- данные в формате JSON-массив
- { данные одного получателя }
- ..............
- ]
- или
- "users.list" : { -- данные в формате JSON-объект-ABO
- "caption" : [ описание столбцов ]
- ,"rows" : [
- [ данные одного получателя ]
- ..............
- ]
- }
- или
- "users.url": "url" -- по которому находятся список адресов с данными для персонализации
- -- внешиение ссылки http / https / ftp / ftps / sftp или из хранилища загрузок rfs://upload/путь-до-файла
- -- Для запросов по SOAP (например к Siebel) схемы soap:// и soaps:// - обратитесь с Службу Поддержки
- -- для получения дополнительной информации
- -- Для запросов из Google Big Query настройте внешнюю авторизация для схемы gbd:// (описано в вызовах authext.*)
- -- Данные получаются полной выборкой из указанной в урле вида gbd://authext:AUTHEXT_ID@DATASET_ID/TABLE_ID таблицы.
- -- Одна из колонок таблицы должна называться email - она послужит источником адресов получателей и доступно при персонализации текста письма под стандартным именем anketa.member.email
- -- Название остальных колонок не важно, но оно должно начитаться с латинской буквы и продолжаться латинскими буквами и цифрами.
- -- Для использования данных в персонализации используйте подстановки вида [% anketa.t.НАЗВАНИЕ-КОЛОНКИ-ТАБЛИЦЫ %] для всех колонок таблицы кроме email
- -- При оформлении выпуска как действия по расписанию не забудьте, что эту ссылку можно кастомизировать
- -- временем и указать количество и интервал попыток получения данных. Подробнее в разделе Замечания
- * параметры списка получателей для Экпресс-Выпуска
- "only_unique": 0|1 -- Следить за уникальностью адресов в списке
- -- 1 - да, повторно встреченные адреса исключаются из выпуска
- -- 0 - нет, повторно встреченные адреса участвуют в рассылке
- * параметры объединения Экпресс-Выпусков
- accumulate" : 0|1 -- только для Экспресс-Выпуска
- -- если Экспресс-Выпуск с такими же именем (параметр "name") когда-либо уже выпускался в текущем месяце,
- -- то этот запускаемый выпуск будет оформлен не как новый, а как продолжение уже вышедшего.
- -- полезно в случае если ваши CRM не может выдать весь реестр для рассылки за раз,
- -- а только порциями.
- -- с учётом параллельности приёма и выпуска заданий на рассылку, настоятельно рекомендуется
- -- выпустить сначала первую порцию и потом уже последующие можно запускать параллельно
- * учёт множественных совпадений итератор в фильтре
- "multiple" : 0|1 -- что делать с множественными совпадениями итератора
- -- 0 - по умолчанию, выпустить одно письмо
- -- 1 - по одному письму на совпадение
- -- В описании фильтра формата КД описано когда и чем это полезно.
- * получатель для Транзакционных писем
- "email" : "адрес получателя или номер телефона получателя"
- -- данные для персонализации берутся из базы
- --
- -- данные персонализации могут быть дополнены внешними данными в процессе выпуска
- -- подробнее в разделе "Внешние данные для персонализации"
- --
- -- при этом способе указания получателя он проверяется на возможность отсылки ему письма
- -- (синтаксическая верность адреса, стоп-лист, ошибки доставки, отписался) и вы сразу получите
- -- в ответ описание ошибки если она есть
- -- при других способах задания получателя, проверка на возможность выпуска происходит
- -- только при формировании рассылки
- или
- "users.list": один адрес и данные персонализации -- непосредственно в JSON (два варианта) или в СSV или XLSX
- -- подробнее в разделе "Форматы данных для импортирования и Экспресс-Выпуска"
- -- при указании только адреса данные персонализации берутся из базы
- -- при указании более чем одного адреса - ошибка выпуска
- -- данные персонализации могут быть дополнены внешними данными в процессе выпуска
- -- подробнее в разделе "Внешние данные для персонализации"
- * Ограничение на размер тиража
- -- не обязательно, по умолчанию - "100%"
- ,"users.slice" : "число" - тираж составит не более "число" первых получателей. число - целое число больше нуля
- или
- ,"users.slice" : "процент%" - тираж составит указанный процент от всех получателей. процент - целое число больше нуля и меньше 101
- * Ограничение количества контактов на получателя
- -- ограничивает число высылаемых сообщений для каждого получателя
- --
- -- если за последний interval получателю уже сфомировано max и более сообщений, то он исключается из текущего выпуска
- --
- -- если у выпуска есть класс (указан или получен из черновика), то в расчёт лимита берутся только выпуски вышедшие по такому же классу
- --
- -- если у выпуска класс нет, то в расчёт лимита берутся вообще все выпуски
- --
- -- должны быть заданы оба параметра сразу или ни одного
- --
- -- не обязательно, по умолчанию не ограничено
- ,"contact_rate" : {
- "interval" : "часы" -- за сколько последних часов проверять. число от 1 или -1 за всё время
- -- или
- "interval" : "днейd" -- за сколько последних дней проверять. день начинается в 00:00:00. число от 1 с окончанием "d"
- -- например:
- -- 1d - за сегодня, т.е с 00:00:00 сегодня
- -- 2d - за вчера и сегодня, т.е с 00:00:00 вчера
- ,"max" : "число" -- лимит сообщений. число от 1
- }
- * Высылка письма в наиболее подходящее для каждого получателя время индивидуально на основе его прошлой активности
- -- например
- -- day и 4 - учитывая статистику дней недели выбрать наилучшее время в ближайшие 4 часа
- -- week и 12 -учитывая суммарную статистику недели выбрать наилучшее время в ближайшие 12 часа
- --
- -- если используется day и в указанном интервале вообще не было активности, то алгоритм переключается на week при этом interval устанавливается в 24 если он был более 24
- --
- -- если в указанном интервале лучшими являются несколько часов, то выбирается самый ранний
- --
- -- не совместимо с выпуском по часовым поясам tz_observance
- --
- -- заданы оба параметра сразу или ни одного
- --
- ,"tz_best" : {
- "source" : "day" или "week" -- лучшее время определять с учётом дня недели выпуска рассылки (day) или по суммарным данным всех дней недели (week). по умолчанию - day
- ,"interval" : число от 1 до 24 для week и от 1 до 168 для day -- число ближайших от выпуска часов среди которых искать наилучший (считая и час выпуска). по умолчанию - 4
- }
- * Для email / viber / push ограничение на частоту отправки
- --
- -- все ограничения касаются только первой попытки отправки сообщения.
- -- если сообщение не принято сразу, то ограничения могут не быть соблюдены.
- -- при совместном использовании с tz_observance, ограничение на частоту отправки действует независимо в каждом
- -- часовом поясе
- ,"tz_limit" {
- "default" : {
- -- ограничение на частоту отправки сообщений
- -- за rate минут будет передано в доставку в не более number сообщений
- -- начиная со второго раз, number будет увеличиваться на increase каждый раз от текущего значения
- -- если параметр отсутствует или пуст или обе величины равны 0,
- -- то ограничения нет
- "batch" : { -- или отсутствуют или указаны оба значения
- "number" : "сколько cообщений" -- обязательно, >= 200
- ,"rate" : "за сколько минут" -- обязательно, >= 0
- -- не обязательно, по умолчанию 0
- ,"increase" : число -- увеличение number на указанное целое число, >= 0
- -- или
- ,"increase" : "число%" -- увеличение number на указанное число процентов, >= 0
- -- процент принимается с точностью до сотых
- -- при малых number, если наращивание даёт менее 1 получателя
- -- то принимается увеличение на 1 получателя
- -- процент равный нулю - отсутствие наращивания
- }
- }
- }
- * Для email / viber / push учёт часового пояса получателя
- -- Не обязательно, при отсутствии учёта часового пояса нет и всё выходит сразу (если нет прочих настроек)
- -- Не совместимо с tz_best
- -- При выпуске с учётом временной зоны, письма будут заранее сформированы, но их первая попытка
- -- доставки начнётся не ранее, чем во временной зоне получателя начнётся указанный час
- -- по его локальному времени.
- --
- -- Источником данных может быть один или несколько пунктов анкеты подписчика.
- --
- -- Берётся первое определившееся время по порядку указания источников.
- --
- -- Если часовой пояс не удалось определить ни по одному из источников, то письмо начинает
- -- доставляться сразу (с учётом tz_limit)
- --
- -- В качестве указания на часовой пояс понимаются названия большинства стран и крупных городом
- -- в английском и русском написании (регистр не важен)
- --
- -- А так же, числовые смещения относительно UTC в виде
- --
- -- +hhmm -hhmm UTC+hhmm UTC-hhmm
- -- +hh -hh UTC+hh UTC-hh
- -- +h -h UTC+h UTC-h
- -- hh
- -- h
- --
- -- Используйте вызов sys.settings.get, что бы проверить понимает ли система ваш способ записи.
- -- Если нет - обратитесь в Службу Поддержки за расширением нашего списка городов и стран.
- --
- -- Во избежание путаницы с пониманием часовых поясов, настоятельно рекомендуется планировать
- -- такие рассылки не менее чем за 24 часа и учитывать особенности России - текущий час в Москве
- -- по всех других часовых поясах страны (за исключением Калининграда) уже прошёл и настанет
- -- там через через 15-23 часа в зависимости от удалённости.
- -- при совместном использовании с tz_limit, ограничение на частоту отправки действует независимо в каждом
- -- часовом поясе
- -- Настройка может быть указана и будет учтена по убыванию приоритета: при выпуске, в классе выпуска,в черновике, в классе черновика, глобально (sys.settings.set)
- -- Если требуется отключить соблюдение местного времени, то в более приоритетном источнике необходимо задать tz_observance.source с не существующим ключём данных.
- ,"tz_observance" : { -- не обязательно
- "hour" : "час" -- от 00 до 23
- -- час по местному времени для начала доставки писем
- -- не обязательно, по умолчанию - текущий час для выпуска "сейчас"
- -- или час запуска для отложенного выпуска
- ,"source" : [ -- обязательно. источники данных о временной зоне подписчика в его анкете.
- -- один и болеее.
- -- при отсутствии своих данных, можно использовать member.last.tz - автоматически
- -- обновляющееся системой значение на основании последнего клика или чтения
- "ключ-данных"
- ,"ключ-данных"
- ,"ключ-данных"
- ........
- ]
- }
- * Для sms ограничение на частоту и время отправки
- -- все ограничения касаются только первой попытки отправки сообщения в sms-центр.
- -- если sms-центр не принял сообщение сразу или принял, но внутри себя
- -- по какой-то причине не пытался доставить сразу, то ограничения могут не быть соблюдены.
- -- допустимы временные зоны относительно GMT от -23 до +23 и default. знаки "+" и "-" обязательны.
- -- временная зона телефонного номера сотовой связи определяется по базе Федерального Агентства Связи.
- -- если при выпуске tz_limit не задан явно, то транзакционные смс выходят сразу, а на остальные действует
- -- ограничение по умолчанию - время отправки с 9 по 21 час местного времени
- ,"tz_limit" {
- "default" : { -- настройки по умолчанию для не описанных зон или отсутствующих описаний с описанной зоне
- -- ограничение на частоту отправки сообщений
- -- за rate минут будет передано в доставку в sms-центр не более number сообщений
- --
- -- если параметр отсутствует или пуст или обе величины равны 0,
- -- то ограничения нет
- "batch" : { -- или отсутствуют или указаны оба значения
- "number" : "сколько cообщений" -- обязательно, >= 0
- ,"rate" : "за сколько минут" -- обязательно, >= 0
- }
- -- ограничение по времени отправки
- -- *все даты и часы по местному времени временной зоны !!!*
- ,"time" : {
- "dt" : "YYYY-MM-DD" -- отправка начнётся не ранее указанного дня.
- -- если не указано или пусто или в прошлом,
- -- то используется текущая даты зоны MSK/MSD
- ,"hour" : [ час, час, час, ... ] -- разрешённые часы местного времени (0-23) в которые будет осуществлять отправка
- -- если не указано или пусто, то разрешены часы с 9 по 21
- -- подумайте, стоит ли расширять этот диапазон на утреннее и ночное время !
- --
- -- порядок следования часов важен для первого дня отправки !
- -- запись
- -- {
- -- "dt" : "2012-09-17"
- -- ,"hour" : [ 20, 21, 22, 23, 06 08 07 ]
- -- }
- -- задаёт разрешённые часы с 6, 7, 8, 20, 22 и 23 и начало рассылки 17го декабря
- -- но именно 17го она начнётся не в 6 часов, а в 20, так как 20 указано первым
- -- а 18го и далее - начиная с 6
- --
- -- разрешается весь час - последняя отправка в нём может быть
- -- даже в 59 минут 59 секунд, что может выглядеть как уже "не разрешённый" час
- -- т.к. сообщение будет доставлено уже явно в следующем часе.
- }
- }
- ,"+4" : { -- ограничение для временной зоны GMT+4
- -- полностью отсутствующий или пустой компонент берётся из default
- "batch" : { .... } -- используйте 0 для rate и number что-бы снять ограничение из default
- ,"time" : { .... } -- *дата и часы по местному времени временной зоны !!!*
- --
- -- если задано только dt, то действуют стандартные разрешённые часы с 9 по 21
- -- подумайте, стоит ли расширять этот диапазон на утреннее и ночное время !
- --
- -- если задано только time, то то используется текущая даты зоны MSK/MSD
- --
- -- если не задано ни dt ни time, то действуют ограничения из default
- }
- ,"-2" : { -- ограничение для зоны GMT-2
- ..........
- }
- ..........
- }
- * время жизни сообщения для Email
- ,"ttl" : число -- время в секундах хранения сообщения при невозможности доставить сразу (ошибки доставки 4xx)
- -- не обязательно. по умолчанию 4 дня
- -- не рекомендуется задавать менее 1 часа. если всё же попробуете - расскажите нам как получилось.
- * время жизни сообщения для Push
- ,"ttl" : число -- время в секундах хранения сообщения при невозможности отобразить сразу
- -- не обязательно. по умолчанию 12 часов
- * данные произвольной структуры *одинаковые для всех подписчиков*
- -- эти данные трактуются в по моделе КД
- -- эти данные будут доступны для шаблонизатора выпуска как переменные с именем совпадающим с именем ключа хэша
- -- эти данные могут быть дополнены из черновика. указанные здесь имеют больший приоритет.
- -- эти данные могут быть дополнены внешними данными в процессе выпуска - подробнее в разделе "Внешние данные для персонализации"
- -- в настоящий момент зарезервированы имена:
- -- anketa - данные о конкретном подписчике
- -- lenta - данные для подстановки rss/atom каналов
- -- date - интерфейс к функциям работы с датой и временем
- -- form - форма опроса
- -- во избежание пересечений с новыми стандартными именами рекомендуется
- -- свои имена начинать с большой буквы
- ,"extra" : {
- "Key1" : [ 12, 34 ,56 ] -- пример использования [% Key1[2] %]
- ,"City" : { -- пример использования [% City.rus.long %]
- "rus" : {
- "long" : "Санкт-Петербург"
- ,"short" : "СПБ"
- ,"eng" : {
- "long" : "Leningrad"
- ,"short" : "LED"
- }
- }
- }
- ,"reltype" : ...
- ,"relref" : ...
- }
- ответ
- {
- <общие поля>
- ,"track.id" : номер -- номер асинхронного запроса для отслеживания с помощью track.*
- --
- -- так же можно получать callback по достижению трекром конечного состояния - т.е. по завершения выпуска
- --
- -- после выпуска Транзакционного письма полученный письмом номер "letter" будет в отчёте track.get
- -- для данного track.id. Используя letter в stat.uni можно получить информацию по данному конкретному
- -- Транзакционному письму.
- }
- Список отложенных выпусков
- {
- "action" : "issue.later.list",
- ,"from" : "YYYY-MM-DD" -- от даты (не обязательно)
- ,"upto" : "YYYY-MM-DD" -- до даты (не обязательно)
- ,"group" : [ -- фильтр по группам (не обязательно)
- код-группы-1
- ,код-группы-2
- ...
- ]
- ,"format" : "email|sms|viber|push|html|text" -- фильтр по формату (не обязательно).
- -- email это "html или text"
- ,"draft" : номер черновика" -- фильтр по черновику (не обязательно)
- -- параметр отсутствует - не фильтровать
- -- параметр присутствует но пустой - все выпуски не по черновикам
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement