{"id":75,"type":"Article","title":"应用级别 API 接口","slug":"api","content":"我们提供了应用级别的 API。开启 API 后，可通过 API 主动拉动该应用下所有的问卷/评价的结构和数据。\r\n \r\n**注意：当重置后，所有使用现有 Key/Secret 的应用需要使用新的 Secret 才能工作。**\r\n\r\n![](https://help-assets.jinshuju.net/assets/file/1440/%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_150cfc2c-fe62-4e2e-9c2f-f4927a6aab16.png)\r\n\r\n# 接口验证\r\n**浩客  API  使用HTTP Basic Auth进行验证:**\r\n\r\n- 在浩客-应用设置- API 页面生成 ```API Secret ``` 和 ```API Key```\r\n\r\n- 将 API Key  和 API Secret 拼接成字符串 （ ```API Key + \":\" + API Secret```）\r\n\r\n- 将上述字符串进行 ```Base64``` 编码生成 ```encoded_string ```\r\n\r\n- 将编码后的字符串 ```encoded_string ```拼接 Basic 头（```Basic {{encoded_string}}```）\r\n\r\n- 将最终字符串 ```Basic {{encoded_string}}``` ，放置在 HTTP 请求头的 ```Authorization``` 中\r\n\r\n- 发送 HTTP 请求到 API 接口，完成 API 调用\r\n\r\n\r\n# 接口\r\n\r\n## **1. 获取单个问卷/评价结构**\r\n**Request**\r\n\r\n```\r\nGET  https://api.howxm.com/v1/campaigns/{{campaignId}}\r\n```\r\n\r\n| 参数说明 | 是否必填 | 类型 | 备注 |\r\n| -------- | -------- | -------- | -------- |\r\n| campaignId     | 是\t     | String \t     | 某个问卷/评价ID，请从该问卷/评价的设置中获取   |\r\n\r\n**Response示例**\r\n\r\n```\r\n{\r\n  \"id\": \"203b0940ee2d91f25b1f582557d7dd9a\",\r\n  \"name\": \"客服评价反馈\",\r\n  \"fields\": [\r\n    {\r\n      \"label\": \"您的问题是否解决？\",\r\n      \"code\": \"field_1\",\r\n      \"type\": \"RadioButton\",\r\n      \"choices\": [\r\n        {\r\n          \"label\": \"是\",\r\n          \"value\": \"c1\",\r\n          \"type\": \"TextChoice\"\r\n        },\r\n        {\r\n          \"label\": \"否\",\r\n          \"value\": \"c2\",\r\n          \"type\": \"TextChoice\"\r\n        }\r\n      ]\r\n    },\r\n    {\r\n      \"label\": \"您对客服的服务满意吗？\",\r\n      \"code\": \"field_2\",\r\n      \"type\": \"RatingField\"\r\n    },\r\n    {\r\n      \"label\": \"请告诉我们您选择该评分的原因\",\r\n      \"code\": \"field_3\",\r\n      \"type\": \"TextArea\"\r\n    },\r\n    {\r\n      \"label\": \"感谢您的反馈️\",\r\n      \"code\": \"field_4\",\r\n      \"type\": \"EndingField\"\r\n    }\r\n  ]\r\n}\r\n```\r\n\r\n| 参数说明  | 类型 | 备注 |\r\n| -------- | -------- | -------- |\r\n| id          | String \t     | 问卷/评价 ID    |\r\n| name        | String \t     | 问卷/评价标题   |\r\n| fields         | Array \t     | 问卷/评价题目数据   |\r\n| label    \t     | String \t     | 问卷/评价题目标题   |\r\n| code       | String \t     | 问卷/评价题目标识符   |\r\n| type       | String \t     | 问卷/评价题目类型   |\r\n| choices         | Array \t     | 问卷 单选/多选/CTA（引导）题目选项   |\r\n\r\n\r\n**示例代码**\r\n\r\n**postman**\r\n\r\n```\r\nGET  https://api.howxm.com/v1/campaigns/{{campaignId}}\r\n\r\nauthorization 选择 `Basic Auth`\r\nUsername 输入 API Key\r\nPassword 输入 API Secret\r\n\r\n```\r\n\r\n **curl**\r\n\r\n```\r\ncurl --location 'https://api.howxm.com/v1/campaigns/{{campaignId}}' \\\r\n--header 'Authorization: Basic {{token}}'\r\n\r\ntoken:将字符串（ API Key + “:” + API Secret）进行base64编码\r\n```\r\n\r\n\r\n## **2. 获取单个问卷/评价数据**\r\n**Request**\r\n\r\n```\r\n# 第一页的10条数据\r\nGET https://api.howxm.com/v1/campaigns/{{campaignId}}/entries\r\n\r\n# 也可以自定义分页信息 (pageSize \u0026 page)，单次最多获取100条数据\r\nGET https://api.howxm.com/v1/campaigns/{{campaignId}}/entries?pageSize={{pageSize}}\u0026page={{page}}\r\n```\r\n\r\n| 参数说明 | 是否必填 | 类型 | 备注 |\r\n| -------- | -------- | -------- | -------- |\r\n| campaignId     | 是     | String \t     | 某个问卷/评价ID，请从该问卷/评价的设置中获取   |\r\n| pageSize     | 否\t     | String \t     |  每页数据条数，最大为100条  |\r\n| page     | 否\t     | String \t     | 当前页码   |\r\n\r\n**Response示例**\r\n\r\n```\r\n{\r\n  \"page\": 1,\r\n  \"pageSize\": 2,\r\n  \"pages\": 4,\r\n  \"totalCount\": 8,\r\n  \"data\": [\r\n    {\r\n      \"serial_number\": 8,\r\n      \"fields\": {\r\n        \"field_3\": \"sss\",\r\n        \"field_1\": {\r\n          \"value\": [\r\n            \"c1\"\r\n          ]\r\n        },\r\n        \"field_2\": 4\r\n      },\r\n      \"created_at\": \"2023-05-31T08:43:53.253604Z\",\r\n      \"ip\": \"113.200.81.42\",\r\n      \"platform\": \"Mac\",\r\n      \"os\": \"Mac OS X 10.15.7\",\r\n      \"browser\": \"Chrome 112.0.0\",\r\n      \"region\": {\r\n        \"country\": \"中国\",\r\n        \"province\": \"陕西省\",\r\n        \"city\": \"西安市\"\r\n      },\r\n      \"filling_duration\": 5,\r\n      \"referer\": \"http://localhost:1234/xs/u/YSRZ8O8ERQTM\",\r\n      \"delivery_method\": \"URL\",\r\n      \"submitted_on\": \"completion\"\r\n    },\r\n    {\r\n      \"serial_number\": 7,\r\n      \"fields\": {\r\n        \"field_3\": \"  s\",\r\n        \"field_1\": {\r\n          \"value\": [\r\n            \"c2\"\r\n          ]\r\n        },\r\n        \"field_2\": 4\r\n      },\r\n      \"customer\": {\r\n        \"uid\": \"5e9d76cb6d6ea436cd1d573e\",\r\n        \"name\": \"June\",\r\n        \"previous_purchase_plan\": \"企业高级版\",\r\n      },\r\n      \"created_at\": \"2023-05-31T08:09:10.371721Z\",\r\n      \"ip\": \"113.200.81.42\",\r\n      \"platform\": \"Mac\",\r\n      \"os\": \"Mac OS X 10.15.7\",\r\n      \"browser\": \"Chrome 112.0.0\",\r\n      \"region\": {\r\n        \"country\": \"中国\",\r\n        \"province\": \"陕西省\",\r\n        \"city\": \"西安市\"\r\n      },\r\n      \"filling_duration\": 7,\r\n      \"referer\": \"http://localhost:1234/xs/u/YSRZ8O8ERQTM\",\r\n\t\t\t\"triggerred_by_event\": \"click_to_pay\",\r\n      \"delivery_method\": \"URL\",\r\n      \"submitted_on\": \"completion\"\r\n    }\r\n  ]\r\n}\r\n```\r\n\r\n| 参数说明 | 类型 | 备注 |\r\n| -------- | -------- | -------- |\r\n| page     | Number \t     |   当前页码  |\r\n| pageSize     | Number \t     |   每页数据条数 |\r\n| pages       | Number \t     |  总页数  |\r\n| totalCount        | Number \t     |   总数据量 |\r\n| data      | Array \t     |   数据详情|\r\n| data[].serial_number         | Number \t     |  数据序号  |\r\n| data[].fields        |  \t     | 题目数据详情   |\r\n| data[].created_at      |  \tDate     |  数据提交时间  |\r\n| data[].ip         |  \t String    | IP   |\r\n| data[].os        |  \t String    |    操作系统\t|\r\n| data[].browser   \t     |  \tString     |  浏览器\t  |\r\n| data[].region    \t     |  \t     | 填写地区\t   |\r\n| data[].filling_duration   \t     |  Number\t     |   填写时长\t |\r\n| data[].referer       |  \tString     |  填写页面\t  |\r\n| data[].triggerred\\_by_event \t|  \t String    | 问卷/评价触发事件\t   |\r\n| data[].delivery_method    \t     |  \t   String  |   投放方式\t |\r\n| data[].submitted_on  \t     |  \t String    | 提交方式\t   |\r\n\r\n**示例代码**\r\n\r\n**postman**\r\n\r\n```\r\nGET   https://api.howxm.com/v1/campaigns/{{campaignId}}/entries?pageSize=10\u0026page=1\r\n\r\nauthorization 选择 `Basic Auth`\r\nUsername 输入 API Key\r\nPassword 输入 API Secret\r\n\r\n```\r\n\r\n **curl**\r\n\r\n```\r\ncurl --location 'https://api.howxm.com/v1/campaigns/{{campaignId}}/entries?pageSize=50\u0026page=2'\\\r\n--header 'Authorization: Basic {{token}}'\r\n\r\ntoken:将字符串（ API Key + “:” + API Secret）进行base64编码\r\n\r\n```\r\n\r\n\r\n## **3. 获取应用下的问卷/评价列表**\r\n**Request**\r\n\r\n```\r\n# 获取最新创建的10个问卷/评价\r\nGET https://api.howxm.com/v1/campaigns\r\n\r\n# 也可以自定义分页信息 (pageSize \u0026 page)，单次最多获取100条数据\r\nGET https://api.howxm.com/v1/campaigns?pageSize={{pageSize}}\u0026page={{page}}\r\n```\r\n\r\n| 参数说明 | 是否必填 | 类型 | 备注 |\r\n| -------- | -------- | -------- | -------- |\r\n| pageSize     | 否\t     | String \t     |  每页数据条数，最大为100条  |\r\n| page     | 否\t     | String \t     | 当前页码   |\r\n\r\n**Response示例**\r\n\r\n```\r\n{\r\n    \"page\": 1,\r\n    \"pageSize\": 10,\r\n    \"pages\": 1,\r\n    \"totalCount\": 1,\r\n    \"data\": [\r\n        {\r\n            \"id\": \"54ef94f159fa1abeef2de2423870ff19\",\r\n            \"name\": \"NPS 净推荐值调研\",\r\n            \"type\": \"SURVEY\",\r\n            \"enabled\": true,\r\n            \"created_at\": \"2023-07-14T06:18:49.857451Z\",\r\n            \"creator\": {\r\n                \"id\": \"8e02d930e9407bf0c9c8c549303628f4\",\r\n                \"name\": \"李华\"\r\n            }\r\n        }\r\n    ]\r\n}\r\n```\r\n\r\n| 参数说明 | 类型 | 备注 |\r\n| -------- | -------- | -------- |\r\n| page     | Number \t     |   当前页码  |\r\n| pageSize     | Number \t     |   每页问卷/评价条数 |\r\n| pages       | Number \t     |  总页数  |\r\n| totalCount        | Number \t     |   总问卷/评价量 |\r\n| data      | Array \t     |   数据详情|\r\n| data[].id         | String \t     |  问卷/评价ID  |\r\n| data[].name        | String \t     |  问卷/评价名称  |\r\n| data[].type        | String \t     |  SURVEY：问卷 ；\u003cbr\u003e FEEDBACK：评价  |\r\n| data[].enabled        | Boolean \t     |  true：已发布 ；\u003cbr\u003e false：未发布  |\r\n| data[].created_at      |  \tDate     |  问卷/评价创建时间  |\r\n| data[].creator      |  \t     |  创建者信息  |\r\n\r\n\r\n**示例代码**\r\n\r\n**postman**\r\n\r\n```\r\nGET   https://api.howxm.com/v1/campaigns?pageSize=10\u0026page=1\r\n\r\nauthorization 选择 `Basic Auth`\r\nUsername 输入 API Key\r\nPassword 输入 API Secret\r\n\r\n```\r\n\r\n **curl**\r\n\r\n```\r\ncurl --location 'https://api.howxm.com/v1/campaigns?pageSize=50\u0026page=2'\\\r\n--header 'Authorization: Basic {{token}}'\r\n\r\ntoken:将字符串（ API Key + “:” + API Secret）进行base64编码\r\n\r\n```\r\n","featured":false,"category_id":16,"created_at":"2023-06-02T02:34:18.312Z","updated_at":"2023-12-19T10:30:02.834Z"}