多帳號控制平面 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

找不到 UserId/角色名稱或 UserId/角色名稱不正確

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
字串

選用項目

帳號的不重複識別資料。(若是合作夥伴用戶,此欄位應為空值)

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"
       }
   }