应用级别 API 接口

我们提供了应用级别的 API。开启 API 后,可通过 API 主动拉动该应用下所有的问卷/评价的结构和数据。

注意:当重置后,所有使用现有 Key/Secret 的应用需要使用新的 Secret 才能工作。

接口验证

浩客 API 使用HTTP Basic Auth进行验证:

  • 在浩客-应用设置- API 页面生成 API SecretAPI Key

  • 将 API Key 和 API Secret 拼接成字符串 ( API Key + ":" + API Secret

  • 将上述字符串进行 Base64 编码生成 encoded_string

  • 将编码后的字符串 encoded_string拼接 Basic 头(Basic {{encoded_string}}

  • 将最终字符串 Basic {{encoded_string}} ,放置在 HTTP 请求头的 Authorization

  • 发送 HTTP 请求到 API 接口,完成 API 调用

接口

1. 获取单个问卷/评价结构

Request

GET  https://api.howxm.com/v1/campaigns/{{campaignId}}
参数说明 是否必填 类型 备注
campaignId String 某个问卷/评价ID,请从该问卷/评价的设置中获取

Response示例

{
  "id": "203b0940ee2d91f25b1f582557d7dd9a",
  "name": "客服评价反馈",
  "fields": [
    {
      "label": "您的问题是否解决?",
      "code": "field_1",
      "type": "RadioButton",
      "choices": [
        {
          "label": "是",
          "value": "c1",
          "type": "TextChoice"
        },
        {
          "label": "否",
          "value": "c2",
          "type": "TextChoice"
        }
      ]
    },
    {
      "label": "您对客服的服务满意吗?",
      "code": "field_2",
      "type": "RatingField"
    },
    {
      "label": "请告诉我们您选择该评分的原因",
      "code": "field_3",
      "type": "TextArea"
    },
    {
      "label": "感谢您的反馈️",
      "code": "field_4",
      "type": "EndingField"
    }
  ]
}
参数说明 类型 备注
id String 问卷/评价 ID
name String 问卷/评价标题
fields Array 问卷/评价题目数据
label String 问卷/评价题目标题
code String 问卷/评价题目标识符
type String 问卷/评价题目类型
choices Array 问卷 单选/多选/CTA(引导)题目选项

示例代码

postman

GET  https://api.howxm.com/v1/campaigns/{{campaignId}}

authorization 选择 `Basic Auth`
Username 输入 API Key
Password 输入 API Secret

curl

curl --location 'https://api.howxm.com/v1/campaigns/{{campaignId}}' \
--header 'Authorization: Basic {{token}}'

token:将字符串( API Key + “:” + API Secret)进行base64编码

2. 获取单个问卷/评价数据

Request

# 第一页的10条数据
GET https://api.howxm.com/v1/campaigns/{{campaignId}}/entries

# 也可以自定义分页信息 (pageSize & page),单次最多获取100条数据
GET https://api.howxm.com/v1/campaigns/{{campaignId}}/entries?pageSize={{pageSize}}&page={{page}}
参数说明 是否必填 类型 备注
campaignId String 某个问卷/评价ID,请从该问卷/评价的设置中获取
pageSize String 每页数据条数,最大为100条
page String 当前页码

Response示例

{
  "page": 1,
  "pageSize": 2,
  "pages": 4,
  "totalCount": 8,
  "data": [
    {
      "serial_number": 8,
      "fields": {
        "field_3": "sss",
        "field_1": {
          "value": [
            "c1"
          ]
        },
        "field_2": 4
      },
      "created_at": "2023-05-31T08:43:53.253604Z",
      "ip": "113.200.81.42",
      "platform": "Mac",
      "os": "Mac OS X 10.15.7",
      "browser": "Chrome 112.0.0",
      "region": {
        "country": "中国",
        "province": "陕西省",
        "city": "西安市"
      },
      "filling_duration": 5,
      "referer": "http://localhost:1234/xs/u/YSRZ8O8ERQTM",
      "delivery_method": "URL",
      "submitted_on": "completion"
    },
    {
      "serial_number": 7,
      "fields": {
        "field_3": "  s",
        "field_1": {
          "value": [
            "c2"
          ]
        },
        "field_2": 4
      },
      "customer": {
        "uid": "5e9d76cb6d6ea436cd1d573e",
        "name": "June",
        "previous_purchase_plan": "企业高级版",
      },
      "created_at": "2023-05-31T08:09:10.371721Z",
      "ip": "113.200.81.42",
      "platform": "Mac",
      "os": "Mac OS X 10.15.7",
      "browser": "Chrome 112.0.0",
      "region": {
        "country": "中国",
        "province": "陕西省",
        "city": "西安市"
      },
      "filling_duration": 7,
      "referer": "http://localhost:1234/xs/u/YSRZ8O8ERQTM",
            "triggerred_by_event": "click_to_pay",
      "delivery_method": "URL",
      "submitted_on": "completion"
    }
  ]
}
参数说明 类型 备注
page Number 当前页码
pageSize Number 每页数据条数
pages Number 总页数
totalCount Number 总数据量
data Array 数据详情
data[].serial_number Number 数据序号
data[].fields 题目数据详情
data[].created_at Date 数据提交时间
data[].ip String IP
data[].os String 操作系统
data[].browser String 浏览器
data[].region 填写地区
data[].filling_duration Number 填写时长
data[].referer String 填写页面
data[].triggerred_by_event String 问卷/评价触发事件
data[].delivery_method String 投放方式
data[].submitted_on String 提交方式

示例代码

postman

GET   https://api.howxm.com/v1/campaigns/{{campaignId}}/entries?pageSize=10&page=1

authorization 选择 `Basic Auth`
Username 输入 API Key
Password 输入 API Secret

curl

curl --location 'https://api.howxm.com/v1/campaigns/{{campaignId}}/entries?pageSize=50&page=2'\
--header 'Authorization: Basic {{token}}'

token:将字符串( API Key + “:” + API Secret)进行base64编码

3. 获取应用下的问卷/评价列表

Request

# 获取最新创建的10个问卷/评价
GET https://api.howxm.com/v1/campaigns

# 也可以自定义分页信息 (pageSize & page),单次最多获取100条数据
GET https://api.howxm.com/v1/campaigns?pageSize={{pageSize}}&page={{page}}
参数说明 是否必填 类型 备注
pageSize String 每页数据条数,最大为100条
page String 当前页码

Response示例

{
    "page": 1,
    "pageSize": 10,
    "pages": 1,
    "totalCount": 1,
    "data": [
        {
            "id": "54ef94f159fa1abeef2de2423870ff19",
            "name": "NPS 净推荐值调研",
            "type": "SURVEY",
            "enabled": true,
            "created_at": "2023-07-14T06:18:49.857451Z",
            "creator": {
                "id": "8e02d930e9407bf0c9c8c549303628f4",
                "name": "李华"
            }
        }
    ]
}
参数说明 类型 备注
page Number 当前页码
pageSize Number 每页问卷/评价条数
pages Number 总页数
totalCount Number 总问卷/评价量
data Array 数据详情
data[].id String 问卷/评价ID
data[].name String 问卷/评价名称
data[].type String SURVEY:问卷 ;
FEEDBACK:评价
data[].enabled Boolean true:已发布 ;
false:未发布
data[].created_at Date 问卷/评价创建时间
data[].creator 创建者信息

示例代码

postman

GET   https://api.howxm.com/v1/campaigns?pageSize=10&page=1

authorization 选择 `Basic Auth`
Username 输入 API Key
Password 输入 API Secret

curl

curl --location 'https://api.howxm.com/v1/campaigns?pageSize=50&page=2'\
--header 'Authorization: Basic {{token}}'

token:将字符串( API Key + “:” + API Secret)进行base64编码