Você está vendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. informações
O que é um webhook?
Um webhook define um gerenciador de callback HTTP que é acionado por um evento. Você pode criar webhooks e configurá-los para processar notificações de eventos, como uma alternativa ao uso dos modelos de notificação de monetização, conforme descrito em Configurar notificações usando modelos de notificação.
Para configurar notificações usando webhooks, conclua as etapas a seguir usando a IU do Edge Management ou a API Management and Monetization:
- Adicione webhooks que definam os gerenciadores de callback para os eventos de notificação usando a interface ou a API.
- Configure o gerenciador de callback.
- Configure a notificação de um plano de tarifas ajustáveis usando a interface ou a API.
Como gerenciar webhooks
Adicione e gerencie os webhooks que definem os gerenciadores de callback para os eventos de notificação usando a interface ou a API.
Como gerenciar webhooks usando a interface
Adicione e gerencie webhooks que definem os gerenciadores de callback para os eventos de notificação usando a interface, conforme descrito nas seções a seguir.
- Como explorar a página "Webhooks"
- Como adicionar um webhook usando a IU
- Como editar um webhook usando a IU
- Como excluir um webhook usando a IU
Explorar a página "Webhooks"
Acesse a página "Webhooks", conforme descrito abaixo.
Edge
Para acessar a página "Webhooks" usando a interface do usuário do Edge:
- Faça login em apigee.com/edge.
- Selecione Publicar > Monetização > Webhooks na barra de navegação à esquerda.
A página "Webhooks" é exibida.
Conforme destacado na figura, a página "Webhooks" permite:
- Conferir detalhes dos webhooks atuais.
- Adicione um webhook.
- Ative ou desative, edite ou exclua um webhook.
- Pesquise a lista de webhooks.
Borda clássica (nuvem privada)
Para acessar a página "Webhooks" usando a interface clássica do Edge:
- Faça login em
http://ms-ip:9000
, em que ms-ip é o endereço IP ou o nome DNS do nó do servidor de gerenciamento. Selecione Administrador > Webhooks.
A página "Webhooks" é exibida.
Na página "Webhooks", você pode fazer o seguinte:
- Conferir detalhes dos webhooks atuais.
- Adicione um webhook.
- Ative ou desative, edite ou exclua um webhook.
- Pesquise a lista de webhooks.
Como adicionar um webhook usando a IU
Para adicionar um webhook usando a interface:
- Acesse a página Webhooks.
- Clique em + Webhook.
- Insira as informações a seguir (todos os campos são obrigatórios).
Campo Descrição Nome Nome do webhook. URL URL do gerenciador de callback que será chamado quando a notificação de eventos for acionada. Consulte Como configurar o gerenciador de callback. - Clique em Salvar.
O webhook é adicionado à lista e ativado por padrão.
Editar um webhook usando a interface
Para editar um webhook usando a IU:
- Acesse a página Webhooks.
- Posicione o cursor sobre o webhook que você quer editar e clique em no menu de ações.
- Edite os campos do webhook, conforme necessário.
- Clique em Atualizar webhook.
Ativar ou desativar um webhook usando a interface
Para ativar ou desativar um webhook usando a interface:
- Acesse a página Webhooks.
- Posicione o cursor sobre o webhook e alterne a chave de status para ativar ou desativar o recurso.
Como excluir um webhook usando a IU
Para excluir um webhook usando a interface:
- Acesse a página Webhooks.
- Posicione o cursor sobre o webhook que você quer excluir e clique em .
O webhook é excluído e removido da lista.
Como gerenciar webhooks usando a API
Adicione e gerencie webhooks usando a API, conforme descrito nas seções a seguir.
- Como ver todos os webhooks usando a API
- Como ver um webhook usando a API
- Como adicionar um webhook usando a API
- Como editar um webhook usando a API
- Como excluir um webhook usando a API
Visualizar todos os webhooks usando a API
Confira todos os webhooks emitindo uma solicitação GET para /mint/organizations/{org_name}/webhooks
.
Exemplo:
curl -X GET "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks" \ -H "Content-Type: application/json " \ -u email:password
Confira a seguir um exemplo da resposta retornada:
{ "totalRecords": 2, "webhooks": [ { "created": 1460162656342, "enabled": false, "id": "21844a37-d26d-476c-93ed-38f3a4b24691", "name": "webhook1", "postUrl": "http://mycompany.com/callbackhandler1", "updated": 1460162656342, "updatedBy": "joe@example.com" }, { "created": 1460138724352, "createdBy": "joe@example.com", "enabled": true, "id": "a39ca777-1861-49cf-a397-c9e92ab3c09f", "name": "webhook2", "postUrl": "http://mycompany.com/callbackhandler2", "updated": 1460138724352, "updatedBy": "joe@example.com" } ] }
Acessar um webhook usando a API
Confira um único webhook emitindo uma solicitação GET para
/mint/organizations/{org_name}/webhooks/{webhook_id}
.
Exemplo:
curl -X GET "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/21844a37-d26d-476c-93ed-38f3a4b24691" \ -H "Content-Type: application/json " \ -u email:password
Veja a seguir um exemplo de resposta:
{ "created": 1460162656342, "enabled": false, "id": "21844a37-d26d-476c-93ed-38f3a4b24691", "name": "webhook1", "postUrl": "http://mycompany.com/callbackhandler1", "updated": 1460162656342, "updatedBy": "joe@example.com" }
Como adicionar um webhook usando a API
Adicione um webhook emitindo uma solicitação POST para /mint/organizations/{org_name}/webhooks
.
É necessário informar o nome do webhook e o URL do gerenciador de callback que será chamado
quando a notificação de eventos for acionada.
Por exemplo, o comando a seguir cria um webhook chamado webhook3
e atribui
callbackhandler3
ao webhook:
curl -X POST "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks" -H "Content-Type: application/json " -d '{ "name": "webhook3", "postURL": "http://mycompany.com/callbackhandler3" }' \ -u email:password
Veja a seguir um exemplo de resposta:
{ "created": 1460385534555, "createdBy": "joe@example.com", "enabled": false, "id": "0a07eb1f-f485-4539-8beb-01be449699b3", "name": "webhook3", "orgId": "myorg", "postUrl": "http://mycompany.com/callbackhandler3", "updated": 1460385534555, "updatedBy": "joe@example.com" }
Editar um webhook usando a API
Edite um webhook emitindo uma solicitação POST para
/mint/organizations/{org_name}/webhooks/{webhook_id}
. Transmita as atualizações no corpo da
solicitação.
Por exemplo, o código a seguir atualiza o gerenciador de callback associado a webhook1
:
curl -X POST "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/0a07eb1f-f485-4539-8beb-01be449699b3" \ -H "Content-Type: application/json " \ -d '{ "postURL": "http://mycompany.com/callbackhandler4" }' \ -u email:password
Veja a seguir um exemplo de resposta:
{ "created": 1460385534555, "enabled": false, "id": "0a07eb1f-f485-4539-8beb-01be449699b3", "name": "webhook3", "orgId": "myorg", "postUrl": "http://mycompany.com/callbackhandler4", "updated": 1460385534555, "updatedBy": "joe@example.com" }
Ativar ou desativar um webhook usando a API
Ative ou desative um webhook enviando uma solicitação POST para
/mint/organizations/{org_name}/webhooks/{webhook_id}
, como você fez ao atualizar um webhook,
e defina o atributo ativado no corpo da solicitação como verdadeiro ou falso, respectivamente. Se você desativar o webhook, ele não será acionado quando ocorrer um evento.
Por exemplo, o código a seguir ativa webhook3
:
curl -X POST "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/0a07eb1f-f485-4539-8beb-01be449699b3" \ -H "Content-Type: application/json " \ -d '{ "enabled": "true" }' \ -u email:password
Veja a seguir um exemplo de resposta:
{ "created": 1460385534555, "enabled": true, "id": "0a07eb1f-f485-4539-8beb-01be449699b3", "name": "webhook3", "orgId": "myorg", "postUrl": "http://mycompany.com/callbackhandler4", "updated": 1460385534555, "updatedBy": "joe@example.com" }
Excluir um webhook usando a API
Exclua um webhook emitindo uma solicitação DELETE para /mint/organizations/{org_name}/webhooks/{webhook_id}
.
Para especificar se você deve ou não forçar a exclusão do webhook se houver processos em andamento, defina o parâmetro de consulta forceDelete
como true
ou false
. O parâmetro de consulta forceDelete
está ativado (true
) por padrão.
Por exemplo, o código a seguir exclui webhook3
:
curl -X DELETE "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/21844a37-d26d-476c-93ed-38f3a4b24691" \ -H "Content-Type: application/json " \ -u email:password
Como configurar o gerenciador de callback
Confira a seguir o formato da solicitação JSON enviada ao gerenciador de callbacks definido por um webhook quando uma notificação de evento é acionada. Você precisa garantir que o gerenciador de callback processe a solicitação corretamente.
{ "orgName": "{org_id}", "developerEmail": "{dev_email}", "developerFirstName": "{first_name}", "developerLastName": "{last_name}", "companyName": "{company_name}", "applicationName": "{app_name}", "packageName": "{api_package_name}", "packageId": "{api_package_id}", "ratePlanId": "{rateplan_id}", "ratePlanName": "{rateplan_name}", "ratePlanType": "{rateplan_type}", "developerRatePlanQuotaTarget": {quota_target}, "quotaPercentUsed": {percentage_quota_used}, "ratePlanStartDate": {rateplan_startdate}, "ratePlanEndDate": {rateplan_enddate}, "nextBillingCycleStartDate": {next_billing_cycle_startdate}, "products": ["{api_product_name}","{api_product_name}"], "developerCustomAttributes": [], "triggerTime": {trigger_time}, "triggerReason": "{trigger_reason}", "developerQuotaResetDate": "{devquota_resetdate}" }
Como configurar notificações para um plano de tarifas ajustável
Configure notificações usando webhooks para um plano de tarifas ajustáveis usando a interface ou a API.
Configurar notificações para um plano de tarifas ajustáveis usando a interface
Configure notificações com webhooks para um plano de tarifas ajustáveis usando a interface, conforme descrito abaixo.
Acesse a caixa de diálogo "Notificações" para ver um plano de tarifas ajustável
Acesse a caixa de diálogo "Notificações" de um plano de tarifa ajustável, conforme descrito abaixo.
Edge
Para acessar a caixa de diálogo de notificações usando a interface do Edge:
- Crie e publique um plano de tarifas de notificação ajustável, conforme descrito em Especificar detalhes do plano de notificação ajustável.
- Acesse a página "Planos de tarifa" selecionando Publicar > Monetização > Planos de tarifa na barra de navegação à esquerda.
- Posicione o cursor sobre o plano de taxa de notificação ajustável publicado para exibir as ações.
- Clique em + Notificar.
A caixa de diálogo "Notificações" é exibida.
Observação: o plano de tarifa precisa ser publicado para que a ação "+Notificar" seja exibida.
Borda clássica (nuvem privada)
Para acessar a página "Notificações":
- Crie um plano de tarifa de notificação ajustável, conforme descrito em Especificar detalhes do plano de notificação ajustável.
- Selecione Publicar > Pacotes para ver os planos de tarifas.
- Clique em + Notificar na coluna "Ações" do plano de tarifas.
A caixa de diálogo "Notificações" é exibida.
Adicionando notificações para um plano de tarifa ajustável usando a interface
Para adicionar notificações para um plano de tarifa ajustável na interface:
- Acesse a caixa de diálogo "Notificações".
- Defina a condição de notificação em Intervalos de notificação especificando uma porcentagem do número desejado de transações em que você quer que uma notificação seja acionada. Mais especificamente:
- Para definir uma porcentagem exata, insira a porcentagem no campo De % e deixe o campo Para % em branco.
- Para definir um intervalo de porcentagem, insira a porcentagem de início e de término nos campos Em/de % e Até %, respectivamente, e um valor de incremento no campo Etapa %. Por padrão, as notificações são enviadas em incrementos de 10% dentro do intervalo especificado.
O campo
Notify At
é atualizado para refletir cada porcentagem do número desejado de transações que acionarão um evento. - Para definir outras condições de notificação, clique em +Adicionar e repita a etapa 4.
- Defina a ação de notificação em Webhooks selecionando um ou mais webhooks para gerenciar o tratamento de retornos de chamada quando as notificações forem acionadas.
- Clique em Criar notificação.
Como editar notificações de um plano de tarifas ajustáveis usando a interface
Para editar notificações de um plano de tarifa ajustável na interface:
- Acesse a caixa de diálogo "Notificações".
- Clique em + Notificar na coluna "Ações" do plano de tarifas.
- Clique em Editar.
- Modifique os valores conforme necessário.
- Clique em Salvar notificação.
Excluir notificações de um plano de tarifas ajustáveis usando a interface
Para excluir uma condição e ação de notificação:
- Acesse a caixa de diálogo "Notificações".
- Clique em + Notificar na coluna "Ações" do plano de tarifas.
- Clique em Excluir notificação.
Configurar notificações para um plano de tarifas ajustáveis usando a API
Para configurar uma notificação sobre um plano de tarifas ajustáveis usando a API, use o procedimento descrito em Como gerenciar condições e ações de notificação usando a API e use os atributos descritos nesta seção.
Para configurar a condição de notificação (notificationCondition
), use os
valores de atributo a seguir. Para mais informações, consulte Propriedades de configuração das condições de notificação.
Atributo | Valor |
---|---|
RATEPLAN |
ID do plano de taxa de notificação ajustável. |
PUBLISHED |
TRUE para indicar que o plano de taxa de notificação ajustável precisa ser
publicado. |
UsageTarget |
Porcentagem do número desejado de transações em que você quer que uma notificação
seja acionada.
Esse atributo permite que você notifique os desenvolvedores quando eles estiverem se aproximando ou tiverem atingido o número pretendido de transações para um plano de tabela de preços ajustável que foram comprados. Por exemplo, se um desenvolvedor comprou um plano de taxa de notificação ajustável e o número desejado de transações foi definido como 1.000, ele pode ser notificado quando ele atingir 800 transações (80% do número pretendido de transações), 1.000 transações (100%) ou 1.500 transações (150%).
|
Para configurar a ação de notificação, defina os valores a seguir em actions
. Para
mais informações, consulte Propriedades
de configuração para ações de notificação.
Atributo | Valor |
---|---|
actionAttribute |
WEBHOOK para acionar um webhook. |
value |
O ID do webhook que você definiu na seção anterior, Criar webhooks usando a API. |
Veja a seguir um exemplo de como criar uma condição de notificação que aciona um webhook quando a porcentagem do número de transações de destino atingir 80%, 90%, 100%, 110% e 120%.
{ "notificationCondition": [ { "attribute": "RATEPLAN", "value": "123456" }, { "attribute": "PUBLISHED", "value": "TRUE" }, { "attribute": "UsageTarget", "value": "%= 80 to 120 by 10" } } ], "actions": [{ "actionAttribute": "WEBHOOK", "value": "b0d77596-142e-4606-ae2d-f55c3c6bfebe", }] }
Para informações sobre como visualizar, atualizar e excluir uma condição e ação de notificação, consulte:
- Como visualizar uma condição e ação de notificação usando a API
- Como editar uma condição de notificação e ação usando a API
- Como excluir uma condição de notificação e ação usando a API
Códigos de resposta de webhook
Veja a seguir um resumo dos códigos de resposta do webhook e como eles são interpretados pelo sistema.
Código de resposta | Descrição |
---|---|
2xx |
Concluído |
5xx |
Falha na solicitação. O sistema tentará enviar a solicitação novamente até três vezes em intervalos de cinco minutos. Observação: os tempos limite de leitura e conexão para solicitações de webhook são de três segundos cada, o que pode resultar em solicitações com falha. |
Other response |
Falha na solicitação. O sistema não vai repetir a solicitação. |