Method: customers.googleAds.mutate

리소스를 생성, 업데이트 또는 삭제합니다. 이 메서드는 여러 유형의 리소스를 사용하는 원자적 트랜잭션을 지원합니다. 예를 들어 캠페인과 캠페인 예산을 동시에 만들거나 최대 수천 개의 변형을 동시에 실행할 수 있습니다.

이 메서드는 기본적으로 일련의 변형 메서드의 래퍼입니다. 이러한 메서드를 직접 호출하는 것보다 이 메서드가 제공하는 유일한 기능은 다음과 같습니다.

  • 원자적 트랜잭션
  • 임시 리소스 이름 (아래에 설명)
  • 일련의 mutate 호출에 대한 지연 시간이 다소 줄었습니다.

참고: 원자성 트랜잭션을 지원하는 리소스만 포함되므로 이 메서드는 개별 서비스에 대한 모든 호출을 대체할 수 없습니다.

원자적 트랜잭션의 이점

원자성을 사용하면 오류 처리가 훨씬 쉬워집니다. 일련의 변경사항을 적용하는 중에 하나라도 실패하면 계정이 일관되지 않은 상태가 될 수 있습니다. 원자성을 사용하면 선택한 상태에 직접 도달하거나 요청이 실패하여 다시 시도할 수 있습니다.

임시 리소스 이름

임시 리소스 이름은 리소스를 만들고 동일한 요청에서 해당 리소스를 참조하는 데 사용되는 특수한 유형의 리소스 이름입니다. 예를 들어 resourceNamecustomers/123/campaignBudgets/-1과 같도록 캠페인 예산이 생성된 경우 동일한 요청의 Campaign.budget 필드에서 이 리소스 이름을 재사용할 수 있습니다. 이렇게 하면 두 리소스가 원자적으로 생성되고 연결됩니다.

임시 리소스 이름을 만들려면 서버에서 일반적으로 할당하는 이름 부분에 음수를 입력합니다.

참고:

  • 이름을 재사용하려면 리소스를 임시 이름으로 만들어야 합니다. 예를 들어 이전 CampaignBudget+Campaign 예시에서 수정 순서가 반대로 되면 실패합니다.
  • 임시 이름은 요청 간에 기억되지 않습니다.
  • 요청의 임시 이름 수에는 제한이 없습니다.
  • 각 임시 이름은 리소스 유형이 다르더라도 고유한 음수를 사용해야 합니다.

지연 시간

변형을 리소스 유형별로 그룹화하는 것이 중요합니다. 그러지 않으면 요청이 시간 초과되어 실패할 수 있습니다. 지연 시간은 대략 개별 변형 메서드의 일련의 호출과 같으며, 여기서 리소스 유형의 각 변경사항은 새 호출입니다. 예를 들어 캠페인 10개와 광고그룹 10개를 변형하는 것은 호출 2번과 같고, 캠페인 1개, 광고그룹 1개, 캠페인 1개, 광고그룹 1개를 변형하는 것은 호출 4번과 같습니다.

발생한 오류 목록: AdCustomizerError AdError AdGroupAdError AdGroupCriterionError AdGroupError AssetError AuthenticationError AuthorizationError BiddingError CampaignBudgetError CampaignCriterionError CampaignError CampaignExperimentError CampaignSharedSetError CollectionSizeError ContextError ConversionActionError CriterionError CustomerFeedError DatabaseError DateError DateRangeError DistinctError ExtensionFeedItemError ExtensionSettingError FeedAttributeReferenceError FeedError FeedItemError FeedItemSetError FieldError FieldMaskError FunctionParsingError HeaderError ImageError InternalError KeywordPlanAdGroupKeywordError KeywordPlanCampaignError KeywordPlanError LabelError ListOperationError MediaUploadError MutateError NewResourceCreationError NullError OperationAccessDeniedError PolicyFindingError PolicyViolationError QuotaError RangeError RequestError ResourceCountLimitExceededError SettingError SharedSetError SizeLimitError StringFormatError StringLengthError UrlFieldError UserListError YoutubeVideoRegistrationError

HTTP 요청

POST https://googleads.googleapis.com/v19/customers/{customerId}/googleAds:mutate

URL은 gRPC 트랜스코딩 문법을 사용합니다.

경로 매개변수

매개변수
customerId

string

필수입니다. 리소스가 수정되는 고객의 ID입니다.

요청 본문

요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.

JSON 표현
{
  "mutateOperations": [
    {
      object (MutateOperation)
    }
  ],
  "partialFailure": boolean,
  "validateOnly": boolean,
  "responseContentType": enum (ResponseContentType)
}
필드
mutateOperations[]

object (MutateOperation)

필수입니다. 개별 리소스에서 실행할 작업 목록입니다.

partialFailure

boolean

이 속성이 true이면 성공적인 작업이 실행되고 잘못된 작업은 오류를 반환합니다. false인 경우 모든 작업이 모두 유효한 경우에만 하나의 트랜잭션으로 실행됩니다. 기본값은 false입니다.

validateOnly

boolean

true인 경우 요청이 검증되지만 실행되지 않습니다. 결과가 아닌 오류만 반환됩니다.

responseContentType

enum (ResponseContentType)

응답 콘텐츠 유형 설정입니다. 변경 후 변경 가능한 리소스 또는 리소스 이름만 반환할지 결정합니다. 변경 가능한 리소스는 리소스에 적절한 응답 필드가 있는 경우에만 반환됩니다. 예를 들어 MutateCampaignResult.campaign

응답 본문

GoogleAdsService.Mutate의 응답 메시지입니다.

성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.

JSON 표현
{
  "partialFailureError": {
    object (Status)
  },
  "mutateOperationResponses": [
    {
      object (MutateOperationResponse)
    }
  ]
}
필드
partialFailureError

object (Status)

부분 실패 모드의 작업 실패와 관련된 오류입니다. partialFailure = true이고 모든 오류가 작업 내부에서 발생하는 경우에만 반환됩니다. 작업 외부에서 오류가 발생하면 (예: 인증 오류) RPC 수준 오류가 반환됩니다.

mutateOperationResponses[]

object (MutateOperationResponse)

변형에 대한 모든 응답입니다.

승인 범위

다음 OAuth 범위가 필요합니다.

  • https://www.googleapis.com/auth/adwords

자세한 내용은 OAuth 2.0 Overview를 참고하세요.