Gemini Webhooks API

Los webhooks permiten que la API de Gemini envíe notificaciones en tiempo real a tu servidor cuando se completan las operaciones asíncronas o de larga duración (LRO). Esto reemplaza la necesidad de sondear la API para obtener actualizaciones de estado, lo que reduce la latencia y la sobrecarga.

CreateWebhook

post https://generativelanguage.googleapis.com/v1beta/webhooks

Crea un webhook nuevo.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

name cadena  (opcional)

Opcional. Es el nombre del webhook proporcionado por el usuario.

subscribed_events array (enum (string))  (obligatorio)

Obligatorio. Son los eventos a los que se suscribe el webhook. Eventos disponibles: - batch.succeeded - batch.expired - batch.failed - interaction.requires_action - interaction.completed - interaction.failed - video.generated

Valores posibles:

  • batch.succeeded

    El procesamiento por lotes finalizó correctamente.

  • batch.expired

    El lote no se procesó en el plazo de 48 horas.

  • batch.failed

    Error en el trabajo por lotes.

  • interaction.requires_action

    La interacción requiere una acción (p.ej., una llamada a función).

  • interaction.completed

    La interacción se completó correctamente.

  • interaction.failed

    No se pudo realizar la interacción.

  • video.generated

    Se completó la generación del video.

uri cadena  (obligatorio)

Obligatorio. Es el URI al que se enviarán los eventos de webhook.

Respuesta

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

create_time cadena  (opcional)

Solo salida. Es la marca de tiempo de cuando se creó el webhook.

id cadena  (opcional)

Solo salida. Es el ID del webhook.

name cadena  (opcional)

Opcional. Es el nombre del webhook proporcionado por el usuario.

new_signing_secret cadena  (opcional)

Solo salida. Es el nuevo secreto de firma del webhook. Solo se completa en la creación.

signing_secrets array (SigningSecret)  (opcional)

Solo salida. Son los secretos de firma asociados a este webhook.

Representa un secreto de firma que se usa para verificar las cargas útiles de webhook.

Campos

expire_time cadena  (opcional)

Solo salida. Fecha de vencimiento del secreto de firma.

truncated_secret cadena  (opcional)

Solo salida. Es la versión truncada del secreto de firma.

state enum (cadena)  (opcional)

Solo salida. Es el estado del webhook.

Valores posibles:

  • enabled

    El webhook está habilitado.

  • disabled

    El usuario inhabilitó el webhook.

  • disabled_due_to_failed_deliveries

    El webhook está inhabilitado debido a que no se pudieron realizar las entregas.

subscribed_events array (enum (string))  (opcional)

Obligatorio. Son los eventos a los que se suscribe el webhook. Eventos disponibles: - batch.succeeded - batch.expired - batch.failed - interaction.requires_action - interaction.completed - interaction.failed - video.generated

Valores posibles:

  • batch.succeeded

    El procesamiento por lotes finalizó correctamente.

  • batch.expired

    El lote no se procesó en el plazo de 48 horas.

  • batch.failed

    Error en el trabajo por lotes.

  • interaction.requires_action

    La interacción requiere una acción (p.ej., una llamada a función).

  • interaction.completed

    La interacción se completó correctamente.

  • interaction.failed

    No se pudo realizar la interacción.

  • video.generated

    Se completó la generación del video.

update_time cadena  (opcional)

Solo salida. Es la marca de tiempo de la última actualización del webhook.

uri cadena  (opcional)

Obligatorio. Es el URI al que se enviarán los eventos de webhook.

Ejemplo

Ejemplo de respuesta

{
  "create_time": "string",
  "id": "string",
  "name": "string",
  "new_signing_secret": "string",
  "signing_secrets": [
    {
      "expire_time": "string",
      "truncated_secret": "string"
    }
  ],
  "state": "enabled",
  "subscribed_events": [
    "batch.succeeded"
  ],
  "update_time": "string",
  "uri": "string"
}

PingWebhook

post https://generativelanguage.googleapis.com/v1beta/webhooks/{id}:ping

Envía un evento de ping a un webhook.

