Method: customers.googleAds.mutate

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

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

  • 원자적 트랜잭션
  • 임시 리소스 이름 (아래에 설명됨)
  • 일련의 변경 호출을 수행하는 것에 비해 지연 시간이 다소 감소함

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

원자적 트랜잭션의 이점

원자성은 오류를 훨씬 더 쉽게 처리합니다. 일련의 변경 작업 중 하나에 오류가 발생하면 계정이 일관성 없는 상태가 될 수 있습니다. 원자성의 경우 선택한 상태에 직접 도달하거나 요청이 실패하여 재시도할 수 있습니다.

임시 리소스 이름

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

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

참고:

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

지연 시간

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

{/18AdCustomizerErrorAdErrorAdGroupAdErrorAdGroupCriterionErrorAdGroupErrorAssetErrorAuthenticationErrorAuthorizationErrorBiddingErrorCampaignBudgetErrorCampaignCriterionErrorCampaignErrorCampaignExperimentErrorCampaignSharedSetErrorCollectionSizeErrorContextErrorConversionActionErrorCriterionErrorCustomerFeedErrorDatabaseErrorDateErrorDateRangeErrorDistinctErrorExtensionFeedItemErrorExtensionSettingErrorFeedAttributeReferenceErrorFeedErrorFeedItemErrorFeedItemSetErrorFieldErrorFieldMaskErrorFunctionParsingErrorHeaderErrorImageErrorInternalErrorKeywordPlanAdGroupKeywordErrorKeywordPlanCampaignErrorKeywordPlanErrorLabelErrorListOperationErrorMediaUploadErrorMutateErrorNewResourceCreationErrorNullErrorOperationAccessDeniedErrorPolicyFindingErrorPolicyViolationErrorQuotaErrorRangeErrorRequestErrorResourceCountLimitExceededErrorSettingErrorSharedSetErrorSizeLimitErrorStringFormatErrorStringLengthErrorUrlFieldErrorUserListErrorYoutubeVideoRegistrationError

HTTP 요청

POST https://googleads.googleapis.com/v16/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 개요를 참고하세요.