You need to enable JavaScript to run this app.
导航
数据删除OpenAPI(私有化查看)
最近更新时间:2024.05.29 16:21:46首次发布时间:2022.08.31 13:44:09

1.概述

本文档为用户数据删除相关openapi接口的说明文档。使用提供的OpenAPI可以删除一组已知user_unique_id或ssid用户的数据。(私有化版本4.1(含)后开始支持)

1.1 数据删除请求

一个数据删除请求对应一个Job,Job创建成功后,处于PENDING状态,将会有24小时的等待时间。在24小时内如果想要取消删除操作,可以调用对应的OpenAPI执行取消操作。在不进行取消操作的情况下,24小时后Job变为STARTED状态,处于该状态的Job无法取消。Job的状态可以通过提供的OpenAPI查询获得。

1.2 Job状态含义

状态

含义

PENDING

Job创建后,24小时内处于该状态。处于该状态的Job支持取消

STARTED

Job创建超过24小时后更新为该状态。处于该状态的Job不支持取消

REVOKED

取消状态。处于该状态的Job不会被调度

SUCCESS

执行成功

FAILURE

执行失败

2.Job创建API

该接口用于创建删除Job,可以混合传递user_unique_id和ssid,单次删除请求最多支持删除100个用户的数据,同一个应用在同一时间最多只能有一个Job在执行。

2.1 API定义

Path: /datafinder/openapi/v1/{app_id}/data-deletions
Method: POST
Content-type: application/json
Path-parameters:

Field

Type

Description

Required

app_id

int

应用ID

true

Body:

{
    "uuids": ["uuid-1", "uuid-2"],
    "ssids": ["ssid-3", "ssid-4"]
}

Field

Type

Description

Required

uuids

List

待删除的user_unique_id列表

False

ssids

List

待删除的ssid列表

False

注:如果uuids和ssids都指定,那么将会根据uuid查询出ssid,合并后的结果作为待删除列表
Response

{
    "code": 200,
    "message": "success",
    "data": {
            "app_id": 1234,
        `   "job_id": "job_id",
            "status": "STARTED",
            "uuids": ["uuid-1", "uuid-2"],
            "ssids": ["ssid-3", "ssid-4"],
            "creator": "user_1",
            "updater": "user_1",
            "created_at": "2022-08-15",
            "updated_at": "2022-08-15",
            "started_at": "2022-08-15"
    }
}

返回状态码说明:

code

description

200

任务创建成功

400

任务创建失败,错误信息以具体的message为准

429

任务创建失败,存在未结束的数据删除任务。

DeletionJob

Field

Type

Description

app_id

int

应用id

job_id

string

Job创建后生成的唯一id

status

string

Job当前的状态

uuids

List

待删除的uuid列表

ssids

List

待删除的ssid列表

creator

string

Job创建人

updater

string

Job的最近更新人

created_at

string

Job创建时间

updated_at

string

Job更新时间

started_at

string

Job开始执行的时间

2.2 OpenAPI SDK使用样例

rc 为创建的 RangersClient, 其初始化请参考 “OpenAPI SDK 使用说明”, 各语言的 SDK 都提供了类似的接口
调用(Python):

ak = 'xxx' # ak
sk = 'xxx' # sk

# 需要指定url地址
url = '{使用Finder服务域名替换}'
rc = RangersClient(ak, sk, url=url)

body = {
   "uuids": ["uuid-1", "uuid-2"]
}

resp = rc.request(
    "/datafinder/openapi/v1/{app_id}/data-deletions",
     method="POST",
     body=body
 )
print(resp.json())

3.Job查询API

3.1 API定义

Path: /datafinder/openapi/v1/{app_id}/data-deletions/search
Method: POST
Content-type: application/json
Path-parameters:

Field

Type

Description

Required

app_id

int

应用ID

true

Body:

{
    "uuids": ["uuid-1", "uuid-2"],
    "ssids": ["ssid-3", "ssid-4"],
    "job_ids": ["6950255124627325442"],
    "statuses": ["STARTED"]
}

Field

Type

Description

Required

uuids

List

根据uuid查询满足条件的Job

False

ssids

List

根据ssid查询满足条件的Job

False

job_ids

List

根据job_id查询满足条件的Job

False

statuses

List

根据status查询满足条件的Job

False

Response

{
    "code": 200,
    "message": "success",
    "data": [
        {
            "app_id": 1234,
        `   "job_id": "job_id",
            "status": "STARTED",
            "uuids": ["uuid-1", "uuid-2"],
            "ssids": ["ssid-3", "ssid-4"],
            "creator": "user_1",
            "updater": "user_1",
            "created_at": "2022-08-15",
            "updated_at": "2022-08-15",
            "started_at": "2022-08-15"
        }
    ]
}

