WebhookNotification

Configures a long-running operation resource to send a webhook notification from the Google Analytics Data API to your webhook server when the resource updates.

Notification configurations contain private values & are only visible to your GCP project. Different GCP projects may attach different webhook notifications to the same long-running operation resource.

JSON representation
{
  "uri": string,
  "channelToken": string
}
Fields
uri

string

Optional. The web address that will receive the webhook notification. This address will receive POST requests as the state of the long running operation resource changes. The POST request will contain both a JSON version of the long running operation resource in the body and a sentTimestamp field. The sent timestamp will specify the unix microseconds since the epoch that the request was sent; this lets you identify replayed notifications.

An example URI is https://us-central1-example-project-id.cloudfunctions.net/example-function-1.

The URI must use HTTPS and point to a site with a valid SSL certificate on the web server. The URI must have a maximum string length of 128 characters & use only the allowlisted characters from RFC 1738.

When your webhook server receives a notification, it is expected to reply with an HTTP response status code of 200 within 5 seconds.

A URI is required to use webhook notifications.

Requests to this webhook server will contain an ID token authenticating the service account google-analytics-audience-export@system.gserviceaccount.com. To learn more about ID tokens, see https://cloud.google.com/docs/authentication/token-types#id. For Google Cloud Functions, this lets you configure your function to require authentication. In Cloud IAM, you will need to grant the service account permissions to the Cloud Run Invoker (roles/run.invoker) & Cloud Functions Invoker (roles/cloudfunctions.invoker) roles for the webhook post request to pass Google Cloud Functions authentication. This API can send webhook notifications to arbitrary URIs; for webhook servers other than Google Cloud Functions, this ID token in the authorization bearer header should be ignored if it is not needed.

channelToken

string

Optional. The channel token is an arbitrary string value and must have a maximum string length of 64 characters. Channel tokens allow you to verify the source of a webhook notification. This guards against the message being spoofed. The channel token will be specified in the X-Goog-Channel-Token HTTP header of the webhook POST request.

A channel token is not required to use webhook notifications.