Опрос по индивидуальным ссылкам

Если при проведении онлайн-опроса необходимо идентифицировать респондентов или подставлять в анкету какие-то данные из базы данных, для этого можно использовать тип проекта «Внешняя система дозвона».

«При чём здесь система дозвона?» - может пробежать мысль в вашей голове. Дело в том, что при необходимости идентификации этот тип проекта имеет ряд преимуществ перед «Веб-опросом»:

Внешняя система дозвона Веб-опрос
Чтобы ID из ссылки попал в массив, его необходимо просто передать в параметр extid. В массиве он будет в столбце ExtID. Нужно добавить в анкету дополнительный вопрос, в скрипте которого подставлять в качестве ответа ID из ссылки.
Без ID в ссылке анкета не откроется. Откроется как ни в чём не бывало. Но это ограничение можно сделать скриптом.
Респондент не сможет заполнить анкету повторно со своим ID в ссылке. Можно заполнять анкеты снова и снова. Запрет на повторное заполнение можно сделать скриптами по IP респондента и его браузеру или по ID из ссылки.
Интервью можно прерывать и продолжать заполнение анкеты в другое время и на другом устройстве. Продолжить заполнение анкеты можно только в том же браузере, в котором она была начата, и только в течение 3-х часов с момента последней активности в анкете.
В анкету можно подставлять данные из базы контактов. Это невозможно.

Как видно из таблицы, «Внешняя система дозвона» позволяет избавиться от лишней работы, а при необходимости подстановки данных этот тип проекта - единственная возможность, поэтому далее речь пойдёт о нём.

Итак, если требуется только сохранять в массиве ID респондента, добавьте к рабочей ссылке на опрос параметр extid, создайте для каждого ID свою ссылку и отправьте полученные ссылки респондентам, например:

  • https://do.survey-studio.com/survey?pkey=ef87c2da&extid=794035
  • https://do.survey-studio.com/survey?pkey=ef87c2da&extid=884751
  • https://do.survey-studio.com/survey?pkey=ef87c2da&extid=416592
  • и так далее.

Если ссылка будет короткая и в ней нет других параметров, то extid нужно добавлять после вопросительного знака:

  • https://sst.gl/the_best_survey?extid=794035

Идентификаторы могут быть только числовыми. Если нужны текстовые - надо использовать «Веб-опрос».

В качестве ID лучше использовать случайные, но при этом уникальные внутри проекта числа, и подлиннее, а не последовательность вроде 1,2,3,4,5... При использовании непрерывной последовательности можно случайно или умышленно заполнить чужую анкету.

Если в массиве, кроме ID, нужна дополнительная информация о респонденте или в анкету нужно подставлять какие-то данные, то файл с этой информацией необходимо загрузить в базу контактов. Как минимум, файл должен содержать столбцы с ID респондента и номером телефона. В качестве телефона можно использовать копию столбца с идентификаторами, если они состоят не менее, чем из 5 цифр. То есть в файле будет 2 одинаковых столбца, один из которых будет «телефоном». Если ID короче, то для телефона нужно использовать любые другие числа. При загрузке полю с ID нужно будет поставить тип значения Внешний ключ.

После загрузки базы, её лучше выгрузить обратно с флагом Добавить поля с идентификаторами контакта ID и ExternalID и делать ссылки по колонке ExternalID. Это нужно на случай, если вдруг в загружаемом файле были дубли – система их удалит.

Чтобы добавить в массив информацию из базы контактов, при его выгрузке нужно поставить флаг Выгружать дополнительные поля с данными из базы контактов. Если требуется подставлять данные в анкету, это можно делать, как обычно, через объект contact.

При открытии ссылки с ID, которого нет в базах контактов, в автоматически созданную базу External будет добавлен контакт с этим ID и телефоном unknown. Это можно использовать для запрета заполнения анкеты с неверным идентификатором. Для этого в первый вопрос анкеты нужно добавить скрипт перед показом:

if (contact.contactPoolName == 'External') {
    return exit('Произошла ошибка. Идентификатор не найден в базе данных.')
}