
A plataforma eAgenda permite configurar webhooks para receber notificações em tempo real sobre eventos de agendamentos, como criação, atualização ou cancelamento. Este tutorial guia você pelo processo de configuração de webhooks no painel da eAgenda e mostra como implementar um servidor para processar essas notificações via API. Com exemplos práticos baseados em payloads reais, você poderá integrar notificações ao seu sistema de forma eficiente. Para mais detalhes, consulte a documentação oficial: eagenda.com.br.
Preparação para Configurar Webhooks #
Antes de começar, você precisará:
- Acesso ao Painel da eAgenda: Faça login em eagenda.com.br com uma conta de administrador.
- URL de Destino: Prepare uma URL pública para receber as notificações (ex.: https://seuservidor.com/webhook). Para testes, use ferramentas como Ngrok.
- Token de Autenticação (opcional): Se necessário, configure um token para autenticar as requisições (ex.: Bearer Token).
- Ferramentas para Testes: Utilize cURL, Postman ou bibliotecas como requests (Python) para simular notificações.
Dica: Seu servidor deve responder com um status HTTP 200 OK para confirmar o recebimento do webhook, conforme exigido pela eAgenda.
Passo a Passo: Configurando Webhooks na Plataforma eAgenda #
Siga os passos abaixo para configurar um webhook no painel da eAgenda. Cada etapa inclui uma descrição da tela correspondente, simulando a inclusão de imagens.
1. Acesse a Tela de Integrações Webhook #
- Faça login no painel da eAgenda em https://eagenda.com.br.
- No menu lateral à esquerda, clique em Integrações e selecione Webhook.

Você será direcionado para a tela de Gerenciamento de Webhooks, onde pode visualizar webhooks existentes ou adicionar um novo.
2. Adicione um Novo Webhook #
- Na tela de Gerenciamento de Webhooks, clique no botão Adicionar:

O formulário de configuração do novo webhook será aberto.
3. Preencha os Detalhes do Webhook #
No formulário, configure os campos obrigatórios:
- Tipo de Registro: Selecione Agendamento para receber notificações sobre eventos de agendamentos.
- URL: Insira a URL do seu servidor que receberá as notificações. Use {register_key} para incluir a chave do agendamento, se necessário.
Exemplo: https://seuservidor.com/webhook/agendamento/{register_key} - Cabeçalho de Autenticação: (Opcional) Adicione um objeto JSON com credenciais de autenticação.
Exemplo:{ "Authorization": "Bearer abc123xyz789" }
- Eventos: Marque os eventos desejados:
- Criação: Notifica a criação de um agendamento.
- Atualização: Notifica alterações em um agendamento.
- Cancelamento: Notifica o cancelamento de um agendamento.
- Clique em Salvar para ativar o webhook.

O webhook estará ativo e enviará notificações para a URL configurada quando os eventos selecionados ocorrerem.
Implementando o Webhook na Prática #
Após configurar o webhook, implemente um servidor para receber e processar as notificações. Abaixo, detalho o payload do webhook e forneço exemplos práticos.
Entendendo o Payload do Webhook #
Quando um evento de agendamento ocorre, a eAgenda envia uma requisição POST com um payload JSON. Com base no exemplo fornecido, aqui está um payload para um evento de atualização de agendamento (status ATTENDED):
{
"event": "appointment.updated",
"data": {
"appointment_key": "191e1237-0240-4000-8ac1-60bcc5ae8701",
"status": "ATTENDED",
"calendar": {
"calendar_key": "191e1237-0240-4000-85e4-6430bf42cf01",
"calendar_name": "Agenda Médica"
},
"service_list": [
{
"service_key": "191e1237-0240-4000-81be-0e5d361a8501",
"service_name": "Consulta Geral"
}
],
"attendees": [
{
"person_key": "191e1237-0240-4000-8584-d036c75a2f80",
"name": "João Silva",
"email": "joao.silva@example.com"
}
],
"start": {
"dateTime": "2025-06-10T10:00:00Z",
"timeZone": "America/Sao_Paulo"
},
"end": {
"dateTime": "2025-06-10T10:30:00Z",
"timeZone": "America/Sao_Paulo"
}
},
"timestamp": "2025-06-10T10:35:00Z"
}
- event: Identifica o tipo de evento (appointment.created, appointment.updated, appointment.canceled).
- data: Contém os detalhes do agendamento, como appointment_key, status, calendar, e service_list.
- timestamp: Data e hora do evento (formato ISO 8601).
Exemplo de Servidor Webhook (Python com Flask) #
Crie um servidor com Flask para processar notificações de webhooks:
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/webhook/agendamento/<register_key>', methods=['POST'])
def handle_webhook(register_key):
# Verifica autenticação
auth_header = request.headers.get('Authorization')
expected_auth = 'Bearer abc123xyz789'
if auth_header != expected_auth:
return jsonify({"error": "Autenticação inválida"}), 401
# Recebe o payload
try:
payload = request.get_json()
event = payload.get('event')
data = payload.get('data', {})
appointment_key = data.get('appointment_key')
status = data.get('status')
except Exception as e:
return jsonify({"error": f"Erro no payload: {str(e)}"}), 400
# Processa o evento
if event == 'appointment.created':
print(f"Novo agendamento: {appointment_key}, Status: {status}")
elif event == 'appointment.updated':
print(f"Agendamento atualizado: {appointment_key}, Status: {status}")
elif event == 'appointment.canceled':
print(f"Agendamento cancelado: {appointment_key}")
# Retorna sucesso
return jsonify({"status": "received", "message": "Notificação processada"}), 200
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
Como usar:
- Instale o Flask: pip install flask.
- Configure a URL do webhook na eAgenda como https://seuservidor.com/webhook/agendamento/{register_key}.
- Execute o servidor localmente ou publique com Ngrok para testes.
Este servidor valida a autenticação, processa o payload e registra o evento. Você pode expandi-lo para salvar dados em um banco de dados ou integrar com outros sistemas.
Testando o Webhook com cURL #
Simule uma notificação para testar o servidor, usando o payload fornecido:
curl -X POST https://seuservidor.com/webhook/agendamento/191e1237-0240-4000-8ac1-60bcc5ae8701 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer abc123xyz789" \
-d '{
"event": "appointment.updated",
"data": {
"appointment_key": "191e1237-0240-4000-8ac1-60bcc5ae8701",
"status": "ATTENDED",
"calendar": {
"calendar_key": "191e1237-0240-4000-85e4-6430bf42cf01",
"calendar_name": "Agenda Médica"
},
"service_list": [
{
"service_key": "191e1237-0240-4000-81be-0e5d361a8501",
"service_name": "Consulta Geral"
}
],
"attendees": [
{
"person_key": "191e1237-0240-4000-8584-d036c75a2f80",
"name": "João Silva",
"email": "joao.silva@example.com"
}
],
"start": {
"dateTime": "2025-06-10T10:00:00Z",
"timeZone": "America/Sao_Paulo"
},
"end": {
"dateTime": "2025-06-10T10:30:00Z",
"timeZone": "America/Sao_Paulo"
}
},
"timestamp": "2025-06-10T10:35:00Z"
}'
Verificando o Funcionamento #
O servidor deve responder com:
{
"status": "received",
"message": "Notificação processada"
}
- Códigos de erro:
- 401 Unauthorized: Token de autenticação inválido.
- 400 Bad Request: Payload malformado.
No painel da eAgenda, acesse a tela de Webhooks para verificar o histórico de envios. Consulte os logs do servidor para confirmar o processamento do payload.
Conclusão #
Neste tutorial, você aprendeu a configurar webhooks na plataforma eAgenda para receber notificações em tempo real sobre agendamentos e a implementar um servidor para processá-las. Usando o payload fornecido, você pode integrar eventos como criação, atualização ou cancelamento de agendamentos com seus sistemas, otimizando fluxos de trabalho. Para mais recursos, consulte a documentação da API.
Entre em Contato ou Saiba Mais #
Estamos à disposição para ajudar! Acesse nossos canais oficiais:
📞 WhatsApp : Clique aqui para nos enviar uma mensagem
🌐 Plataforma eAgenda : Conheça o eAgenda
🏢 Nossa Empresa : Mupi Systems – Soluções Inovadoras
📧 E-mail : contato@mupisystems.com.br
📚 Tutoriais e Documentação : Acesse nossos guias e tutoriais