Os webhooks permitem que a API Gemini envie notificações em tempo real para seu servidor quando operações assíncronas ou de longa duração (LROs) são concluídas. Isso substitui a necessidade de fazer polling da API para atualizações de status, reduzindo a latência e a sobrecarga.
CreateWebhook
Cria um webhook.
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
Opcional. O nome do webhook fornecido pelo usuário.
Obrigatório. Os eventos a que o webhook está inscrito. Eventos disponíveis: - batch.succeeded - batch.expired - batch.failed - interaction.requires_action - interaction.completed - interaction.failed - video.generated
Valores possíveis:
-
batch.succeededO processamento em lote foi concluído.
-
batch.expiredO lote não foi processado dentro do período de 48 horas.
-
batch.failedO job em lote falhou.
-
interaction.requires_actionA interação exige uma ação (por exemplo, chamada de função).
-
interaction.completedA interação foi concluída.
-
interaction.failedFalha na interação.
-
video.generatedA geração de vídeo foi concluída.
Obrigatório. O URI para onde os eventos de webhook serão enviados.
Resposta
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
Apenas saída. O carimbo de data/hora em que o webhook foi criado.
Apenas saída. O ID do webhook.
Opcional. O nome do webhook fornecido pelo usuário.
Apenas saída. O novo secret de assinatura do webhook. Preenchido apenas na criação.
signing_secrets array (SigningSecret) (opcional)
Apenas saída. Os secrets de assinatura associados a este webhook.
Campos
Apenas saída. A data de validade da chave secreta de assinatura.
Apenas saída. A versão truncada da chave secreta de assinatura.
Apenas saída. O estado do webhook.
Valores possíveis:
-
enabledO webhook está ativado.
-
disabledO webhook foi desativado pelo usuário.
-
disabled_due_to_failed_deliveriesO webhook está desativado devido a falhas na entrega.
Obrigatório. Os eventos a que o webhook está inscrito. Eventos disponíveis: - batch.succeeded - batch.expired - batch.failed - interaction.requires_action - interaction.completed - interaction.failed - video.generated
Valores possíveis:
-
batch.succeededO processamento em lote foi concluído.
-
batch.expiredO lote não foi processado dentro do período de 48 horas.
-
batch.failedO job em lote falhou.
-
interaction.requires_actionA interação exige uma ação (por exemplo, chamada de função).
-
interaction.completedA interação foi concluída.
-
interaction.failedFalha na interação.
-
video.generatedA geração de vídeo foi concluída.
Apenas saída. O carimbo de data/hora da última atualização do webhook.
Obrigatório. O URI para onde os eventos de webhook serão enviados.
Exemplo
Exemplo de resposta
{ "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
Envia um evento de ping para um webhook.
Parâmetros de caminho / consulta
Obrigatório. O ID do webhook a ser pingado. Formato: `{webhook_id}`
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
Resposta
Se a solicitação for concluída, a resposta estará vazia.
Exemplo
RotateSigningSecret
Gera um novo secret de assinatura para um webhook.
Parâmetros de caminho / consulta
Obrigatório. O ID do webhook para o qual um segredo de assinatura será gerado. Formato: `{webhook_id}`
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
Opcional. O comportamento de revogação para secrets de assinatura anteriores.
Valores possíveis:
-
revoke_previous_secrets_after_h24Gere um novo secret de assinatura e revogue todos os anteriores após 24 horas. Opção padrão e mais segura para migrações.
-
revoke_previous_secrets_immediatelyRevogue todos os secrets anteriores imediatamente. Use com cuidado, porque isso pode interromper as notificações em andamento.
Resposta
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
Apenas saída. A chave secreta de assinatura recém-gerada.
Exemplo
Exemplo de resposta
{ "secret": "string" }
ListWebhooks
Lista todos os webhooks.
Parâmetros de caminho / consulta
Opcional. O número máximo de webhooks a serem retornados. O serviço pode retornar menos que esse valor. Se não for especificado, no máximo 50 webhooks serão retornados. O valor máximo é 1.000.
Opcional. Um token de página recebido de uma chamada "ListWebhooks" anterior. Forneça isso para recuperar a página subsequente.
Resposta
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
Um token, que pode ser enviado como "page_token" para recuperar a próxima página. Se esse campo for omitido, não haverá páginas subsequentes.
Os webhooks.
Exemplo
Exemplo de resposta
{ "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
Recebe um webhook específico.
Parâmetros de caminho / consulta
Obrigatório. O ID do webhook a ser recuperado.
Resposta
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
Apenas saída. O carimbo de data/hora em que o webhook foi criado.
Apenas saída. O ID do webhook.
Opcional. O nome do webhook fornecido pelo usuário.
Apenas saída. O novo secret de assinatura do webhook. Preenchido apenas na criação.
signing_secrets array (SigningSecret) (opcional)
Apenas saída. Os secrets de assinatura associados a este webhook.
Campos
Apenas saída. A data de validade da chave secreta de assinatura.
Apenas saída. A versão truncada da chave secreta de assinatura.
Apenas saída. O estado do webhook.
Valores possíveis:
-
enabledO webhook está ativado.
-
disabledO webhook foi desativado pelo usuário.
-
disabled_due_to_failed_deliveriesO webhook está desativado devido a falhas na entrega.
Obrigatório. Os eventos a que o webhook está inscrito. Eventos disponíveis: - batch.succeeded - batch.expired - batch.failed - interaction.requires_action - interaction.completed - interaction.failed - video.generated
Valores possíveis:
-
batch.succeededO processamento em lote foi concluído.
-
batch.expiredO lote não foi processado dentro do período de 48 horas.
-
batch.failedO job em lote falhou.
-
interaction.requires_actionA interação exige uma ação (por exemplo, chamada de função).
-
interaction.completedA interação foi concluída.
-
interaction.failedFalha na interação.
-
video.generatedA geração de vídeo foi concluída.
Apenas saída. O carimbo de data/hora da última atualização do webhook.
Obrigatório. O URI para onde os eventos de webhook serão enviados.
Exemplo
Exemplo de resposta
{ "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
Atualiza um webhook existente.
Parâmetros de caminho / consulta
Obrigatório. O ID do webhook a ser atualizado.
Opcional. Lista de campos a serem atualizados.
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
Opcional. O nome do webhook fornecido pelo usuário.
Opcional. O estado do webhook.
Valores possíveis:
-
enabledO webhook está ativado.
-
disabledO webhook foi desativado pelo usuário.
-
disabled_due_to_failed_deliveriesO webhook está desativado devido a falhas na entrega.
Opcional. Os eventos a que o webhook está inscrito. Eventos disponíveis: - batch.succeeded - batch.expired - batch.failed - interaction.requires_action - interaction.completed - interaction.failed - video.generated
Valores possíveis:
-
batch.succeededO processamento em lote foi concluído.
-
batch.expiredO lote não foi processado dentro do período de 48 horas.
-
batch.failedO job em lote falhou.
-
interaction.requires_actionA interação exige uma ação (por exemplo, chamada de função).
-
interaction.completedA interação foi concluída.
-
interaction.failedFalha na interação.
-
video.generatedA geração de vídeo foi concluída.
Opcional. O URI para onde os eventos de webhook serão enviados.
Resposta
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
Apenas saída. O carimbo de data/hora em que o webhook foi criado.
Apenas saída. O ID do webhook.
Opcional. O nome do webhook fornecido pelo usuário.
Apenas saída. O novo secret de assinatura do webhook. Preenchido apenas na criação.
signing_secrets array (SigningSecret) (opcional)
Apenas saída. Os secrets de assinatura associados a este webhook.
Campos
Apenas saída. A data de validade da chave secreta de assinatura.
Apenas saída. A versão truncada da chave secreta de assinatura.
Apenas saída. O estado do webhook.
Valores possíveis:
-
enabledO webhook está ativado.
-
disabledO webhook foi desativado pelo usuário.
-
disabled_due_to_failed_deliveriesO webhook está desativado devido a falhas na entrega.
Obrigatório. Os eventos a que o webhook está inscrito. Eventos disponíveis: - batch.succeeded - batch.expired - batch.failed - interaction.requires_action - interaction.completed - interaction.failed - video.generated
Valores possíveis:
-
batch.succeededO processamento em lote foi concluído.
-
batch.expiredO lote não foi processado dentro do período de 48 horas.
-
batch.failedO job em lote falhou.
-
interaction.requires_actionA interação exige uma ação (por exemplo, chamada de função).
-
interaction.completedA interação foi concluída.
-
interaction.failedFalha na interação.
-
video.generatedA geração de vídeo foi concluída.
Apenas saída. O carimbo de data/hora da última atualização do webhook.
Obrigatório. O URI para onde os eventos de webhook serão enviados.
Exemplo
Exemplo de resposta
{ "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
Exclui um webhook.
Parâmetros de caminho / consulta
Obrigatório. O ID do webhook a ser excluído. Formato: `{webhook_id}`
Resposta
Se a solicitação for concluída, a resposta estará vazia.
Exemplo
Recursos
Webhook
Um recurso de webhook.
Campos
Apenas saída. O carimbo de data/hora em que o webhook foi criado.
Apenas saída. O ID do webhook.
Opcional. O nome do webhook fornecido pelo usuário.
Apenas saída. O novo secret de assinatura do webhook. Preenchido apenas na criação.
signing_secrets array (SigningSecret) (opcional)
Apenas saída. Os secrets de assinatura associados a este webhook.
Campos
Apenas saída. A data de validade da chave secreta de assinatura.
Apenas saída. A versão truncada da chave secreta de assinatura.
Apenas saída. O estado do webhook.
Valores possíveis:
-
enabledO webhook está ativado.
-
disabledO webhook foi desativado pelo usuário.
-
disabled_due_to_failed_deliveriesO webhook está desativado devido a falhas na entrega.
Obrigatório. Os eventos a que o webhook está inscrito. Eventos disponíveis: - batch.succeeded - batch.expired - batch.failed - interaction.requires_action - interaction.completed - interaction.failed - video.generated
Valores possíveis:
-
batch.succeededO processamento em lote foi concluído.
-
batch.expiredO lote não foi processado dentro do período de 48 horas.
-
batch.failedO job em lote falhou.
-
interaction.requires_actionA interação exige uma ação (por exemplo, chamada de função).
-
interaction.completedA interação foi concluída.
-
interaction.failedFalha na interação.
-
video.generatedA geração de vídeo foi concluída.
Apenas saída. O carimbo de data/hora da última atualização do webhook.
Obrigatório. O URI para onde os eventos de webhook serão enviados.