복수 계정용 전환 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
       }
   }
}