Webhooks
O Synax pode enviar notificações em tempo real para sua aplicação através de webhooks e do Supabase Realtime.
Supabase Realtime
A forma recomendada de receber atualizações em tempo real é via Supabase Realtime (WebSocket).
Escutar novas mensagens
import { createClient } from '@supabase/supabase-js'
const supabase = createClient('https://api.synax.app.br', 'SUA_ANON_KEY')
// Login
const { data: auth } = await supabase.auth.signInWithPassword({
email: 'seu@email.com',
password: 'sua_senha'
})
// Escutar novas mensagens
const channel = supabase
.channel('chat-messages')
.on(
'postgres_changes',
{
event: 'INSERT',
schema: 'public',
table: 'chat_messages'
},
(payload) => {
console.log('Nova mensagem:', payload.new)
}
)
.subscribe()
Escutar atualizações de contatos
const channel = supabase
.channel('contacts-updates')
.on(
'postgres_changes',
{
event: '*',
schema: 'public',
table: 'crm_contacts'
},
(payload) => {
console.log('Evento:', payload.eventType, payload.new)
}
)
.subscribe()
Eventos disponíveis
| Tabela | Eventos | Descrição |
|---|
chat_messages | INSERT | Nova mensagem no chat |
chat_conversations | INSERT, UPDATE | Nova conversa ou mudança de status |
crm_contacts | INSERT, UPDATE, DELETE | Alterações em contatos |
crm_deals | INSERT, UPDATE | Alterações em negócios |
campaign_dispatches | UPDATE | Status de disparo atualizado |
Webhook de entrada (WhatsApp)
Para receber mensagens do WhatsApp no seu sistema, o Synax já processa automaticamente via a Edge Function uazapi-incoming-webhook. Se você precisa de um webhook customizado para receber eventos, entre em contato pelo app.
O Supabase Realtime respeita RLS — cada usuário só recebe eventos dos dados da sua empresa.