2016-07-03 7 views
0

Я использовал V2 Survey Monkey API, чтобы получить подробную информацию о коллекционерах и опросах. Теперь я заинтересован в том, как использовать V3 API для создания/изменения опросов. Я надеюсь, что некоторые полезные советы от других пользователей помогут мне, поскольку я относительно новичок в API. Я буду использовать Python.Создать/Изменить опрос - API v3

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

Получатель А будет получить:

Q1. По шкале от 1 (наименее) до 5 (наиболее), сколько вам нравится:

a. Burgers b. Пицца c. Hotdogs

Q2. В масштабе 1 (редко) до 5 (очень), в типичную неделю, как часто вы едите:

a. Burgers b. Пицца c. Сосиски

В то время как получатель B получит

Q1. По шкале от 1 (наименее) до 5 (наиболее), сколько вам нравится:

a. Жареный цыпленок b. Картофель фри c. Tacos

Q2. В масштабе 1 (редко) до 5 (очень), в типичную неделю, как часто вы едите:

a. Жареный цыпленок b. Картофель фри c. Tacos

Как создать API, который читает в различных вариантах ответа.

Я также планирую использовать pandas для загрузки таблицы параметров ответа для каждого получателя и хочу узнать, как передать параметры ответа в API - будет ли это путем преобразования в JSON? Прочтите документацию, но не всегда очевидно, что нужно сделать (новичкам).

Большое спасибо!

ответ

0

Насколько я знаю, для отображения/скрытия вариантов ответа не существует логики ветвления. Если вы отправляли анкету одному получателю в то время, и вы действительно хотите иметь один вопрос с измененными вариантами ответов вы теоретически могли бы сделать что-то вроде этого:

POST /v3/surveys/<id>/pages/<id>/questions 

{ 
    "family": "matrix", 
    "subtype": "rating", 
    "answers": { 
    "rows": [ 
     { 
     "text": "Burgers", 
     "visible": true, 
     "position": 1 
     }, 
     { 
     "text": "Pizza", 
     "visible": true, 
     "position": 2 
     }, 
     { 
     "text": "Hotdogs", 
     "visible": true, 
     "position": 3 
     }, 
     { 
     "text": "Fried chicken", 
     "visible": false, 
     "position": 4 
     }, 

     { 
     "text": "French fries", 
     "visible": false, 
     "position": 5 
     }, 

     { 
     "text": "Tacos", 
     "visible": false, 
     "position": 6 
     } 
    ], 
    "choices": [ 
     { 
     "text": "1", 
     "position": 1 
     }, 
     { 
     "text": "2", 
     "position": 2 
     }, 
     { 
     "text": "3", 
     "position": 3 
     }, 
     { 
     "text": "4", 
     "position": 4 
     }, 
     { 
     "text": "5", 
     "position": 5 
     } 
    ] 
    }, 
    "headings": [ 
    { 
     "heading": "On a scale of 1 (least) to 5 (most), how much do you like eating:" 
    } 
    ], 
    "forced_ranking": false 
} 

А потом пропатчить visible на варианты ответов между истинным и false для каждого получателя, таким образом, вы можете анализировать по одному и тому же вопросу. Но это не идеальный вариант, так как это изменяет опрос для всех, кто ограничивает вас одним получателем, принимающим опрос за раз.

Учитывая, что вы планируете переносить данные на панды в любом случае, почему бы просто не разделить на четыре разных вопроса? Затем просто используйте advanced branching, чтобы скрыть/показать вопросы на основе пользовательского значения получателя.Таким образом, вы можете иметь правило, это что-то вроде:

if contact.custom1 is exactly "fried" then hide question 1 and show question 2 

Тогда вы можете export all your data или принести свои ответы через API

GET /v3/surveys/<id>/responses/bulk 

который даст вам JSON из всех ответов, которые вы можете переместить к пандам. Могут быть другие способы делать то, что вы хотите, но с учетом доступных функций; это несколько примеров, которые могут быть полезны.

+0

Спасибо за отзыв. Я планирую использовать сборщик электронной почты. Однако в опросе будет несколько комбинаций ответов, каждая комбинация, уникальная для получателя, - может ли усиленная ветвящаяся работа? Главная задача, которую я хочу достичь здесь, - это автоматическая совокупность вариантов ответа - это важная часть загадки, которую я пытаюсь выяснить. – SOLee

+0

Я должен добавить, что около тысячи получателей имеют уникальную комбинацию (выбор продуктов зависит от страны). Невозможно предоставить список вариантов ответа для выбора и отладки оттуда, поскольку бизнес-требование заключается в использовании вариантов ответа, указанных ранее. Спасибо заранее. – SOLee

+0

Да, поэтому вы можете добавить получателей в коллекционер электронной почты с полем, указывающим свою страну, например, а затем использовать расширенное ветвление для отображения/скрытия вопросов на основе этого поля. Возможно, у вас также может быть первая страница, предварительно заполненная на основе получателя, а затем переносящие ответы (http://help.surveymonkey.com/articles/en_US/kb/Carry-Forward). Если вы не знаете, какие вопросы должны отображаться до тех пор, пока получатель не ответит на предыдущий вопрос (например, в какой стране вы проживаете?), Вы можете выполнить расширенное разветвление на основе ответа на это. Извините, если я не полностью понимаю ваш сценарий! –