Method: customers.googleAds.mutate

리소스를 생성, 업데이트, 삭제합니다. 이 메서드는 여러 유형의 리소스가 있는 원자적 트랜잭션을 지원합니다. 예를 들어 캠페인 및 캠페인 예산을 원자적으로 생성하거나 수천 개의 변형을 원자적으로 수행할 수 있습니다.

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

  • 원자적 트랜잭션
  • 임시 리소스 이름 (아래에 설명됨)
  • 일련의 변형 호출을 수행할 때보다 지연 시간이 다소 감소함

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

원자적 트랜잭션의 이점

원자성을 사용하면 오류를 훨씬 쉽게 처리할 수 있습니다. 여러 차례의 변경사항 중 하나가 실패하는 경우 계정이 일관성 있게 유지되지 않을 수 있습니다. 원자성의 경우 선택한 상태에 직접 도달하거나 요청이 실패하여 재시도할 수 있습니다.

임시 리소스 이름

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

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

참고:

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

지연 시간

리소스 유형을 기준으로 변형을 그룹화하는 것이 중요합니다. 그렇지 않으면 요청이 타임아웃되어 실패할 수 있습니다. 지연 시간은 거의 개별 뮤테이션 메서드에 대한 일련의 호출과 거의 동일하며, 여기서 리소스 유형의 각 변경은 새 호출입니다. 예를 들어 캠페인 10개를 변경한 후 광고 그룹 10개를 변경하면 통화 2건과 같은 것이며, 캠페인 1개, 광고 그룹 1개, 캠페인 1개, 광고 그룹 1개를 변형하면 통화 4개와 동일한 효과를 얻을 수 있습니다.

{/14AdCustomizerErrorAdErrorAdGroupAdErrorAdGroupCriterionErrorAdGroupErrorAssetErrorAuthenticationErrorAuthorizationErrorBiddingErrorCampaignBudgetErrorCampaignCriterionErrorCampaignErrorCampaignExperimentErrorCampaignSharedSetErrorCollectionSizeErrorContextErrorConversionActionErrorCriterionErrorCustomerFeedErrorDatabaseErrorDateErrorDateRangeErrorDistinctErrorExtensionFeedItemErrorExtensionSettingErrorFeedAttributeReferenceErrorFeedErrorFeedItemErrorFeedItemSetErrorFieldErrorFieldMaskErrorFunctionParsingErrorHeaderErrorImageErrorInternalErrorKeywordPlanAdGroupKeywordErrorKeywordPlanCampaignErrorKeywordPlanErrorLabelErrorListOperationErrorMediaUploadErrorMutateErrorNewResourceCreationErrorNullErrorOperationAccessDeniedErrorPolicyFindingErrorPolicyViolationErrorQuotaErrorRangeErrorRequestErrorResourceCountLimitExceededErrorSettingErrorSharedSetErrorSizeLimitErrorStringFormatErrorStringLengthErrorUrlFieldErrorUserListErrorYoutubeVideoRegistrationError

HTTP 요청

POST https://googleads.googleapis.com/v15/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)

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

mutateOperationResponses[]

object (MutateOperationResponse)

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

승인 범위

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

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

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