REST_接入说明文档

一、说明

1.适用范围

热云灵犀产品作为国内多维度的用户行为分析平台,能够更好的帮助客户精细化了解用户、寻找增长点、搭建多维数据分析模型,帮客户实现数据驱动。

本文档适用于服务器报送数据。

2.统计说明

为了能够在接入过程中保持概念统一,针对通用概念做如下说明:

  • 设备

指某台安装了应用的终端。

  • 账号

指用户在某台设备上安装了应用之后,在应用中的唯一标识。

通常用作账号的标识符可以是用户注册应用时的唯一用户名(如邮件地址),也可以是用户注册时自动生成的唯一字符串。

二、接入流程

1.申请APPKEY

1)打开http://io.reyun.com/login.html,使用您的热云灵犀账号进行登录。

2)进入“产品中心”,点击左上方+新建产品,完成产品创建,您将获得一串32位的16进制APPKEY;

如果您已经完成产品创建,请在如下位置获取APPKEY:“全部产品按钮”-“对应产品”-APPKEY

3)APPKEY为应用的唯一标识,用于集成到SDK中。

注:为了保证您的数据安全,请勿泄露您的APPKEY。

2.数据报送

详见“三、数据报送说明”

3.测试

在灵犀系统-工具-日志流中查看数据是否报送成功。

注:“热云SDK所有API接口的http response均以status:0表示成功,若不成功,会在返回的json里提示详细错误信息。

三、数据报送说明

1.注意事项

1)数据报送地址:http://iolog.reyun.com

2)所有请求格式统一使用UTF-8编码,请求方式使用post。

3)所有必填参数,请务必上报,有下划线的参数必须携带下划线。

IOS必填参数,Android不需上报,

Android必填参数,IOS不需上报

4)_deviceid为基本参数,是用来记录用户设备身份信息(IOS获取idfa,Android获取IMEI或者AndroidID,但要保证一致)

6)报送的头信息中一定要有Content-Type=application/json参数。

7)灵犀的计算是基于用户账号,所以请务必上报注册事件。

2.统计用户首次安装打开应用:/receive/analyze/install

  • 方法用途:

在用户第一次打开应用时调用,记录用户设备激活数据,只报送一次。

  • 参数说明:
参数名 是否必填 参数类型 长度 说明
appid String 创建产品时获得的32位字符长度的APPK
context HashMap 上下文信息

上下文信息:

参数名 是否必填 参数类型 长度 说明
_deviceid String 最长128位 IOS:内容填写idfa的值。Android:内容填写imei的值,无则填写anroidid的值取值
_idfa IOS必填 String 广告标示符
_idfv IOS必填 String Vindor标示符
_imei Android必填 String 手机唯一识别码
_androidid Android必填 String
_ip String 客户端IP
_tz String 时区,默认 +8
  • 示例代码:

注:jsonObject格式(下列为iOS应用示例,如需报送Android应用请去掉idfa,idfv。添加imei和androidid参数)

{"appid":"xxxxxxxxxxxxxxxx","context":{"_deviceid":"3DEA635F-B24F-434B-833F-4ED028FEAEEF","_campaignid":"_default_","_idfa":"3DEA635F-B24F-434B-833F-4ED028FEAEEF","_idfv":"A491B28D-F3FE-4DC2-B352-A38146DE0A19","_ip":"111.1.11.111","_tz":"+8","_manufacturer":"apple","_ryos":"ios","_ryosversion":"11.1.1","_rydevicetype":"iphone7","_network":"wifi","_resolution":"1334*750","_op":"中国移动"}}

服务器返回json数据:

{"status":0}

3.统计用户打开应用:/receive/analyze/startup

  • 方法用途:

在用户每次打开应用时报送,记录用户启动应用数据。

  • 参数说明:
参数名 是否必填 参数类型 长度 说明
appid String 创建产品时获得的32位字符长度的AP
context HashMap 上下文信息

上下文信息:

参数名 是否必填 参数类型 长度 说明
_deviceid String 最长128位 IOS:内容填写idfa的值。Android:内容填写imei的值,无则填写anroidid的值
_idfa IOS必填 String 广告标识
_idfv IOS必填 String Vindor标示符
_imei Android必填 String 手机的唯一识别号码
_androidid Android必填 String
_ip String 客户端IP
_tz String 时区,默认 +8
  • 示例代码:

注:jsonObject格式(下列为iOS应用示例,如需报送Android应用请去掉idfa,idfv。添加imei和androidid参数)

