Gerenciando Webhooks

Como cadastrar seu webservice para receber os eventos de webhook
Escrito por Suporte yube
Atualizado 3 anos atrás

Com a criação de webhooks, seu webservice receberá os eventos com as informações sobre as mudanças que ocorrem na Yube.

Hoje você é capaz de cadastrar um Webhook para cada Status da Organização.

Castrando esse webhook, quando o convite for alterado para o devido Status os servidores da Yube enviarão uma requisição para o seu webservice.

Veja como utilizar o evento de webhook no artigo Recebendo Webhooks.

Criando um Webhook

Para fazer o cadastro de um Webhook você vai precisar do ID do Status (veja Carregando informações da Organização para conseguir esta informação) e a url do seu webservice e enviar essas informações para a mutation createWebhook.

Mutation

mutation CreateWebhook($input: CreateWebhookInput!) {
  createWebhook(input: $input) {
    webhook {
      successful
      messages {
        code
        field
        message
      }
      result {
        __typename
        id
        url
        status {
          __typename
          id
          name
          description
          order
        }
      }
    }
  }
}

Variables

{
  "input": {
    "statusId": "U3RhdHVzOjUzNjlmNjIyLWY1MDctNDBlYi1iZDg3LTBkNDhjMGNhNTNkZA==",
    "url": "https://webhook.site/4310f7dc-c356-48ce-b692-c970f035a79d"
  }
}

Exemplo de Resposta

{
  "data": {
    "createWebhook": {
      "webhook": {
        "messages": [],
        "result": {
          "__typename": "Webhook",
          "id": "V2ViaG9vazo5ZGU0NWE5OS1jZTc1LTRmZjUtOGQxYi1lM2FkOWU5M2Q2NjA=",
          "status": {
            "__typename": "Status",
            "category": "IN_PROGRESS",
            "description": null,
            "id": "U3RhdHVzOjUzNjlmNjIyLWY1MDctNDBlYi1iZDg3LTBkNDhjMGNhNTNkZA==",
            "name": "Pronto"
          },
          "url": "https://webhook.site/4310f7dc-c356-48ce-b692-c970f035a79d"
        },
        "successful": true
      }
    }
  }
}

Essa requisição depende do envio da chave de autenticação.

Alterando a url de um webhook

Mutation

mutation UpdateWebhook($input: UpdateWebhookInput!) {
  updateWebhook(input: $input) {
    webhook {
      successful
      messages {
        code
        field
        message
      }
      result {
        __typename
        id
        url
        status {
          __typename
          id
          name
          description
          order
        }
      }
    }
  }
}

Variables

{
  "input": {
    "id": "V2ViaG9vazo5ZGU0NWE5OS1jZTc1LTRmZjUtOGQxYi1lM2FkOWU5M2Q2NjA=",
    "url": "https://webhook.site/4310f7dc-c356-48ce-b692-c970f035a79d"
  }
}

Exemplo de Resposta

{
  "data": {
    "updateWebhook": {
      "webhook": {
        "messages": [],
        "result": {
          "__typename": "Webhook",
          "id": "V2ViaG9vazo5ZGU0NWE5OS1jZTc1LTRmZjUtOGQxYi1lM2FkOWU5M2Q2NjA=",
          "status": {
            "__typename": "Status",
            "category": "IN_PROGRESS",
            "description": null,
            "id": "U3RhdHVzOjUzNjlmNjIyLWY1MDctNDBlYi1iZDg3LTBkNDhjMGNhNTNkZA==",
            "name": "Pronto"
          },
          "url": "https://webhook.site/4310f7dc-c356-48ce-b692-c970f035a79d"
        },
        "successful": true
      }
    }
  }
}

Essa requisição depende do envio da chave de autenticação.

Excluindo um Webhook

Para remover o webhook basta enviar o id do Webhook para a mutation deleteWebhook.

Mutation

mutation DeleteWebhook($input: DeleteWebhookInput!) {
  deleteWebhook(input: $input) {
    webhook {
      successful
    }
  }
}

Variables

{
  "input": {
    "id": "V2ViaG9vazo5ZGU0NWE5OS1jZTc1LTRmZjUtOGQxYi1lM2FkOWU5M2Q2NjA="
  }
}

Exemplo de Resposta

{
  "data": {
    "deleteWebhook": {
      "webhook": {
        "successful": true
      }
    }
  }
}

Essa requisição depende do envio da chave de autenticação.

Esse artigo foi útil?