Parámetros de ruta de acceso y de consulta

id cadena  (obligatorio)

Obligatorio. ID del webhook al que se enviará un ping. Formato: `{webhook_id}`

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Respuesta

Si se ejecuta correctamente, la respuesta estará vacía.

Ejemplo

RotateSigningSecret

post https://generativelanguage.googleapis.com/v1beta/webhooks/{id}:rotateSigningSecret

Genera un nuevo secreto de firma para un webhook.

Parámetros de ruta de acceso y de consulta

id cadena  (obligatorio)

Obligatorio. Es el ID del webhook para el que se generará un secreto de firma. Formato: `{webhook_id}`

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

revocation_behavior enum (cadena)  (opcional)

Opcional. Es el comportamiento de revocación para los secretos de firma anteriores.

Valores posibles:

  • revoke_previous_secrets_after_h24

    Genera un nuevo secreto de firma y revoca todos los secretos anteriores después de 24 horas. Es la opción predeterminada y más segura para las migraciones.

  • revoke_previous_secrets_immediately

    Revoca todos los secretos anteriores de inmediato. Úsala con precaución, ya que puede interrumpir las notificaciones en curso.

Respuesta

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

secret cadena  (opcional)

Solo salida. Es el secreto de firma recién generado.

Ejemplo

Ejemplo de respuesta

{
  "secret": "string"
}

ListWebhooks

get https://generativelanguage.googleapis.com/v1beta/webhooks

Enumera todos los Webhooks.

Parámetros de ruta de acceso y de consulta

page_size integer  (opcional)

Opcional. Es la cantidad máxima de URLs de devolución de llamada que se devolverán. El servicio puede devolver menos que este valor. Si no se especifica, se devolverán, como máximo, 50 webhooks. El valor máximo es 1,000.

page_token cadena  (opcional)

Opcional. Es un token de página que se recibió de una llamada anterior a "ListWebhooks". Proporciona esto para recuperar la página siguiente.

Respuesta

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

next_page_token cadena  (opcional)

Un token, que se puede enviar como `page_token` para recuperar la página siguiente. Si se omite este campo, no habrá páginas siguientes.

webhooks array (Webhook)  (opcional)

Son los webhooks.

Ejemplo

Ejemplo de respuesta

{
  "next_page_token": "string",
  "webhooks": [
    {
      "create_time": "string",
      "id": "string",
      "name": "string",
      "new_signing_secret": "string",
      "signing_secrets": [
        {
          "expire_time": "string",
          "truncated_secret": "string"
        }
      ],
      "state": "enabled",
      "subscribed_events": [
        "batch.succeeded"
      ],
      "update_time": "string",
      "uri": "string"
    }
  ]
}

GetWebhook

get https://generativelanguage.googleapis.com/v1beta/webhooks/{id}

Obtiene un Webhook específico.

Parámetros de ruta de acceso y de consulta

id cadena  (obligatorio)

Obligatorio. Es el ID del webhook que se recuperará.

Respuesta

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

create_time cadena  (opcional)

Solo salida. Es la marca de tiempo de cuando se creó el webhook.

id cadena  (opcional)

Solo salida. Es el ID del webhook.

name cadena  (opcional)

Opcional. Es el nombre del webhook proporcionado por el usuario.

new_signing_secret cadena  (opcional)

Solo salida. Es el nuevo secreto de firma del webhook. Solo se completa en la creación.

signing_secrets array (SigningSecret)  (opcional)

Solo salida. Son los secretos de firma asociados a este webhook.

Representa un secreto de firma que se usa para verificar las cargas útiles de webhook.

Campos

expire_time cadena  (opcional)

Solo salida. Fecha de vencimiento del secreto de firma.

truncated_secret cadena  (opcional)

Solo salida. Es la versión truncada del secreto de firma.

state enum (cadena)  (opcional)

Solo salida. Es el estado del webhook.

Valores posibles:

  • enabled

    El webhook está habilitado.

  • disabled

    El usuario inhabilitó el webhook.

  • disabled_due_to_failed_deliveries

    El webhook está inhabilitado debido a que no se pudieron realizar las entregas.

