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

Архив выпусков

Список выпусков в архиве

В большинстве случаев вызов issue.list + несколько issue.get можно заменить одним более быстрым вызовом stat.uni для объекта issue.

 {

  "action" : "issue.list" 

  ,"from" : "YYYY-MM-DD" -- от даты (не обязательно)

  ,"upto" : "YYYY-MM-DD" -- до даты (не обязательно)

  ,"group" : [ -- фильтр по группам (не обязательно)

               код-группы-1

              ,код-группы-2

               ...

             ]

  ,"format" :  "email|sms|viber|push|vk|tg|vknotify|pushapp|max"  -- фильтр по формату (не обязательно)
 }

ответ

{

 <общие поля>

,"list" : [

            {

             "id" : уникальный идентификатор выпуска

            ,"gid" : "код группы" 

            ,"date" : "дата выпуска" -- Ys
            }

            ...

           ]

}

Чтение выпуска в архиве

Если не нужен текст выпуска или фильтр выпуска, то вызов issue.get можно заменить более быстрым вызовом stat.uni для объекта issue.

 {

  "action" : "issue.get" 

  ,"id" : уникальный идентификатор выпуска

  ,'letter' => номерписьма -- только если выпуск personal
                           -- номер письма в выпуске для которого требуется ответ
                           -- без него для выпуска personal будет возвращена только некоторая общая информация так как, в отличии от массовых выпусков,
                           -- каждое письмо personal может быть индивидуально

  ,"source" : 0|1|2 -- вернуть текст как  пошёл в рассылку (0) или как было на входе (1 или 2), а так же исходный текст фильтра выпуска (полностью развёрнутый)
                    -- при source=1 текст выпуска для personal всё равно как при source=0 т.к. для pesonal не сохраняется хранится исходник
                    -- при source=2 как source=1 и attaches в формате с url и со ссылкой на архив
                    -- отсутствие параметра вообще - старый формат ответа. поддерживается до 01 октября 2017
                    -- для smtp и потокового api при выпуске не по черновику текст взять неоткуда. при выпуске по черновикку - из черновика

  ,"with_name" : 0|1 -- вернуть group.name

  ,"with_archive" : 0|1 -- attaches в формате с url и со ссылкой на архив

 }

ответ

{

 <общие поля>

 "obj" : {

           "id" : уникальный идентификатор выпуска,

          ,"date" : "дата выпуска",

          ,"name" : "название выпуска" 

          ,"group" : "уникальный идентификатор группы выпуска",

          ,"group.name" : "название группы выпуска", -- если with_name : 1

          ,"source" : "api|smtp|tranz" -- источник выпуска

          ,"channel" : "email|sms|viber|push|vk|tg|vknotify|pushapp|max", -- канал выпуска

          ,"draft.id" : "идентификатор черновика, по которому сделан выпуск", (null)

          ,"draft.alias" : "альтернативный идентификатор черновика, по которому сделан выпуск", (null)

          ,"class.id" : "идентификатор класса выпуска использованный при выпуске", (null)

          ,"class.alias" : "альтернативный идентификатор класса выпуска использованный при выпуске", (null)

          ,"sequence.id" : "идентификатор последовательности, событие в которой вызвало выпуск", (null)

          ,"variant.id" : "варианта сплит-тестирования для которого сделан выпуск", (null)

          ,"multi.id" : "идентификатор мультивыпуска для которого сделан выпуск", (null)

          ,"issue" : { -- как элемент issue.send
                     "letter" : {
                                  -- параметры содержимого выпуска (отправитель, получатель, тема, содержимое..)
                                  -- при выпуске по черновику - его содержимое, а номер черновика выше в draft.id
                                  -- в message уже оформленное содержимое письма как пошло в рассылку если source = 0
                                  -- в message исходное содержимое если source = 1 или 2

                                  -- при source 0 или 1 и без with_archive список прикреплённых файлов в формате содержащим только их названия
                                  -- содержимое можно получить через issue.get.attach по названию

                                  ,"attaches" : [

                                                 "aaa.doc" 

                                                ,"bbb.doc" 

                                                 ...
                                                ]

                                  -- при source 2 или with_archive список прикреплённых файлов в формате содержащим их названия, ссылку на архив (при доступности) и, при наличии, url откуда они были получены
                                  -- содержимое можно получить через issue.get.attach по названию
                                  -- для выпусков через smtp и потоковое апи ссылок на архив и url нет

                                  ,"attaches" : [

                                                 {
                                                  "name" : "aaa.doc" 

                                                 ,"url"  : "http://test.ru/aaa.doc" 

                                                 ,"archive" : "https://sendsay.ru/archive......" 
                                                 }

                                                ,{
                                                  "name" : "bbb.doc" 

                                                 ,"archive" : "https://sendsay.ru/archive......" 
                                                 }

                                                 ...
                                                ]
                                      }
                                 }

                      -- прочие параметры выпуска (accumalate, ttl, class.id, ...)
                     }

  -- source >= 1

          ,"extra" : { дополнительные данные произвольной структуры использованные в выпуске }

          ,"filter" : {
                        -- фильтр группы, каким он был в момент выпуска
                        -- не для personal и masssending
                      }

  -- для всех source

           ,"archive" : "ссылка на выпуск в архиве" -- если personal без letter, то смысла в такой ссылки нет
                                                    -- отсутсвует для выпусков через smtp и потоковое апи

           -- ссылки на изображения письма выпуска
           -- только для html выпусков, и только для групп отличных от personal
           -- в настоящий момент поддерживаются картинки 800x600
           -- надо учитывать что ссылка может вести на отсутствующее изображение
           -- например, из-за сбоя при её формировании
           -- отсутсвует для выпусков через smtp и потоковое апи

           ,"thumbnail" : [
                          {
                           "url" : "ссылка на изображение" 
                          ,"width" : ширина в пикселах,
                          ,"height" : высота в пикселах
                          },

                         ...............

                         ]

         }

}

Получение файлов, приложенных к выпуску

Получение приложенных файлов которые задавались при выпуске содержимым, а не ссылкой

 {

  "action" : "issue.get.attach" 

  ,"id" : уникальный идентификатор выпуска

  ,'letter' => номерписьма -- только если выпуск personal
                           -- номер письма в выпуске для которого требуется ответ
                           -- без него для выпуска personal будет возвращена только некоторая общая информация так как, в отличии от массовых выпусков,
                           -- каждое письмо personal может быть индивидуально

  ,"encoding" : "желаемая кодировка данных в ответе" -- пусто или не указана - обычная Unicode/UTF-8
                                                     -- base64 - содержимое будет возвращено в base64

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

                "aaa.doc" 

               ,"bbb.doc" 

                ...

              ]

 }

ответ

{

 <общие поля>

 ,"list" : {

            "aaa.doc" : "содержимое файла|null - если файл не найден или задавался в выпуске ссылкой",

            "bbb.doc" : "содержимое файла|null - если файл не найден или задавался в выпуске ссылкой",

            ...

           }

}