Job字段含义见:DeletionJob
注:查询接口可以根据uuids、ssids、job_ids、statuses作为过滤条件,可使用单独字段或者组合多个字段进行过滤。若不指定任何过滤条件,则默认查询全部。
返回状态码说明:

code

description

200

查询成功

400

查询失败,错误信息以具体的message为准

3.2 OpenAPI SDK使用样例

rc 为创建的 RangersClient, 其初始化请参考 “OpenAPI SDK 使用说明”, 各语言的 SDK 都提供了类似的接口
调用(Python):

ak = 'xxx' # ak
sk = 'xxx' # sk

# 需要指定url地址
url = '{使用Finder服务域名替换}'
rc = RangersClient(ak, sk, url=url)

body = {
   "statuses": ["STARTED"]
}

resp = rc.request(
    "/datafinder/openapi/v1/{app_id}/data-deletions/search",
     method="POST",
     body=body
 )
print(resp.json())

4.Job取消API

4.1 API定义

Path: /datafinder/openapi/v1/{app_id}/data-deletions/{job_id}
Method: DELETE
Content-type: application/json
Path-parameters:

Field

Type

Description

Required

app_id

int

应用ID

true

job_id

str

任务ID

true

Response

{
    "code": 200,
    "message": "success"
}

返回状态码说明:

code

description

200

取消成功

400

取消失败,错误信息以具体的message为准

4.2 OpenAPI SDK使用样例

rc 为创建的 RangersClient, 其初始化请参考 “OpenAPI SDK 使用说明”, 各语言的 SDK 都提供了类似的接口
调用(Python):

ak = 'xxx' # ak
sk = 'xxx' # sk

# 需要指定url地址
url = '{使用Finder服务域名替换}'
rc = RangersClient(ak, sk, url=url)

resp = rc.request(
    "/datafinder/openapi/v1/{app_id}/data-deletions/{job_id}",
     method="DELETE"
 )
print(resp.json())

5.站内信通知

任务状态变更时请求方会收到站内信通知,具体可以收到四种类型的站内信。

Job状态

站内信

PENDING

调用Job创建API创建成功后,Job处于该状态。收到的站内信内容为:
尊敬的用户 {username},您好: 您提交的删除数据的请求已成功创建,我们正在为您处理。如果您想撤回本次请求,请在24小时内提交撤销请求。 删除数据仅影响任务提交之前已经入库的数据,停止数据上报需在SDK端完成。
任务ID:{job_id} 应用:{app_name}({app_id}) 集团:{org_name}({org_id})

STARETED

Job创建24小时后,Job处于该状态。收到的站内信内容为:
尊敬的用户 {username},您好: 您提交的删除数据的请求已开始执行。该任务已无法撤回。
任务ID:{job_id} 应用:{app_name}({app_id}) 集团:{org_name}({org_id})

REVOKED

调用Job取消API取消成功后,Job处于该状态。收到的站内信内容为:
尊敬的用户 {username},您好: 您提交的删除数据的请求已撤回成功。 任务ID:{job_id} 应用:{app_name}({app_id}) 集团:{org_name}({org_id})

SUCCESS

Job执行成功之后,Job处于该状态。收到的站内信内容为: 尊敬的用户 {username},您好: 您提交的删除数据的请求已执行成功。 任务ID:{job_id} 应用:{app_name}({app_id}) 集团:{org_name}({org_id})