subscribed_events array (enum (string))  (opcional)

Obligatorio. Son los eventos a los que se suscribe el webhook. Eventos disponibles: - batch.succeeded - batch.expired - batch.failed - interaction.requires_action - interaction.completed - interaction.failed - video.generated

Valores posibles:

  • batch.succeeded

    El procesamiento por lotes finalizó correctamente.

  • batch.expired

    El lote no se procesó en el plazo de 48 horas.

  • batch.failed

    Error en el trabajo por lotes.

  • interaction.requires_action

    La interacción requiere una acción (p.ej., una llamada a función).

  • interaction.completed

    La interacción se completó correctamente.

  • interaction.failed

    No se pudo realizar la interacción.

  • video.generated

    Se completó la generación del video.

update_time cadena  (opcional)

Solo salida. Es la marca de tiempo de la última actualización del webhook.

uri cadena  (opcional)

Obligatorio. Es el URI al que se enviarán los eventos de webhook.

Ejemplo

Ejemplo de respuesta

{
  "create_time": "string",
  "id": "string",
  "name": "string",
  "new_signing_secret": "string",
  "signing_secrets": [
    {
      "expire_time": "string",
      "truncated_secret": "string"
    }
  ],
  "state": "enabled",
  "subscribed_events": [
    "batch.succeeded"
  ],
  "update_time": "string",
  "uri": "string"
}

UpdateWebhook

patch https://generativelanguage.googleapis.com/v1beta/webhooks/{id}

Actualiza un webhook existente.

Parámetros de ruta de acceso y de consulta

id cadena  (obligatorio)

Obligatorio. Es el ID del webhook que se actualizará.

update_mask cadena  (opcional)

Opcional. La lista de campos que se deben actualizar.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

name cadena  (opcional)

Opcional. Es el nombre del webhook proporcionado por el usuario.

state enum (cadena)  (opcional)

Opcional. Es el estado del webhook.

Valores posibles:

  • enabled

    El webhook está habilitado.

  • disabled

    El usuario inhabilitó el webhook.

  • disabled_due_to_failed_deliveries

    El webhook está inhabilitado debido a que no se pudieron realizar las entregas.

subscribed_events array (enum (string))  (opcional)

Opcional. Son los eventos a los que se suscribe el webhook. Eventos disponibles: - batch.succeeded - batch.expired - batch.failed - interaction.requires_action - interaction.completed - interaction.failed - video.generated

Valores posibles:

  • batch.succeeded

    El procesamiento por lotes finalizó correctamente.

  • batch.expired

    El lote no se procesó en el plazo de 48 horas.

  • batch.failed

    Error en el trabajo por lotes.

  • interaction.requires_action

    La interacción requiere una acción (p.ej., una llamada a función).

  • interaction.completed

    La interacción se completó correctamente.

  • interaction.failed

    No se pudo realizar la interacción.

  • video.generated

    Se completó la generación del video.

uri cadena  (opcional)

Opcional. Es el URI al que se enviarán los eventos de webhook.

Respuesta

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

create_time cadena  (opcional)

Solo salida. Es la marca de tiempo de cuando se creó el webhook.

id cadena  (opcional)

Solo salida. Es el ID del webhook.

name cadena  (opcional)

Opcional. Es el nombre del webhook proporcionado por el usuario.

new_signing_secret cadena  (opcional)

Solo salida. Es el nuevo secreto de firma del webhook. Solo se completa en la creación.

signing_secrets array (SigningSecret)  (opcional)

Solo salida. Son los secretos de firma asociados a este webhook.

Representa un secreto de firma que se usa para verificar las cargas útiles de webhook.

Campos

expire_time cadena  (opcional)

Solo salida. Fecha de vencimiento del secreto de firma.

truncated_secret cadena  (opcional)

Solo salida. Es la versión truncada del secreto de firma.

state enum (cadena)  (opcional)

Solo salida. Es el estado del webhook.

