批量用户管理 API

借助批量用户管理 API,您可以使用 JSON 文件的内容在一个操作中创建或修改多个用户。

上传的记录数量没有限制,但建议以较小的批次执行请求。

您还可以按照批量用户管理中的说明在 CCAI Platform 门户中执行此流程。

我们提供了一个批量用户同步工具参考应用,该应用可在 Google Workspace 群组或 Microsoft Entra ID 等目录与 CCaaS 之间执行用户同步。此参考应用利用了批量用户管理 API。

角色与权限

  • 通过创建 api_user 来使用 Apps API

  • api_user 没有角色和权限,因此所有 api_user 都可以执行 bulk_user management

  • 使用 api_user 时,您无法设置精细的权限,因此 api_user 将有权访问所有用户字段。

添加 API 凭据

  1. 在 CCAI Platform 门户中,依次前往设置 > 开发者设置 > API 凭据管理

  2. 点击 + 添加 API 凭据。系统会打开添加 API 凭据消息。

  3. 输入凭据的名称

  4. 点击创建

使用批量用户管理 API

使用批量用户管理 API 需要进行两次 API 调用。一个上传 JSON 文件并创建作业,另一个处理该作业。您还可以使用可选的 API 调用来帮助确保作业得到正确处理。

  1. 可选:检索 JSON 模板。此命令会检索最新模板,其中包含自您检索上一个模板以来创建的任何其他角色或团队。Google 建议执行此步骤。

  2. 可选:获取用户配置数据。此方法会检索要镜像的所有用户(或单个用户,如果您指定了电子邮件地址)的列表。

  3. 上传 JSON 文件。您可以在文件中添加或更新一位或多位用户。请务必记下作业 ID。

  4. 处理 JSON 文件的请求。这会启动批量作业。

  5. 可选:获取状态检查。提供作业 ID 以查看处理状态。

  6. 可选:检索更新后的作业列表。此方法会检索所有批量用户管理作业的列表。

  7. 可选:检索方案错误日志。指定作业 ID 以获取方案错误日志。

  8. 可选:检索错误。获取错误。

上传 JSON 文件

用法

上传 JSON 文件

网址

apps/api/v1/bulk/users/upload

方法

POST / PUT

请求

content-type: multipart/form-data

{
  "id" : {job_id} #optional. Required in case of PUT method.
  "file": {json file}
}

响应

标题:

Link: http://ujet.co/apps/api/v1/bulk/users_jobs/12345

正文

{
  "id": 12345, # job_id
  "status": "created"
  "link": "http://ujet.co/apps/api/v1/bulk/users_jobs/12345"
}

检索 JSON 模板

用法

模板

网址

apps/api/v1/bulk/users/template

方法

GET

请求

(空)

响应

[
{
"email":"user1@yourcompany.co",
"new_email":user1@yourcompany.cx",
"agent_number":"A-001",
"first_name":"John",
"last_name":"aa",
"status":"Active",
"location":"Mexico",
"max_chat_limit":2,
"max_chat_limit_enabled":0,
"roles": [
{"name":"Admin","value": 0 },
{"name":"Manager","value": 1 },
{"name":"Agent","value": 0 },
{"name":Developer","value": 1 }
]
},
 ...
]

停用用户

如需停用用户,请将 status 值更改为 Inactive,例如 "status":"Inactive"

请求处理当前 JSON 文件

用法

请求处理当前 JSON 文件

网址

/v1/bulk/users/proceed

方法

POST

请求

{
   "id": 12345  # job_id
}

响应

标题:

Link: http://ujet.co/apps/api/v1/bulk/users_jobs/12345

正文

1{"id": 12345 # job_id3 "status": "valid_scheme",4 "link": "http://ujet.co/apps/api/v1/bulk/users_jobs/12345"5}

获取状态检查

用法

获取状态检查

网址

apps/api/v1/bulk/users/jobs/#{job_id}

方法

GET

请求

路径变量 - job_id

响应

{
    "id": 12345,
    "created_at": "2022-01-07T06:40:34.000Z",
    "process_requested_at": "2022-01-07T06:45:34.000Z",
    "filename": "100row.json",
    "total_rows": 100,
    "affected_rows": 52,
    "failed_rows": 0,
    "status": "in_progress",
    "uploaded_user_name": null,
    "proceed_user_name": null,
    "uploaded_api_user_name": "api_user_name_1",
    "proceed_api_user_name": "api_user_name_2",
    "scheme_errors": []
    "update_errors": []
}

检索更新后的作业列表

用法

获取更新作业列表

网址

apps/api/v1/bulk/users/jobs

方法

GET

请求

{
  "page": 1,
  "per_page": 20
}

响应

标题

Link: <next link>
Total: 12345
Per-Page: 201

正文

[
    {
        "id": 12345,
        "created_at": "2022-01-07T06:21:10.000Z",
        "process_requested_at": "2022-01-07T06:22:25.000Z",
        "filename": "100row.json",
        "total_rows": 100,
        "affected_rows": 52,
        "failed_rows": 0,
        "status": "in_progress",
        "uploaded_user_name": null,
        "proceed_user_name": null,
        "uploaded_api_user_name": "api_user_name_1",
        "proceed_api_user_name": "api_user_name_2",
        "scheme_errors": [],
        "update_errors": []
    },
    ...
]

注意

输出按 job_id 的逆序排序,以便最新数据排在最前面。

检索方案错误日志

用法

获取方案错误日志

网址

/v1/bulk/users/errors/scheme/#{job_id}

方法

GET

请求

路径变量 - job_id

响应

content-type: application/json

[
  {
    "message": "Must be a valid email",
    "column": 1,
    "row": null
  },
  {
    "message": "Non-empty string",
    "column": 10,
    "row": 10
  }
]

检索错误

用法

获取更新错误日志

网址

/v1/bulk/users/errors/update/#{job_id}

方法

GET

请求

路径变量 - job_id

响应

content-type: application/json

1[2 {3 "message": "Must be a valid email",4 "column": 1,5 "row": null,6 "error_type": "warning"7 },8 {9 "message": "Non-empty string",10 "column": 10,11 "row": 10,12 "error_type": "error"13 } 14]