通过API v3

时间:2017-03-01 17:44:08

标签: api surveymonkey alteryx

我目前无法弄清楚如何通过API获取多个自定义字段。 Excel提取提供了我需要的列,但我找不到v3 GET或POST协议来获取所需的字段。

自: api.surveymonkey.net/v3/surveys/ [survey_id] /细节

我看到了所需的字段:

  1. custom_variables.a = [变量列名称]
  2. custom_variables.b = [变量b列名]
  3. 使用以下内容:api.surveymonkey.net/v3/surveys/[survey_id]/responses/bulk?page = [#]& per_page = [#]

    1. data.0.custom_value = blank
    2. data.0.recipient_id = blank
    3. 10/6/16更新:更改自定义变量计划要求

      变更说明:使黄金计划及以上版本可以访问调查自定义变量。

      受影响的终点:/调查,/调查/ {id}, / survey / {id} / respond / bulk ,/ collectors / {id} / responses / bulk,/ surveys / {id } / answers / {id},/ collectors / {id} / answers / {id},/ surveys / {id} / responses / {id} / details,/ collectors / {id} / responses / {id} / details

      我达到了API调用限制,但还无法运行/ collectors / {id} /响应。我认为现在最好问一下并得到正确的答案(所以我可以完成这个项目并在我的"计数器"重置时)到达我的截止日期。作为我正在使用Alteryx拨打电话的信息,一旦我完成这件作品,将在Alteryx网站上发布工作流程(以回馈社区)。

      提前感谢您的帮助!

      -DREW

2 个答案:

答案 0 :(得分:0)

所以这些是两种不同的“自定义值”。

Custom Variables基本上是URL参数,将被调查响应接受并存储。这些仅适用于非基于电子邮件的收集器,特别是对于Weblink收集器。自定义变量也存储在调查中,因此当您fetch

GET /v3/surveys/<survey_id>

你会得到像

这样的回复
{
  "title": "My Survey",
  "custom_variables": {
    "name1": "label1",
    "name2": "label2"
    ...

  },
  ...
}

然后当你fetch survey responses,假设他们被填写,你会得到这样的回复:

GET /v3/surveys/<survey_id>/responses/<response_id>
{
  "id": "<response_id>",
  "response_status": "completed",
  "custom_variables": {
    "name1": "value1",
    "name2": "value2"
    ...
  },
  ...
}

关于Custom Values,这些是存储在地址簿中的联系人资源上的自定义数据,用于在电子邮件收集器(而非调查)上创建收件人。

因此,当您在电子邮件收集器上create a new recipient时,您可以设置存储在联系人和收件人中的custom_fields。当您获取该收件人时,它看起来像这样:

GET /v3/collectors/<collector_id>/recipients/<recipient_id>
{
    "id": "<recipient_id>",
    "email": "<email>",
    "first_name": "<first_name>",
    "last_name": "<last_name>",
    "custom_fields": {
      "1": "field1",
      "2": "field2",
      "3": "field3",
      ...
    }
    ...
}

然后当该特定收件人回答调查并获取响应时,您将在响应元数据中获得联系信息,如:

GET /v3/surveys/<survey_id>/responses/<response_id>
{
  "id": "<response_id>",
  "response_status": "completed",
  "metadata": {
    "contact": {
        {
          "id": "<response_id>",
          "response_status": "completed",
          "metadata": {
            "contact": {
                "first_name": {
                  "type": "string",
                  "value": "<first_name>"
                },
                "last_name": {
                  "type": "string",
                  "value": "<last_name>"
                },
                "name1": {
                  "type": "string",
                  "value": "value1"
                },
                "name2": {
                  "type": "string",
                  "value": "value2"
                },
                "name3": {
                  "type": "string",
                  "value": "value3"
                }
            },
            ...
          },
          ...
        }
        ...
    },
    ...
  }
}

请注意,元数据只会在bulk responses endpoint中包含名字,姓氏和电子邮件。这是批量回复的当前限制。

希望有助于澄清差异。

答案 1 :(得分:0)

使用以下网址时

  

https://api.surveymonkey.net/v3/surveys/ {SURVEY_ID} / answers / bulk,

作为回应,您获得自定义变量

{
  "per_page": 50,
  "total": 6,
  "data": [
    {
      "total_time": 108,
      "href":"https://api.surveymonkey.net/v3/surveys/119486428/responses/6287196301",
      "custom_variables": {
      "key1": "value1",
      "key2": "value2"
    },
}    

我正在使用网络收藏家。并添加自定义变量作为url参数。