Webhooks: conectando o SuperSaaS a outros sites
Webhooks são chamadas definidas pelo usuário que informam outros aplicativos ou sites sobre eventos que acontecem na sua conta do SuperSaaS quase em tempo real.
Alguns exemplos de como você pode usar um webhook:
- Quando um novo usuário se cadastrar na sua conta do SuperSaaS, inscreva-o em uma lista do MailChimp
- Quando um novo usuário se cadastrar, envie um PDF com seus termos e condições para o endereço de e-mail dele
- Quando um novo compromisso for criado, gere uma fatura no QuickBooks ou Freshbooks
- Quando um novo compromisso for criado para uma aula específica, atualize o Google Calendar do professor dessa aula
- Quando um compromisso estiver prestes a começar, envie uma notificação ao Slack ou uma notificação push ao seu celular
- Quando um usuário sair da lista de espera para uma vaga confirmada, envie uma mensagem SMS para ele
- Quando um e-mail for enviado, redirecione-o para enviar e-mail por outro servidor de e-mail
Configurar webhooks automaticamente com Zapier.com ou Make
Você pode usar tanto o Zapier.com quanto o Make para criar, de forma interativa, conexões entre centenas de sites conhecidos e o SuperSaaS, sem precisar programar. Tanto o Zapier quanto o Make oferecem versão de teste e um plano gratuito para usuários menores.
Normalmente é relativamente simples criar webhooks a partir dos exemplos prontos, mas você encontra mais detalhes abaixo caso queira maior controle filtrando apenas certos eventos.
Gatilhos suportados
Há vários eventos que você pode monitorar. Alguns eventos podem ser observados como evento “novo” ou como evento “alterado”. O evento “alterado” inclui todas as mudanças, então também é disparado para “novo” e “excluir”. Isso significa que, se você configurar tanto “Novo usuário” quanto “Usuário alterado”, ambos os webhooks serão disparados quando um novo usuário se cadastrar. Observe que, se a sua agenda estiver configurada para não exigir cadastro, você nunca verá um gatilho de “Novo usuário”, apenas um gatilho de “Novo compromisso”.
| Gatilho | Causado por… |
|---|---|
| Novo usuário | Disparado quando um usuário se cadastra na sua conta |
| Usuário alterado | Disparado quando o usuário atualiza os próprios dados de cadastro, ou quando o administrador faz isso por ele. |
| Novo compromisso | Disparado quando um usuário, ou o administrador, cria um compromisso na agenda especificada. |
| Compromisso alterado | Disparado em todas as possíveis mudanças de um compromisso, incluindo “Novo”, “Excluir”, “Saída da lista de espera” e “Pagamento recebido”, etc. (veja a lista completa abaixo) |
| Novo formulário independente | Disparado quando um formulário independente é preenchido. Observe que ele não dispara quando um formulário está anexado a um compromisso; nesse caso, o webhook do compromisso será disparado. |
| Formulário independente atualizado | Disparado em qualquer alteração de um formulário independente (formulários integrados disparam “Compromisso alterado” ou “Usuário alterado”) |
| Enviar e-mail | Disparado em todos os e-mails enviados pela sua conta, incluindo e-mails de “Esqueci minha senha”, etc. É útil para enviar e-mail pelo seu próprio servidor. O e-mail deixará de ser enviado por nós se esse webhook estiver ativo. |
| Lembrete Acompanhamento | Disparado em Lembretes ou Acompanhamentos. O lembrete ou acompanhamento deixará de ser enviado por nós se o webhook correspondente estiver ativo. |
| Compra | Disparado quando um usuário compra algo na sua loja. Também é disparado se você criar uma compra manualmente. |
Filtrar eventos
Quando você conecta dois serviços usando Zapier ou Make, é possível filtrar os eventos. Alguns exemplos de como usar filtros:
- Enviar uma notificação SMS apenas quando alguém sair da lista de espera, não em toda alteração de compromisso
- Notificar um professor de uma nova reserva apenas se a aula for ministrada por ele, ignorando outras reservas da mesma agenda
- Enviar uma notificação à gerência apenas se a reserva tiver valor superior a R$100
Quando você cria um novo webhook, Zapier/Make solicitará um objeto de exemplo ao SuperSaaS. O objeto de exemplo lista os campos disponíveis e algum conteúdo de exemplo. Os campos enviados pelo webhook dependem de quais campos estão habilitados na sua conta e de haver ou não um formulário personalizado anexado. Os campos “event” e “role” estão incluídos na maioria dos gatilhos e podem ser usados para filtrar os eventos. Por exemplo, você pode filtrar apenas os gatilhos que contenham o valor “delete” no campo “event”.
| Gatilho | Valores possíveis do campo “event” |
|---|---|
| Novo usuário | new |
| Usuário alterado | new, change, delete |
| Novo compromisso | create |
| Compromisso alterado | create, edit, place, pending, destroy, restore, approve, revert |
| Novo formulário | new |
| Formulário alterado | new, change, delete, restore |
| Lembrete / Acompanhamento | reminder, follow_up |
| Compra | purchase |
| Campo “Role” | Quem disparou o evento… | |
|---|---|---|
| 0 | Anônimo | Não está logado |
| 1 | Logado com senha compartilhada | |
| 2 | Validado por verificação de faixa de IP | |
| 3 | Usuário comum | |
| 4 | Superusuário | |
| 5 | Administrador ou Revendedor | |
| 7 | Sistema ou gateway de pagamento | |
Ao criar ou alterar um compromisso que inclua pagamento, os campos “status” e “status message” permitem restringir para eventos específicos usando a lista completa de códigos de status. Por exemplo, você pode configurar um filtro para agir apenas sobre mensagens de compromissos reembolsados.
Webhooks com n8n auto-hospedado
Outra opção é usar webhooks com n8n auto-hospedado. Isso exige bastante conhecimento técnico e é recomendado apenas para usuários avançados do n8n que entendam tópicos como configuração e segurança de servidores, configuração de contêineres e gerenciamento de recursos de aplicações. Para mais informações sobre o uso do n8n auto-hospedado, consulte a documentação de webhooks para desenvolvedores.
Configurar webhooks manualmente (avançado)
Criar um webhook sem usar Zapier ou Make exige conhecimentos de desenvolvimento web. Você pode ajustar os webhooks para enviá-los diretamente ao seu próprio servidor, ou para modificar a carga útil que eles contêm. Os detalhes podem ser encontrados na documentação de webhooks para desenvolvedores.