{"appid":"xxxxxxxxxxxxxxxx","context":{"_deviceid":"3DEA635F-B24F-434B-833F-4ED028FEAEEF","_idfa":"3DEA635F-B24F-434B-833F-4ED028FEAEEF","_idfv":"A491B28D-F3FE-4DC2-B352-A38146DE0A19","_ip":"111.1.11.111","_tz":"+8"}}

服务返回json数据:

{"status":0}

4.统计用户注册方法:/receive/analyze/register

  • 方法用途:

用于用户注册完成,报送应用注册事件。

  • 参数说明:
参数名 是否必填 参数类型 长度 说明
appid String 创建产品时获得的32位字符长度的AP
who String 最长64位 账号唯一标识,支持英文、数字、下划线
context HashMap 上下文信息

上下文信息:

参数名 是否必填 参数类型 长度 说明
_deviceid String 最长128位 IOS:内容填写idfa的值。Android:内容填写imei的值,无则填写anroidid的
_idfa IOS必填 String 广告标识
_idfv IOS必填 String Vindor标示符
_imei Android必填 String 手机的唯一识别号码
_androidid Android必填 String
_ip String 客户端IP
_tz String 时区,默认 +8
  • 示例代码:

注:jsonObject格式(下列为iOS应用示例,如需报送Android应用请去掉idfa,idfv。添加imei和androidid参数)

{"appid":"xxxxxxxxxxxxxxxx","who":"userid001","context":{"_deviceid":"3DEA635F-B24F-434B-833F-4ED028FEAEEF","_idfa":"3DEA635F-B24F-434B-833F-4ED028FEAEEF","_idfv":"A491B28D-F3FE-4DC2-B352-A38146DE0A19","_ip":"111.1.11.111","_tz":"+8"}}

服务返回json数据:

{"status":0}

5.统计用户登录方法:/receive/analyze/loggedin

  • 方法用途:

用于用户登录完成、切换账号时,报送应用登录事件。

  • 参数说明:
参数名 是否必填 参数类型 长度 说明
appid String 创建产品时获得的32位字符长度的AP
who String 最长64位 账号唯一标识,支持英文、数字、下
context HashMap 上下文信息

上下文信息:

参数名 是否必填 参数类型 长度 说明
_deviceid String 最长128位 IOS:内容填写idfa的值。Android:内容填写imei的值,无则填写anroidid的
_idfa IOS必填 String 广告标识
_idfv IOS必填 String Vindor标示符
_imei Android必填,ios不填 String 手机的唯一识别号码
_androidid Android必填 String
_ip String 客户端IP
_tz String 时区,默认 +8
  • 示例代码:

注:jsonObject格式(下列为iOS应用示例,如需报送Android应用请去掉idfa,idfv。添加imei和androidid参数)

{"appid":"xxxxxxxxxxxxxxxx","who":"userid001","context":{"_deviceid":"3DEA635F-B24F-434B-833F-4ED028FEAEEF","_idfa":"3DEA635F-B24F-434B-833F-4ED028FEAEEF","_idfv":"A491B28D-F3FE-4DC2-B352-A38146DE0A19","_ip":"111.1.11.111","_tz":"+8"}}

服务返回json数据:

  • {"status":0}

6.统计用户充值方法:/receive/analyze/payment

  • 方法用途:

用于用户充值成功,统计充值数据,所有付费相关分析的数据报表均依赖此方法。

  • 参数说明:
参数名 是否必填 参数类型 长度 说明
appid String 创建产品时获得的32位字符长度的AP
who String 最长64位 账号唯一标识,支持英文、数字、下
context HashMap 上下文信息

上下文信息

参数名 是否必填 参数类型 长度 说明
_deviceid String 最长128位 IOS:内容填写idfa的值。Android:内容填写imei的值,无则填写anroidid的
_transactionid String 最长64位 交易流水号,请确保唯一。
_paymenttype String 最长16位 支付类型,例如支付宝(alipay),银联(unionpay),微信支付(weixinpay),易宝支付(yeepay),paymentType不能填写:FREE(FREE不统计付费)
_currencytype String 最长3位 货币类型,按照国际标准组织ISO 4217中规范的3位字母,例如CNY人民币、USD
_currencyamount float 最长16位 支付的真实货币金额,人民币单位:元
_idfa IOS必填 String 广告标识
_idfv IOS必填 String Vindor标示符
_imei Android必填 String 手机的唯一识别号码
_androidid Android必填 String
_ip String 客户端IP
_tz String 时区,默认 +8
  • 示例代码:

注:jsonObject格式(下列为iOS应用示例,如需报送Android应用请去掉idfa,idfv。添加imei和androidid参数)

{"appid":"xxxxxxxxxxxxxxxx","who":"userid001","context":{"_deviceid":"3DEA635F-B24F-434B-833F-4ED028FEAEEF","_transactionid":"t01020304","_paymenttype":"alipay","_currencytype":"CNY","_currencyamount":"6","_idfa":"3DEA635F-B24F-434B-833F-4ED028FEAEEF","_idfv":"A491B28D-F3FE-4DC2-B352-A38146DE0A19","_ip":"111.1.11.111","_tz":"+8"}}

服务返回json数据:

{"status":0}

7.统计用户自定义方法:/receive/analyze/event

  • 方法用途:

用于统计用户在应用内的任意行为,如打开某个面板、点击某个Button、参与某个活动等。

  • 参数说明:
参数名 是否必填 参数类型 长度 说明
appid String 创建产品时获得的32位字符长度的AP
who String 最长64位 账号唯一标识,支持英文、数字、下
what String 最长32位 自定义事件名称,支持英文、数字、下划线
context HashMap 键值对不能超过80 上下文信息,需要传 jsonObject

上下文信息:

参数名 是否必填 参数类型 长度 说明
_deviceid String 最长128位 IOS:内容填写idfa的值。Android:内容填写imei的值,无则填写anroidid的
_idfa IOS必填 String 广告标识,从钥匙链获取,若没有从系统获取防止重设idfa
_idfv IOS必填 String Vindor标示符
_imei Android必填 String 手机的唯一识别号码
_androidid Android必填 String
_bundleid IOS必填 String 工程包名,bundleid字段
_ip String 客户端IP
_tz String 时区,默认 +8

您也可以为用户任意添加所需的属性,如:

参数名 是否必填 参数类型 长度 说明
product_id String 商品ID
product_name String 商品名
product_classify String 商品类别
product_price String 商品价格
  • 示例代码:

注:jsonObject格式(下列为iOS应用示例,如需报送Android应用请去掉idfa,idfv。添加imei和androidid参数)

{"appid":"xxxxxxxxxxxxxxxx","who":"userid001","what":"exception","context":{"_deviceid":"3DEA635F-B24F-434B-833F-4ED028FEAEEF","_idfa":"3DEA635F-B24F-434B-833F-4ED028FEAEEF","_idfv":"A491B28D-F3FE-4DC2-B352-A38146DE0A19","_bundleid":"com.domainname.appname","_ip":"111.1.11.111","_tz":"+8"}}
  • 服务返回json数据:
{"status":0}

8.统计用户属性方法:/receive/analyze/profile

  • 方法用途:

用于统计用户的profile信息。

  • 参数说明:
参数名 是否必填 参数类型 参数长度 说明
appid String 创建产品时获得的32位字符长度的AP
who String 最长64位 账号唯一标识,支持英文、数字、下
what String 最长32位 自定义事件名称,支持英文、数字、下划线
context HashMap 上下文信息
  • 上下文信息:

我们预定义了一些常用的用户属性,你可以直接使用:

参数名 是否必填 参数类型 参数长度 说明
_ip String 客户端IP
_tz String 时区,默认 +8
_name String 用户名
_nickname String 昵称
_birthday DateTime 生日yyyy-MM-dd
_gender String 性别
__marital_status String 婚姻状况
_hometown String 家乡
_profession String 职业
_industry String 行业
_school String 学校
_degree String 学历
_tel String 手机号
_citizen_id String 身份证号
_email String 邮箱
_wechat String 微信
_weibo String 微博
_qq" String QQ
_first_language String 第一语言
_city String 城市
_province String 省份
_country String 过节
_source String 来源

您也可以为用户任意添加所需的属性,如:

参数名 是否必填 参数类型 参数长度 说明
_ hobby String 爱好

9.服务器错误返回值

  • 示例代码:

返回json结果:

{
"result":{ 
  "who": "can not be null!" //缺少必填字段who 
 },
 "status": -1 //正确为0,错误为-1
 }

注:错误415,请检查头信息中是否有Content-Type=application/json参数

四、技术支持

如有任何问题,请及时联系我们的技术支持工程师:

results matching ""

    No results matching ""