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
Crea un webhook nuevo.
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
Opcional. Es el nombre del webhook proporcionado por el usuario.
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.succeededEl procesamiento por lotes finalizó correctamente.
-
batch.expiredEl lote no se procesó en el plazo de 48 horas.
-
batch.failedError en el trabajo por lotes.
-
interaction.requires_actionLa interacción requiere una acción (p.ej., una llamada a función).
-
interaction.completedLa interacción se completó correctamente.
-
interaction.failedNo se pudo realizar la interacción.
-
video.generatedSe completó la generación del video.
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:
Solo salida. Es la marca de tiempo de cuando se creó el webhook.
Solo salida. Es el ID del webhook.
Opcional. Es el nombre del webhook proporcionado por el usuario.
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.
Campos
Solo salida. Fecha de vencimiento del secreto de firma.
Solo salida. Es la versión truncada del secreto de firma.
Solo salida. Es el estado del webhook.
Valores posibles:
-
enabledEl webhook está habilitado.
-
disabledEl usuario inhabilitó el webhook.
-
disabled_due_to_failed_deliveriesEl webhook está inhabilitado debido a que no se pudieron realizar las entregas.
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.succeededEl procesamiento por lotes finalizó correctamente.
-
batch.expiredEl lote no se procesó en el plazo de 48 horas.
-
batch.failedError en el trabajo por lotes.
-
interaction.requires_actionLa interacción requiere una acción (p.ej., una llamada a función).
-
interaction.completedLa interacción se completó correctamente.
-
interaction.failedNo se pudo realizar la interacción.
-
video.generatedSe completó la generación del video.
Solo salida. Es la marca de tiempo de la última actualización del webhook.
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
Envía un evento de ping a un webhook.
Parámetros de ruta de acceso y de consulta
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
Genera un nuevo secreto de firma para un webhook.
Parámetros de ruta de acceso y de consulta
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:
Opcional. Es el comportamiento de revocación para los secretos de firma anteriores.
Valores posibles:
-
revoke_previous_secrets_after_h24Genera 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_immediatelyRevoca 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:
Solo salida. Es el secreto de firma recién generado.
Ejemplo
Ejemplo de respuesta
{ "secret": "string" }
ListWebhooks
Enumera todos los Webhooks.
Parámetros de ruta de acceso y de consulta
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.
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:
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.
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
Obtiene un Webhook específico.
Parámetros de ruta de acceso y de consulta
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:
Solo salida. Es la marca de tiempo de cuando se creó el webhook.
Solo salida. Es el ID del webhook.
Opcional. Es el nombre del webhook proporcionado por el usuario.
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.
Campos
Solo salida. Fecha de vencimiento del secreto de firma.
Solo salida. Es la versión truncada del secreto de firma.
Solo salida. Es el estado del webhook.
Valores posibles:
-
enabledEl webhook está habilitado.
-
disabledEl usuario inhabilitó el webhook.
-
disabled_due_to_failed_deliveriesEl webhook está inhabilitado debido a que no se pudieron realizar las entregas.
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.succeededEl procesamiento por lotes finalizó correctamente.
-
batch.expiredEl lote no se procesó en el plazo de 48 horas.
-
batch.failedError en el trabajo por lotes.
-
interaction.requires_actionLa interacción requiere una acción (p.ej., una llamada a función).
-
interaction.completedLa interacción se completó correctamente.
-
interaction.failedNo se pudo realizar la interacción.
-
video.generatedSe completó la generación del video.
Solo salida. Es la marca de tiempo de la última actualización del webhook.
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
Actualiza un webhook existente.
Parámetros de ruta de acceso y de consulta
Obligatorio. Es el ID del webhook que se actualizará.
Opcional. La lista de campos que se deben actualizar.
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
Opcional. Es el nombre del webhook proporcionado por el usuario.
Opcional. Es el estado del webhook.
Valores posibles:
-
enabledEl webhook está habilitado.
-
disabledEl usuario inhabilitó el webhook.
-
disabled_due_to_failed_deliveriesEl webhook está inhabilitado debido a que no se pudieron realizar las entregas.
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.succeededEl procesamiento por lotes finalizó correctamente.
-
batch.expiredEl lote no se procesó en el plazo de 48 horas.
-
batch.failedError en el trabajo por lotes.
-
interaction.requires_actionLa interacción requiere una acción (p.ej., una llamada a función).
-
interaction.completedLa interacción se completó correctamente.
-
interaction.failedNo se pudo realizar la interacción.
-
video.generatedSe completó la generación del video.
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:
Solo salida. Es la marca de tiempo de cuando se creó el webhook.
Solo salida. Es el ID del webhook.
Opcional. Es el nombre del webhook proporcionado por el usuario.
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.
Campos
Solo salida. Fecha de vencimiento del secreto de firma.
Solo salida. Es la versión truncada del secreto de firma.
Solo salida. Es el estado del webhook.
Valores posibles:
-
enabledEl webhook está habilitado.
-
disabledEl usuario inhabilitó el webhook.
-
disabled_due_to_failed_deliveriesEl webhook está inhabilitado debido a que no se pudieron realizar las entregas.
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.succeededEl procesamiento por lotes finalizó correctamente.
-
batch.expiredEl lote no se procesó en el plazo de 48 horas.
-
batch.failedError en el trabajo por lotes.
-
interaction.requires_actionLa interacción requiere una acción (p.ej., una llamada a función).
-
interaction.completedLa interacción se completó correctamente.
-
interaction.failedNo se pudo realizar la interacción.
-
video.generatedSe completó la generación del video.
Solo salida. Es la marca de tiempo de la última actualización del webhook.
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
Borra un webhook.
Parámetros de ruta de acceso y de consulta
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
Solo salida. Es la marca de tiempo de cuando se creó el webhook.
Solo salida. Es el ID del webhook.
Opcional. Es el nombre del webhook proporcionado por el usuario.
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.
Campos
Solo salida. Fecha de vencimiento del secreto de firma.
Solo salida. Es la versión truncada del secreto de firma.
Solo salida. Es el estado del webhook.
Valores posibles:
-
enabledEl webhook está habilitado.
-
disabledEl usuario inhabilitó el webhook.
-
disabled_due_to_failed_deliveriesEl webhook está inhabilitado debido a que no se pudieron realizar las entregas.
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.succeededEl procesamiento por lotes finalizó correctamente.
-
batch.expiredEl lote no se procesó en el plazo de 48 horas.
-
batch.failedError en el trabajo por lotes.
-
interaction.requires_actionLa interacción requiere una acción (p.ej., una llamada a función).
-
interaction.completedLa interacción se completó correctamente.
-
interaction.failedNo se pudo realizar la interacción.
-
video.generatedSe completó la generación del video.
Solo salida. Es la marca de tiempo de la última actualización del webhook.
Obligatorio. Es el URI al que se enviarán los eventos de webhook.