多帳號控制平面 API 的轉換 API 閘道:參考資料

帳號管理

建立帳號

為多帳號建立一個閘道,您可以根據輸入,決定由合作夥伴還是廣告商管理。

架構

POST https://{capig_domain}/hub/graphql/ 
_________________________________________________________________________________________________________________
      
mutation CreateTenantMutation(
        $input: CreateTenantInput!
      ) {
        tenantMutations {
          createTenant(input: $input) {
            tenant {
              id
              name
              status
              canPartnerManage
              users {
                id
                email
                roles {
                    name
                    displayName
                }
                tenants {
                    id
                    name
                    status
                    canPartnerManage
                    availableRoles {
                        name
                        displayName
                    }
                }
                isSelf
                canBeDeleted
                defaultTenantId
              }
              availableRoles {
                name
                displayName
              }
              tenantUsage {
                  totalActivePixels
                  totalInactivePixels
                  totalPixels
                  tenantUsageByTraffic {
                    totalEventsReceived
                    totalPixelsWithTraffic
                    publishError
                    durationInHours,
                    lastUpdatedAt
                 }
              }
              canEditTenantSettingsInUI
              canViewTenantInUI
              canEditTenantSettingsInUI
            }
          }
        }
      }
 _________________________________________________________________________________________________________    
input CreateTenantInput {
    name: String!
    canPartnerManage: Boolean!
    adminEmail: String
    eventEnrichment: Boolean!
}
     

欄位

CreateTenantInput

欄位說明

name
字串

必填

帳號的名稱

canPartnerManage
布林值

必填
布林值,指出合作夥伴能否管理此帳號

adminEmail
字串

選填
管理員的電子郵件地址(如果 canPartnerManage 為 false,則此為必填欄位)

eventEnrichment
布林值

必填
使用進階配對資料來加強事件


傳回的內容

CreateTenantResult

欄位說明

tenant
租戶

新建立的租戶


錯誤代碼

代碼說明

400

提供了無效的輸入

401

未獲得授權,無法建立帳號

500

伺服器內部錯誤


要求範例

變異

 mutation CreateTenantMutation(
        $input: CreateTenantInput!
      ) {
        tenantMutations {
          createTenant(input: $input) {
            tenant {
              id
              name
              status
              canPartnerManage
            }
          }
        }
      }

     

變數

{
   "input": {
       "name": "TestAdvertiserViaAPI",
       "canPartnerManage": true,
       "eventEnrichment": true
       }
}
     

回應範例

{
   "data": {
       "tenantMutations": {
           "createTenant": {
               "tenant": {
                   "id": "hU2koC34",
                   "name": "TestAdvertiserViaAPI",
                   "status": 0,
                   "canPartnerManage": true
               }
           }
       }
   }
}
     

刪除帳號

刪除廣告商帳號。

架構

POST https://{capig_domain}/hub/graphql/ 
_________________________________________________________________________________________________________________
      
    mutation DeleteTenant($tenantId: String!) {
      tenantMutations {
        deleteTenant(tenantId: $tenantId)
      }
    }

 _________________________________________________________________________________________________________    
tenantId: String!
     

欄位

欄位說明

tenantId
字串

必填

要刪除之帳號的唯一編號。


傳回的內容

布林值

指出是否已成功刪除租戶。


錯誤代碼

代碼說明

400

提供了無效的輸入

401

未獲得授權,無法刪除帳號

500

伺服器內部錯誤


要求範例

變異

 mutation DeleteTenant($tenantId: String!) {
   tenantMutations {
   deleteTenant(tenantId: $tenantId)
   }
}
     

變數

{
   "tenantId": "Tse53QtW"
}
     

回應範例

{
   "data": {
       "tenantMutations": {
           "deleteTenant": true
       }
   }
}
     

更新帳號

將帳號更新為新名稱、新狀態以及合作夥伴用於管理帳號的新權限。

架構

POST https://{capig_domain}/hub/graphql/ 
_________________________________________________________________________________________________________________
      
 mutation TenantEditNameModalMutation(
  $input: UpdateTenantInput!
) {
  tenantMutations {
    updateTenant(input: $input) {
        tenant {
            id
            name
            status
            canPartnerManage
            users {
                id
                email
                roles {
                    name
                    displayName
                }
                tenants {
                    id
                    name
                    status
                    canPartnerManage
                    availableRoles {
                        name
                        displayName
                    }
                }
                isSelf
                canBeDeleted
                defaultTenantId
            }
            availableRoles {
                name
                displayName
            }
            tenantUsage {
                totalActivePixels
                totalInactivePixels
                totalPixels
                tenantUsageByTraffic {
                   totalEventsReceived
                   totalPixelsWithTraffic
                   publishError
                   durationInHours,
                   lastUpdatedAt
               }
            }
            canEditTenantSettingsInUI
            canViewTenantInUI
            canEditTenantSettingsInUI
        }
    }
  }
}
      
