Skip to main content

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

TabelaEventosDescrição
chat_messagesINSERTNova mensagem no chat
chat_conversationsINSERT, UPDATENova conversa ou mudança de status
crm_contactsINSERT, UPDATE, DELETEAlterações em contatos
crm_dealsINSERT, UPDATEAlterações em negócios
campaign_dispatchesUPDATEStatus 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.