Valores posibles:

  • enabled

    El webhook está habilitado.

  • disabled

    El usuario inhabilitó el webhook.

  • disabled_due_to_failed_deliveries

    El webhook está inhabilitado debido a que no se pudieron realizar las entregas.

subscribed_events array (enum (string))  (opcional)

Obligatorio. Son los eventos a los que se suscribe el webhook. Eventos disponibles: - batch.succeeded - batch.expired - batch.failed - interaction.requires_action - interaction.completed - interaction.failed - video.generated

Valores posibles:

  • batch.succeeded

    El procesamiento por lotes finalizó correctamente.

  • batch.expired

    El lote no se procesó en el plazo de 48 horas.

  • batch.failed

    Error en el trabajo por lotes.

  • interaction.requires_action

    La interacción requiere una acción (p.ej., una llamada a función).

  • interaction.completed

    La interacción se completó correctamente.

  • interaction.failed

    No se pudo realizar la interacción.

  • video.generated

    Se completó la generación del video.

update_time cadena  (opcional)

Solo salida. Es la marca de tiempo de la última actualización del webhook.

uri cadena  (opcional)

Obligatorio. Es el URI al que se enviarán los eventos de webhook.

Ejemplo

Ejemplo de respuesta

{
  "create_time": "string",
  "id": "string",
  "name": "string",
  "new_signing_secret": "string",
  "signing_secrets": [
    {
      "expire_time": "string",
      "truncated_secret": "string"
    }
  ],
  "state": "enabled",
  "subscribed_events": [
    "batch.succeeded"
  ],
  "update_time": "string",
  "uri": "string"
}

DeleteWebhook

delete https://generativelanguage.googleapis.com/v1beta/webhooks/{id}

Borra un webhook.

Parámetros de ruta de acceso y de consulta

id cadena  (obligatorio)

Obligatorio. Es el ID del webhook que se borrará. Formato: `{webhook_id}`

Respuesta

Si se ejecuta correctamente, la respuesta estará vacía.

Ejemplo

Recursos

Webhook

Es un recurso de Webhook.

Campos

create_time cadena  (opcional)

Solo salida. Es la marca de tiempo de cuando se creó el webhook.

id cadena  (opcional)

Solo salida. Es el ID del webhook.

name cadena  (opcional)

Opcional. Es el nombre del webhook proporcionado por el usuario.

new_signing_secret cadena  (opcional)

Solo salida. Es el nuevo secreto de firma del webhook. Solo se completa en la creación.

signing_secrets array (SigningSecret)  (opcional)

Solo salida. Son los secretos de firma asociados a este webhook.

Representa un secreto de firma que se usa para verificar las cargas útiles de webhook.

Campos

expire_time cadena  (opcional)

Solo salida. Fecha de vencimiento del secreto de firma.

truncated_secret cadena  (opcional)

Solo salida. Es la versión truncada del secreto de firma.

state enum (cadena)  (opcional)

Solo salida. Es el estado del webhook.

Valores posibles:

  • enabled

    El webhook está habilitado.

  • disabled

    El usuario inhabilitó el webhook.

  • disabled_due_to_failed_deliveries

    El webhook está inhabilitado debido a que no se pudieron realizar las entregas.

subscribed_events array (enum (string))  (opcional)

Obligatorio. Son los eventos a los que se suscribe el webhook. Eventos disponibles: - batch.succeeded - batch.expired - batch.failed - interaction.requires_action - interaction.completed - interaction.failed - video.generated

Valores posibles:

  • batch.succeeded

    El procesamiento por lotes finalizó correctamente.

  • batch.expired

    El lote no se procesó en el plazo de 48 horas.

  • batch.failed

    Error en el trabajo por lotes.

  • interaction.requires_action

    La interacción requiere una acción (p.ej., una llamada a función).

  • interaction.completed

    La interacción se completó correctamente.

  • interaction.failed

    No se pudo realizar la interacción.

  • video.generated

    Se completó la generación del video.

update_time cadena  (opcional)

Solo salida. Es la marca de tiempo de la última actualización del webhook.

uri cadena  (opcional)

Obligatorio. Es el URI al que se enviarán los eventos de webhook.