_________________________________________________________________________________________________________    
input UpdateTenantInput {
    tenantId: String!
    name: String
    status: Int
    canPartnerManage: Boolean
}
     

欄位

UpdateTenantInput

欄位說明

tenantId
字串

必填

帳號的唯一編號

name
字串

選填

帳號的名稱

status
整數

選填

帳號狀態(請參閱租戶物件)

canPartnerManage
布林值

選填

指出合作夥伴是否管理此帳號


傳回的內容

TenantMutationResponse

欄位說明

tenant
租戶

更新租戶


錯誤代碼

代碼說明

400

提供了無效的輸入

401

未獲得授權,無法更新帳號

500

伺服器內部錯誤


要求範例

變異

mutation TenantEditNameModalMutation(
 $input: UpdateTenantInput!
) {
 tenantMutations {
   updateTenant(input: $input) {
     tenant {
       id
       name
       status
       canPartnerManage
     }
   }
 }
}
     

變數

{
   "input":{
       "tenantId":"IaoreXfj",
       "name":"Test Account Name Update",
       "status":0,
       "canPartnerManage":true
   }
}
     

回應範例

{
   "data": {
       "tenantMutations": {
           "updateTenant": {
               "tenant": {
                   "id": "IaoreXfj",
                   "name": "Test Account Name Update",
                   "status": 0,
                   "canPartnerManage": true
               }
           }
       }
   }
}
     

取得帳號

取得與唯一識別碼輸入對應的廣告商帳號。

架構

POST https://{capig_domain}/hub/graphql/ 
_________________________________________________________________________________________________________________
      
query TenantAccountUsersViewQuery(
  $tenantId: String!
) {
  tenant(tenantId: $tenantId)  {
        id
        name
        status
        canPartnerManage
        users {
            id
            email
            roles {
                name
                displayName
            }
            tenants {
                id
                name
                status
                canPartnerManage
                availableRoles {
                    name
                    displayName
                }
            }
            isSelf
            canBeDeleted
            defaultTenantId
        }
        availableRoles {
            name
            displayName
        }
        tenantUsage {
            totalActivePixels
            totalInactivePixels
            totalPixels
            tenantUsageByTraffic {
               totalEventsReceived
               totalPixelsWithTraffic
               publishError
               durationInHours,
               lastUpdatedAt
            }
        }
        canEditTenantSettingsInUI
        canViewTenantInUI
        canEditTenantSettingsInUI
    }
}
_________________________________________________________________________________________________________    
tenantId: String!
     

欄位

欄位說明

tenantId
字串

必填

要擷取之帳號的唯一編號


傳回的內容

欄位說明

tenant
租戶

已擷取帳號詳細資訊


錯誤代碼

代碼說明

401

未獲得授權,無法檢視帳號

500

伺服器內部錯誤


要求範例

查詢

query TenantAccountUsersViewQuery(
 $tenantId: String!
) {
 tenant(tenantId: $tenantId) {
   id
   name
   users {
     id
     email
     roles {
         name
         displayName
     }
   }
 }
}
     

變數

{
   "tenantId":"wW58k7FQ"
}
     

回應範例

{
   "data": {
       "tenant": {
           "id": "wW58k7FQ",
           "name": "Test Account",
           "users": [
               {
                   "id": "992bc489-a799-4374-8933-0109eed60e3d",
                   "email": "tempuser@test.com",
                   "roles": [
                       {
                           "name": "advertiser-manage-wW58k7FQ",
                           "displayName": "manage"
                       }
                   ]
               }
           ]
       }
   }
}
     

帳號使用量

藉由與帳號唯一編號對應的活躍和非活躍像素,瞭解帳號使用量。此外,它還會傳回一段時間內的流量使用統計資料

架構

POST https://{capig_domain}/hub/graphql/ 
_________________________________________________________________________________________________________________
      
query TenantUsageQuery(
  $tenantId: String!
) {
    tenantUsage(tenantId: $tenantId) {
        totalActivePixels
        totalInactivePixels
        totalPixels
        tenantUsageByTraffic {
           totalEventsReceived
           totalPixelsWithTraffic
           publishError
           durationInHours,
           lastUpdatedAt
       }
    }
}

_________________________________________________________________________________________________________    
tenantId: String!
     

欄位

欄位說明

tenantId
字串

必填

帳號的唯一編號


傳回的內容

欄位說明

TenantUsage
TenantUsage

TenantUsage


錯誤代碼

代碼說明

401

未獲得授權,無法檢視帳號使用量

500

伺服器內部錯誤


要求範例

查詢

query {
   tenantUsage(tenantId: "IaoreXfj"){
       totalActivePixels
       totalInactivePixels
       totalPixels
   }
}
     

回應範例

{
   "data": {
       "tenantUsage": {
           "totalActivePixels": 3,
           "totalInactivePixels": 1,
           "totalPixels": 4
       }
   }
}