Формы опросов¶
Формы опросов предназначены для получения информации от пользователей c сохранением её в анкеты.
Предусмотрен механизм верификации заполнения формы при котором данные попадают сначала в первичную анкету (анкету-формы) и только после подтверждения в основные анкеты (анкеты-хранилища).
Данные анкеты-формы и анкет-хранилищ всегда доступны для просмотра и использования в рассылках. В зависимости от того, насколько вам важна верификация заполнения вы можете пользоваться в работе как сразу первичными данными из анкеты-формы, так и только подтверждёнными данными из анкет-хранилищ.
Форма размещается клиентом у себя на сайте в виде статической формы или в виде всплывающей с помощью java-script или можно использовать создаваемую на сервисе входную страницу landing-page.
После заполнения пользователем формы введённые данные сохраняются в указанную начальную анкету-формы, ему высылается fill-letter и он попадает на welcome-page (или welcome-redirect).
После подтверждения заполнения формы (как описано в высланном ранее fill-letter), данные переносятся (если запланировано) из анкеты-формы по описанным в ней правилам в анкеты-хранилища, пользователю высылается welcome-letter и он попадает на fill-page (или fill-reedirect).
Заполнение и подтверждение формы так же порождают триггерные события для расширения логики обработки. При переносе данных в анкеты-хранилища так же порождается событие "Данные пользователя изменились".
В зависимости от того, опознала ли система пользователя при заполнении формы и разрешено ли внесение адресов без подтверждения, алгоритм работы формы может пропускать шаги связанные с подтверждением заполнения формы.
Через вызов stat.uni можно получить статистику заполнения форм и подробный лог действий с ней.
На страницах отображаемых пользователю, в письмах высылаемых пользователя, в ссылках перенаправления поддерживается персонализация на основе данных пользователя и данных заполненной им формы. Синтаксис аналогичен выпуску рассылки.
Не обязательно использовать код формы получаемый от нас. Заполнять формы адаптировав их под свои нужны и свой сайт можно получив первоначальный код формы.
Дополнительно, интеграция форм Tilda c формами Sendsay позволяет получить дополнительные функции отсутствующий у форм Tilda - подтверждение заполнения, валидация, трансляция данных в анкеты подписчика. Подробнее описано в "Интеграция c Tilda".
Список форм¶
ответ
{
<общие поля>
,"list" : [
{
"id" : уникальный идентификатор
,"name" : "название"
,"state : "состояние"
,"origin" : "источник"
,"create.date" : "дата и время создания" -- Ys
,"update.date" : "дата и время последнего изменения" -- Ys
,'reltype' => ....
,'relref' => ....
}
...
]
}
Чтение формы¶
ответ
{
<общие поля>
"obj" : {
"id" : идентификатор формы
,"name" : "название"
,"create.date" : "дата и время создания" -- Ys
,"update.date" : "дата и время последнего изменения" -- Ys
,"state" : 0|1 -- состояние: 0 - форма отключена, 1 - активна
,"preview" : 0|1 -- при возврате подписчика к форме из-за ошибки заполнения заполнять её ранее введёнными данными
,"only_once" : 0|1 -- форма заполняется подписчиком только один раз
,"anketa" : анкета-форма в которую собираются данные
,"group" : группа-список в которую попадают заполнившие форму. не обязательно
,"origin" : "источник" -- источник, к которому относится форма. не обязательно.
,"landing" : {
"webpage" : id веб-страницы служащей шаблоном для отрисовки landing-page. не обязательно
}
,"fill" : {
"draft" :id черновика высылаемого как fill-letter. не обязательно
-- или одно из или вообще ничего:
,"webpage" : id веб-страницы служащей шаблоном для отрисовки fill-page
,"link" : id ссылки для fill-redirect
}
,"welcome" : {
"draft" :id черновика высылаемого как welcome-letter. не обязательно
-- или одно из или вообще ничего:
"webpage" : id веб-страницы служащая шаблоном для отрисовки welcome-page
,"link" : id ссылки для welcome-redirect
}
}
,"notify" : {
"email" : [ список адресов ]
,"draft" : id черновика
}
,"reltype" : ...
,"relref" : ...
}
}
Создание или изменение формы¶
При изменении существующей формы изменяются только те поля, которые явно указаны в запросе.
Для удаление не обязательного параметра используйте пустое значение.
{
"action" : "form.set"
,"obj" : {
,"name" : "название"
,"state" : 0|1 -- состояние: 0 - форма отключена, 1 - активна
,"anketa" : анкета-форма в которую собираются данные
,"preview" : 0|1 -- при возврате подписчика к форме заполнять её ранее введёнными данными
-- 0 - нет (по умолчанию)
-- 1 - да
,"only_once" : 0|1 -- форма заполняется подписчиком только один раз (0 - нет, 1 - да)
,"group" : группа-список в которую попадают заполнившие форму
,"origin" : "источник" -- источник, к которому относится форма
-- если в результате заполнения формы будет создан новый подписчик,
-- то его member.origin будет установлен в origin формы
,"landing" : {
"webpage" : id веб-страницы служащей шаблоном для отрисовки landing-page
}
,"fill" : {
"draft" :id черновика высылаемого как fill-letter. не обязательно
-- ответ пользователю после заполнения. одно из:
-- или отрисовка страницы (параметр link стирается)
,"webpage" : id веб-страницы служащей шаблоном для отрисовки fill-page
-- или перенаправление (параметр webpage стирается)
,"link" : id ссылки для fill-redirect. в ссылке поддерживается такая же персонализация к как и на веб-странице
-- или станица с текстом по умолчанию (оба параметра стираются)
,"webpage" : ""
,"link" : ""
}
,"welcome" : {
"draft" :id черновика высылаемого как welcome-letter. не обязательно
-- ответ пользователю после подтверждения заполнения формы. одно из:
-- или отрисовка страницы (параметр link стирается)
,"webpage" : id веб-страницы служащей шаблоном для отрисовки fill-page
-- или перенаправление (параметр webpage стирается)
,"link" : id ссылки для fill-redirect. в ссылке поддерживается такая же персонализация к как и на веб-странице
-- или станица с текстом по умолчанию (оба параметра стираются)
,"webpage" : ""
,"link" : ""
}
}
-- извещать о заполнении/подтверждении формы указанные адреса высылкой письма
-- или полностью отсутствует или указан как минимум один адрес и номер черновика
-- для удаления ранее настроенного извещения укажите "notify" : {}
,"notify" : {
"email" : [ список адресов ]
,"draft" : id черновика
}
,"reltype" : ...
,"relref" : ...
}
-- необязательные
,"id" : идентификатор формы -- если не указан, создается новая
,"return_fresh_obj" : "нужно вернуть данные объекта -- да, нет ( 1 | 0 )"
}
ответ
Удаление формы¶
Вместе с формой будет удалена привязанная к ней анкета(не собранные данные, а именно сама анкета) если код анкеты начинается наform_и protected у анкеты не установлен.
{
"action" : "form.delete"
,"id" : идентификатор формы
,"keep_anketa" : 0 | 1 -- оставить анкету (1), по умолчанию 0 - удалить
}
ответ
Получение кода формы для установки на сайте¶
{
"action" : "form.source"
,"id" : идентификатор формы
,"js" : 0|1 -- генерировать код с учётом использования java-script
-- не всегда возможно разместить код с java-script на не своём сайте
-- в большинстве случаев java-script не будет работать в письмах
--
-- при использовании java-script код будет пытаться максимально оставлять
-- пользователя на странице где он заполняет форму выводя все сообщения
-- по возможности во всплывающих окнах
,"channel" : "site|email|amp" -- где будет размещена форма, сайт или письмо. по умолчанию - site
}
ответ
{
"html" : "код формы"
,"url" : "полный адрес входной страницы формы" -- #6025 [BASE]/
,"url.fill" : "полный адрес страницы, отображаемой при окончании заполнения"
,"url.welcome" : "полный адрес страницы, отображаемой при подтверждении заполнения"
-- для amp
,"amp" : "код формы" - разместить в тексте AMP-письма
,"amp.head" : "код скриптов" - разместить в письме между @<head></head>@ для подключения необходимых скриптов.
}
Перенос значений из анкеты-формы в анкеты-хранилища¶
Этот вызов переносит ответ пользователя из анкеты-формы в анкеты-хранилища не дожидаясь, пока он сам подтвердит заполнение,
Этот вызов делает ровно то что написано, он не подтвердит регистрацию нового пользователя за него и не породит событие "Форма заполнена" или "форма подтверждена".
{
"action" : "form.transfer"
,"id" : идентификатор формы
,"email" : "адрес, данные которого перенести"
}
ответ