多账户专用转化 API 网关控制平面 API:参考文档

用户管理

添加具有角色的用户

使用提供的邮箱和角色名称添加新用户。

结构

POST https://{capig_domain}/hub/graphql/ 
_________________________________________________________________________________________________________________
      
mutation useAddUserAccountMutation(
  $addUserWithRoleInput: AddUserWithRoleInput!
) {
  userMutations {
    addUserWithRole(input: $addUserWithRoleInput) {
      userAlreadyExist
      invitationLink
      user {
        id
        email
        status
        roles {
          name
          displayName
        }
        isSelf
        canBeDeleted
        defaultTenantId
      }
    }
  }
}
_________________________________________________________________________________________________________    
input AddUserWithRoleInput {
    email: String!
    roleName: String!
}
     

字段

AddUserWithRoleInput

字段描述

email
字符串

必要

用户的邮箱

roleName
字符串

必需
用户的角色名称(请查看“角色格式”)


响应

AddUserResponse

字段描述

userAlreadyExist
布尔值

指示用户是否已存在

invitationLink
字符串

邀请用户的链接

user
用户

用户对象


错误代码

代码描述

400

提供的输入无效

401

未获授权,无法添加用户

404

找不到角色名称,或角色名称不正确

409

账户中已存在此用户

500

内部服务器错误


请求示例

更改

mutation useAddUserAccountMutation(
 $addUserWithRoleInput: AddUserWithRoleInput!
) {
 userMutations {
   addUserWithRole(input: $addUserWithRoleInput) {
     userAlreadyExist
     invitationLink
     user {
       id
       email
       status
       roles {
         name
         displayName
       }
     }
   }
 }
}
     

变量

{
   "addUserWithRoleInput": {
           "email": "tempUser1@testaccount.com",
           "roleName": "advertiser-manage-wW58k7FQ"
       }
}
     

响应示例

{
   "data": {
       "userMutations": {
           "addUserWithRole": {
               "userAlreadyExist": false,
               "invitationLink": "http://localhost:8443/auth/verify/?token=0MGaMI_FRDe80OAgrSSdZw&et=inv&email=tempUser1@testaccount.com",
               "user": {
                   "id": "97a9753d-a469-4f23-8aa7-748e4cf86877",
                   "email": "tempuser1@testaccount.com",
                   "status": 2,
                   "roles": [
                       {
                           "name": "advertiser-manage-wW58k7FQ",
                           "displayName": "manage"
                       }
                   ]
               }
           }
       }
   }
}

更改用户角色

允许添加和撤销用户角色。

结构

POST https://{capig_domain}/hub/graphql/ 
_________________________________________________________________________________________________________________
      
mutation UserAccessChangeMutation(
  $changeRoleForUserInput: ChangeRoleForUserInput!
) {
  userMutations {
    changeRoleForUser(input: $changeRoleForUserInput) {
      user {
        id
        email
        status
        roles {
          name
          displayName
        }
        isSelf
        canBeDeleted
        defaultTenantId
      }
    }
  }
}
_________________________________________________________________________________________________________    
input ChangeRoleForUserInput {
    userId: String!
    roleToRevoke: String
    roleToAdd: String
}
     

字段

ChangeRoleForUserInput

字段描述

userId
字符串

必要

用户的唯一标识符

roleToRevoke
字符串

可选
用户要移除的角色名称(请查看“角色格式”)

roleToAdd
字符串

可选
用户要添加的角色名称(请查看“角色格式”)


在每个广告主/合作伙伴账户中,一个用户只能拥有一组权限。


响应

ChangeRoleForUserResponse

字段描述

user
用户

用户对象


错误代码

代码描述

400

提供的输入无效

401

未获授权,无法撤销/添加用户

404

找不到用户编号/角色名称,或用户编号/角色名称不正确

500

内部服务器错误


请求示例

更改

mutation UserAccessChangeMutation(
 $changeRoleForUserInput: ChangeRoleForUserInput!
) {
 userMutations {
   changeRoleForUser(input: $changeRoleForUserInput) {
     user {
       id
       email
       roles {
         name
         displayName
       }
     }
   }
 }
}
     

变量

{
   "changeRoleForUserInput": {
           "userId": "97a9753d-a469-4f23-8aa7-748e4cf86877",
           "roleToRevoke": "advertiser-admin-wW58k7FQ",
           "roleToAdd": "agency-admin"
       }
}
     

响应示例

{
   "data": {
       "userMutations": {
           "changeRoleForUser": {
               "user": {
                   "id": "97a9753d-a469-4f23-8aa7-748e4cf86877",
                   "email": "tempuser1@testaccount.com",
                   "roles": [
                       {
                           "name": "agency-admin",
                           "displayName": "admin"
                       }
                   ]
               }
           }
       }
   }
}
     

生成并发送邀请

为新用户生成邀请链接。此外,如果启用了 SMTP 功能,则会向提供的邮箱发送邮件,否则只返回输出。

结构

POST https://{capig_domain}/hub/graphql/ 
_________________________________________________________________________________________________________________
      
mutation ActivateElementMutation(
  $sendInvitationInput: SendInvitationInput!
) {
  userMutations {
    sendInvitation(input: $sendInvitationInput)
  }
}
_________________________________________________________________________________________________________    
input SendInvitationInput {
    email: String!
    tenantId: String
    userType: UserType!
}
     

字段

SendInvitationInput

字段描述

email
字符串

必要

用户的邮箱

tenantId
字符串

可选

账户的唯一标识符。(对于合作伙伴用户,此字段应为 null)

userType
UserType

必要

用户类型


响应

字符串

用户的邀请链接


错误代码

代码描述

400

提供的输入无效

401

用户未获授权,无法发送邀请

404

找不到具有给定 tenantId 的用户

500

内部服务器错误


请求示例

更改

mutation ActivateElementMutation(
 $sendInvitationInput: SendInvitationInput!
) {
 userMutations {
   sendInvitation(input: $sendInvitationInput)
 }
}
     

变量

{
   "sendInvitationInput": {
           "email": "tempuser1@testaccount.com",
           "tenantId": "wW58k7FQ",
           "userType": "ADVERTISER"
   }
      
}
     

响应示例

"data": {
       "userMutations": {
           "sendInvitation": "http://localhost:8443/auth/verify/?token=uo3hMrl1QEeUtx5PXRoUvg&et=inv&email=tempuser1@testaccount.com"
       }
   }