getMonthlyRetain.md 5.67 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
数据分析 /访问留存 /获取用户访问小程序月留存

# 获取用户访问小程序月留存

> 接口应在服务器端调用,详细说明参见[服务端API](https://developers.weixin.qq.com/miniprogram/dev/framework/server-ability/backend-api.html)。

> 本接口支持[云调用](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/openapi/openapi.html)。需开发者工具版本 >= `1.02.1904090`(最新[稳定版下载](https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html)),`wx-server-sdk` >= `0.4.0`

## 接口说明

### 接口英文名

getMonthlyRetain

### 功能描述

该接口用于获取用户访问小程序月留存。

### 注意事项

请求 json 和返回 json 与天的一致,这里限定查询一个自然月的数据,时间必须按照自然月的方式输入: 如:20170201(月初), 20170228(月末)

## 调用方式

### HTTPS 调用

```text
POST https://api.weixin.qq.com/datacube/getweanalysisappidmonthlyretaininfo?access_token=ACCESS_TOKEN 
```

### 云调用

- 出入参和 HTTPS 调用相同,调用方式可查看[云调用说明文档](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/openapi/openapi.html)
- 接口方法为: openapi.analysis.getMonthlyRetain

### 第三方调用

- 调用方式以及出入参和 HTTPS 相同,仅是调用的 token 不同
- 该接口所属的权限集 id 为:18、21
- 服务商获得其中之一权限集授权后,可通过使用[authorizer_access_token](https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/ThirdParty/token/api_authorizer_token.html)代商家进行调用

### 请求参数

| 属性                                  | 类型   | 必填 | 说明                                                         |
| :------------------------------------ | :----- | :--- | :----------------------------------------------------------- |
| access_token / cloudbase_access_token | string | 是   | 接口调用凭证,该参数为 URL 参数,非 Body 参数。access_token和cloudbase_access_token二选一 其中access_token可通过[getAccessToken](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/access-token/auth.getAccessToken.html)接口获得; 如果是第三方代调用请传入[authorizer_access_token](https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/ThirdParty/token/api_authorizer_token.html); cloudbase_access_token可通过[getOpenData](https://developers.weixin.qq.com/miniprogram/dev/wxcloudrun/src/guide/weixin/token.html)接口获得 |
| begin_date                            | string | 是   | 开始日期,为自然月第一天。格式为 yyyymmdd                    |
| end_date                              | string | 是   | 结束日期,为自然月最后一天,限定查询一个月数据。格式为 yyyymmdd |

### 返回参数

|      | 属性                                                         | 类型          | 说明               |
| :--- | :----------------------------------------------------------- | :------------ | :----------------- |
|      | ref_date                                                     | string        | 时间,如:"201702" |
|      | visit_uv_new                                                 | array<object> | 新增用户留存       |
|      | 属性类型说明keynumber标识,0开始,表示当月,1表示1月后。key取值分别是:0,1valuenumberkey对应日期的新增用户数/活跃用户数(key=0时)或留存用户数(k>0时) |               |                    |
|      | visit_uv                                                     | array<object> | 活跃用户留存       |
|      | 属性类型说明keynumber标识,0开始,表示当月,1表示1月后。key取值分别是:0,1valuenumberkey对应日期的新增用户数/活跃用户数(key=0时)或留存用户数(k>0时) |               |                    |

## 调用示例

> 示例说明: HTTPS调用示例

### 请求数据示例

```json
{
  "begin_date" : "20170201",
  "end_date" : "20170228"
}
 
```

### 返回数据示例

```json
{
  "ref_date": "201702",
  "visit_uv_new": [
    {
      "key": 0,
      "value": 346249
    }
  ],
  "visit_uv": [
    {
      "key": 0,
      "value": 346249
    }
  ]
} 
```

> 示例说明: 云函数调用

### 请求数据示例

```text
const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV,
})
exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.analysis.getMonthlyRetain({
        "beginDate": '20170201',
        "endDate": '20170228'
      })
    return result
  } catch (err) {
    return err
  }
} 
```

### 返回数据示例

```json
{
  "refDate": "201702",
  "visitUvNew": [
    {
      "key": 0,
      "value": 346249
    }
  ],
  "visitUv": [
    {
      "key": 0,
      "value": 346249
    }
  ],
  "errMsg": "openapi.analysis.getMonthlyRetain:ok"
} 
```

### 错误码

| 错误码 | 错误码取值                                              | 解决方案                                                     |
| :----- | :------------------------------------------------------ | :----------------------------------------------------------- |
| -1     | system error                                            | 系统繁忙,此时请开发者稍候再试                               |
| 40001  | invalid credential access_token isinvalid or not latest | 获取 access_token 时 AppSecret 错误,或者 access_token 无效。请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的公众号调用接口 |

|      |      |      |
| :--- | :--- | :--- |
|      |      |      |
|      |      |      |
|      |      |      |