Search Ads 360 Reporting API . customers . offlineUserDataJobs

Instance Methods

addOperations(resourceName, body=None, x__xgafv=None)

Adds operations to the offline user data job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()

close()

Close httplib2 connections.

create(customerId, body=None, x__xgafv=None)

Creates an offline user data job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [NotAllowlistedError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()

run(resourceName, body=None, x__xgafv=None)

Runs the offline user data job. When finished, the long running operation will contain the processing result or failure information, if any. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()

Method Details

addOperations(resourceName, body=None, x__xgafv=None)
Adds operations to the offline user data job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()

Args:
  resourceName: string, Required. The resource name of the OfflineUserDataJob. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for OfflineUserDataJobService.AddOfflineUserDataJobOperations.
  "enablePartialFailure": True or False, # True to enable partial failure for the offline user data job.
  "enableWarnings": True or False, # True to enable warnings for the offline user data job. When enabled, a warning will not block the OfflineUserDataJobOperation, and will also return warning messages about malformed field values.
  "operations": [ # Required. The list of operations to be done.
    { # Operation to be made for the AddOfflineUserDataJobOperationsRequest.
      "create": { # User data holding user identifiers and attributes. # Add the provided data to the transaction. Data cannot be retrieved after being uploaded.
        "consent": { # Consent # The consent setting for the user. If set, will override the job level consent for this user.
          "adPersonalization": "A String", # This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.
          "adUserData": "A String", # This represents consent for ad user data.
        },
        "transactionAttribute": { # Attribute of the store sales transaction. # Additional transactions/attributes associated with the user. Required when updating store sales data.
          "conversionAction": "A String", # The resource name of conversion action to report conversions to. Required.
          "currencyCode": "A String", # Transaction currency code. ISO 4217 three-letter code is used. Required.
          "customValue": "A String", # Value of the custom variable for each transaction. Allowed only if a custom key is provided in the store sales metadata.
          "itemAttribute": { # Item attributes of the transaction. # Item attributes of the transaction. Accessible only to customers on the allow-list.
            "countryCode": "A String", # Common Locale Data Repository (CLDR) territory code of the country associated with the feed where your items are uploaded. See https://developers.google.com/google-ads/api/reference/data/codes-formats#country-codes for more information. This information is useful to differentiate product information in cases where a product (identified by item_id) is associated with multiple countries.
            "itemId": "A String", # A unique identifier of a product. It must be the exact same Merchant Center Item ID you use in your Google Merchant Center for this product. Required.
            "languageCode": "A String", # ISO 639-1 code of the language associated with the feed where your items are uploaded. This information is useful to differentiate product information in cases where a product (identified by item_id) is associated with multiple languages.
            "merchantId": "A String", # ID of the Merchant Center Account. Required.
            "quantity": "A String", # The number of items sold. Defaults to 1 if not set.
          },
          "orderId": "A String", # Transaction order id. Useful to group transactions which are part of the same order.
          "storeAttribute": { # Store attributes of the transaction. # Store attributes of the transaction.
            "storeCode": "A String", # Store code from https://support.google.com/business/answer/3370250#storecode
          },
          "transactionAmountMicros": 3.14, # Transaction amount in micros. Required. Transaction amount in micros needs to be greater than 1000. If item Attributes are provided, it represents the total value of the items, after multiplying the unit price per item by the quantity provided in the ItemAttributes.
          "transactionDateTime": "A String", # Timestamp when transaction occurred. Required. The format is "YYYY-MM-DD HH:MM:SS[+/-HH:MM]", where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30+03:00"
        },
        "userAttribute": { # User attribute, can only be used with CUSTOMER_MATCH_WITH_ATTRIBUTES job type. # Additional attributes associated with the user. Required when updating customer match attributes. These have an expiration of 540 days.
          "acquisitionDateTime": "A String", # Timestamp when the user was acquired. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
          "averagePurchaseCount": 42, # Advertiser defined average number of purchases that are made by the user in a 30 day period.
          "averagePurchaseValueMicros": "A String", # Advertiser defined average purchase value in micros for the user.
          "eventAttribute": [ # Optional. Advertiser defined events and their attributes. All the values in the nested fields are required. Currently this field is in beta.
            { # Advertiser defined events and their attributes. All the values in the nested fields are required.
              "event": "A String", # Required. Advertiser defined event to be used for remarketing. The accepted values are "Viewed", "Cart", "Purchased" and "Recommended".
              "eventDateTime": "A String", # Required. Timestamp at which the event happened. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
              "itemAttribute": [ # Required. Item attributes of the event.
                { # Event Item attributes of the Customer Match.
                  "itemId": "A String", # Optional. A unique identifier of a product. It can be either the Merchant Center Item ID or GTIN (Global Trade Item Number).
                },
              ],
            },
          ],
          "firstPurchaseDateTime": "A String", # Optional. Timestamp of the first purchase made by the user. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
          "lastPurchaseDateTime": "A String", # Timestamp of the last purchase made by the user. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
          "lifecycleStage": "A String", # Optional. Advertiser defined lifecycle stage for the user. The accepted values are "Lead", "Active" and "Churned".
          "lifetimeValueBucket": 42, # Advertiser defined lifetime value bucket for the user. The valid range for a lifetime value bucket is from 1 (low) to 10 (high), except for remove operation where 0 will also be accepted.
          "lifetimeValueMicros": "A String", # Advertiser defined lifetime value for the user.
          "shoppingLoyalty": { # The shopping loyalty related data. Shopping utilizes this data to provide users with a better experience. Accessible only to merchants on the allow-list. # The shopping loyalty related data. Shopping utilizes this data to provide users with a better experience. Accessible only to merchants on the allow-list with the user's consent.
            "loyaltyTier": "A String", # The membership tier. It is a free-form string as each merchant may have their own loyalty system. For example, it could be a number from 1 to 10, or a string such as "Golden" or "Silver", or even empty string "".
          },
        },
        "userIdentifiers": [ # User identification info.
          { # identifying information.
            "addressInfo": { # Address identifier of offline data. # Address information.
              "city": "A String", # City of the address. Only accepted for Store Sales.
              "countryCode": "A String", # 2-letter country code in ISO-3166-1 alpha-2 of the user's address.
              "hashedFirstName": "A String", # First name of the user, which is hashed as SHA-256 after normalized (Lowercase all characters; Remove any extra spaces before, after, and in between).
              "hashedLastName": "A String", # Last name of the user, which is hashed as SHA-256 after normalized (lower case only and no punctuation).
              "hashedStreetAddress": "A String", # The street address of the user hashed using SHA-256 hash function after normalization (lower case only). Only accepted for ConversionAdjustmentUploadService.
              "postalCode": "A String", # Postal code of the user's address.
              "state": "A String", # State code of the address. Only accepted for Store Sales.
            },
            "hashedEmail": "A String", # Hashed email address using SHA-256 hash function after normalization.
            "hashedPhoneNumber": "A String", # Hashed phone number using SHA-256 hash function after normalization (E164 standard).
            "mobileId": "A String", # Mobile device ID (advertising ID/IDFA).
            "thirdPartyUserId": "A String", # Advertiser-assigned user ID for Customer Match upload, or third-party-assigned user ID for
            "userIdentifierSource": "A String", # Source of the user identifier when the upload is from Store Sales
          },
        ],
      },
      "remove": { # User data holding user identifiers and attributes. # Remove the provided data from the transaction. Data cannot be retrieved after being uploaded.
        "consent": { # Consent # The consent setting for the user. If set, will override the job level consent for this user.
          "adPersonalization": "A String", # This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.
          "adUserData": "A String", # This represents consent for ad user data.
        },
        "transactionAttribute": { # Attribute of the store sales transaction. # Additional transactions/attributes associated with the user. Required when updating store sales data.
          "conversionAction": "A String", # The resource name of conversion action to report conversions to. Required.
          "currencyCode": "A String", # Transaction currency code. ISO 4217 three-letter code is used. Required.
          "customValue": "A String", # Value of the custom variable for each transaction. Allowed only if a custom key is provided in the store sales metadata.
          "itemAttribute": { # Item attributes of the transaction. # Item attributes of the transaction. Accessible only to customers on the allow-list.
            "countryCode": "A String", # Common Locale Data Repository (CLDR) territory code of the country associated with the feed where your items are uploaded. See https://developers.google.com/google-ads/api/reference/data/codes-formats#country-codes for more information. This information is useful to differentiate product information in cases where a product (identified by item_id) is associated with multiple countries.
            "itemId": "A String", # A unique identifier of a product. It must be the exact same Merchant Center Item ID you use in your Google Merchant Center for this product. Required.
            "languageCode": "A String", # ISO 639-1 code of the language associated with the feed where your items are uploaded. This information is useful to differentiate product information in cases where a product (identified by item_id) is associated with multiple languages.
            "merchantId": "A String", # ID of the Merchant Center Account. Required.
            "quantity": "A String", # The number of items sold. Defaults to 1 if not set.
          },
          "orderId": "A String", # Transaction order id. Useful to group transactions which are part of the same order.
          "storeAttribute": { # Store attributes of the transaction. # Store attributes of the transaction.
            "storeCode": "A String", # Store code from https://support.google.com/business/answer/3370250#storecode
          },
          "transactionAmountMicros": 3.14, # Transaction amount in micros. Required. Transaction amount in micros needs to be greater than 1000. If item Attributes are provided, it represents the total value of the items, after multiplying the unit price per item by the quantity provided in the ItemAttributes.
          "transactionDateTime": "A String", # Timestamp when transaction occurred. Required. The format is "YYYY-MM-DD HH:MM:SS[+/-HH:MM]", where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30+03:00"
        },
        "userAttribute": { # User attribute, can only be used with CUSTOMER_MATCH_WITH_ATTRIBUTES job type. # Additional attributes associated with the user. Required when updating customer match attributes. These have an expiration of 540 days.
          "acquisitionDateTime": "A String", # Timestamp when the user was acquired. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
          "averagePurchaseCount": 42, # Advertiser defined average number of purchases that are made by the user in a 30 day period.
          "averagePurchaseValueMicros": "A String", # Advertiser defined average purchase value in micros for the user.
          "eventAttribute": [ # Optional. Advertiser defined events and their attributes. All the values in the nested fields are required. Currently this field is in beta.
            { # Advertiser defined events and their attributes. All the values in the nested fields are required.
              "event": "A String", # Required. Advertiser defined event to be used for remarketing. The accepted values are "Viewed", "Cart", "Purchased" and "Recommended".
              "eventDateTime": "A String", # Required. Timestamp at which the event happened. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
              "itemAttribute": [ # Required. Item attributes of the event.
                { # Event Item attributes of the Customer Match.
                  "itemId": "A String", # Optional. A unique identifier of a product. It can be either the Merchant Center Item ID or GTIN (Global Trade Item Number).
                },
              ],
            },
          ],
          "firstPurchaseDateTime": "A String", # Optional. Timestamp of the first purchase made by the user. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
          "lastPurchaseDateTime": "A String", # Timestamp of the last purchase made by the user. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
          "lifecycleStage": "A String", # Optional. Advertiser defined lifecycle stage for the user. The accepted values are "Lead", "Active" and "Churned".
          "lifetimeValueBucket": 42, # Advertiser defined lifetime value bucket for the user. The valid range for a lifetime value bucket is from 1 (low) to 10 (high), except for remove operation where 0 will also be accepted.
          "lifetimeValueMicros": "A String", # Advertiser defined lifetime value for the user.
          "shoppingLoyalty": { # The shopping loyalty related data. Shopping utilizes this data to provide users with a better experience. Accessible only to merchants on the allow-list. # The shopping loyalty related data. Shopping utilizes this data to provide users with a better experience. Accessible only to merchants on the allow-list with the user's consent.
            "loyaltyTier": "A String", # The membership tier. It is a free-form string as each merchant may have their own loyalty system. For example, it could be a number from 1 to 10, or a string such as "Golden" or "Silver", or even empty string "".
          },
        },
        "userIdentifiers": [ # User identification info.
          { # identifying information.
            "addressInfo": { # Address identifier of offline data. # Address information.
              "city": "A String", # City of the address. Only accepted for Store Sales.
              "countryCode": "A String", # 2-letter country code in ISO-3166-1 alpha-2 of the user's address.
              "hashedFirstName": "A String", # First name of the user, which is hashed as SHA-256 after normalized (Lowercase all characters; Remove any extra spaces before, after, and in between).
              "hashedLastName": "A String", # Last name of the user, which is hashed as SHA-256 after normalized (lower case only and no punctuation).
              "hashedStreetAddress": "A String", # The street address of the user hashed using SHA-256 hash function after normalization (lower case only). Only accepted for ConversionAdjustmentUploadService.
              "postalCode": "A String", # Postal code of the user's address.
              "state": "A String", # State code of the address. Only accepted for Store Sales.
            },
            "hashedEmail": "A String", # Hashed email address using SHA-256 hash function after normalization.
            "hashedPhoneNumber": "A String", # Hashed phone number using SHA-256 hash function after normalization (E164 standard).
            "mobileId": "A String", # Mobile device ID (advertising ID/IDFA).
            "thirdPartyUserId": "A String", # Advertiser-assigned user ID for Customer Match upload, or third-party-assigned user ID for
            "userIdentifierSource": "A String", # Source of the user identifier when the upload is from Store Sales
          },
        ],
      },
      "removeAll": True or False, # Remove all previously provided data. This is only supported for Customer Match.
    },
  ],
  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for OfflineUserDataJobService.AddOfflineUserDataJobOperations.
  "partialFailureError": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "warning": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Non blocking errors that pertain to operation failures in the warnings mode. Returned only when enable_warnings = true.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
}
close()
Close httplib2 connections.
create(customerId, body=None, x__xgafv=None)
Creates an offline user data job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [NotAllowlistedError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()

Args:
  customerId: string, Required. The ID of the customer for which to create an offline user data job. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for OfflineUserDataJobService.CreateOfflineUserDataJob.
  "enableMatchRateRangePreview": True or False, # If true, match rate range for the offline user data job is calculated and made available in the resource.
  "job": { # A job containing offline user data of store visitors, or user list members that will be processed asynchronously. The uploaded data isn't readable and the processing results of the job can only be read using # Required. The offline user data job to be created.
    "customerMatchUserListMetadata": { # Metadata for customer match user list. # Immutable. Metadata for data updates to a CRM-based user list.
      "consent": { # Consent # The consent setting for all the users in this job.
        "adPersonalization": "A String", # This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.
        "adUserData": "A String", # This represents consent for ad user data.
      },
      "userList": "A String", # The resource name of remarketing list to update data. Required for job of CUSTOMER_MATCH_USER_LIST type.
    },
    "externalId": "A String", # Immutable. User specified job ID.
    "failureReason": "A String", # Output only. Reason for the processing failure, if status is FAILED.
    "id": "A String", # Output only. ID of this offline user data job.
    "operationMetadata": { # Metadata of offline user data job. # Output only. Metadata of offline user data job depicting match rate range.
      "matchRateRange": "A String", # Output only. Match rate of the Customer Match user list upload. Describes the estimated match rate when the status of the job is "RUNNING" and final match rate when the final match rate is available after the status of the job is "SUCCESS/FAILED".
    },
    "resourceName": "A String", # Immutable. The resource name of the offline user data job. Offline user data job resource names have the form: `customers/{customer_id}/offlineUserDataJobs/{offline_user_data_job_id}`
    "status": "A String", # Output only. Status of the job.
    "storeSalesMetadata": { # Metadata for Store Sales Direct. # Immutable. Metadata for store sales data update.
      "customKey": "A String", # Name of the store sales custom variable key. A predefined key that can be applied to the transaction and then later used for custom segmentation in reporting. Accessible only to customers on the allow-list.
      "loyaltyFraction": 3.14, # This is the fraction of all transactions that are identifiable (for example, associated with any form of customer information). Required. The fraction needs to be between 0 and 1 (excluding 0).
      "thirdPartyMetadata": { # Metadata for a third party Store Sales. This product is only for customers on the allow-list. Contact your Google business development representative for details on the upload configuration. # Metadata for a third party Store Sales upload.
        "advertiserUploadDateTime": "A String", # Time the advertiser uploaded the data to the partner. Required. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
        "bridgeMapVersionId": "A String", # Version of partner IDs to be used for uploads. Required.
        "partnerId": "A String", # ID of the third party partner updating the transaction feed.
        "partnerMatchFraction": 3.14, # The fraction of valid transactions that are matched to a third party assigned user ID on the partner side. Required. The fraction needs to be between 0 and 1 (excluding 0).
        "partnerUploadFraction": 3.14, # The fraction of valid transactions that are uploaded by the partner to Google. Required. The fraction needs to be between 0 and 1 (excluding 0).
        "validTransactionFraction": 3.14, # The fraction of transactions that are valid. Invalid transactions may include invalid formats or values. Required. The fraction needs to be between 0 and 1 (excluding 0).
      },
      "transactionUploadFraction": 3.14, # This is the ratio of sales being uploaded compared to the overall sales that can be associated with a customer. Required. The fraction needs to be between 0 and 1 (excluding 0). For example, if you upload half the sales that you are able to associate with a customer, this would be 0.5.
    },
    "type": "A String", # Immutable. Type of the job.
  },
  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for OfflineUserDataJobService.CreateOfflineUserDataJob.
  "resourceName": "A String", # The resource name of the OfflineUserDataJob.
}
run(resourceName, body=None, x__xgafv=None)
Runs the offline user data job. When finished, the long running operation will contain the processing result or failure information, if any. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()

Args:
  resourceName: string, Required. The resource name of the OfflineUserDataJob to run. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for OfflineUserDataJobService.RunOfflineUserDataJob.
  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}