Gerenciar Agendamentos
Após criar agendamentos, você pode gerenciá-los completamente via API: listar, filtrar, atualizar status, reagendar e cancelar.
Listar agendamentos
GET /api/v3/appointments/
curl -X GET "https://eagenda.com.br/api/v3/appointments/" \
-H "Authorization: Basic SEU_TOKEN"
Filtros disponíveis
| Parâmetro | Tipo | Descrição |
|---|---|---|
calendar_key | UUID | Filtrar por agenda |
client_key | UUID | Filtrar por cliente |
person_key | UUID | Filtrar por pessoa |
status | string | Filtrar por status |
start_date | datetime | Data mínima de início |
end_date | datetime | Data máxima de início |
email | string | Filtrar por e-mail |
phone | string | Filtrar por telefone |
name | string | Filtrar por nome |
identification_code | string | Filtrar por CPF/documento |
external_id | string | Filtrar por ID externo |
search_code | string | Buscar por código do agendamento |
is_cancelled | boolean | Filtrar cancelados |
service_keys | UUID[] | Filtrar por serviços |
tag_keys | UUID[] | Filtrar por tags |
owner_user | string | Filtrar por responsável |
created_at | datetime | Filtrar por data de criação |
Status possíveis
| Status | Descrição |
|---|---|
CONFIRMED | Confirmado |
PENDING | Pendente de confirmação |
ATTENDED | Atendido |
IN_PROGRESS | Em atendimento |
NO_SHOW | Não compareceu |
CANCELED | Cancelado |
CANCELED_CLIENT | Cancelado pelo cliente |
CANCELED_GOOGLE | Cancelado via Google Agenda |
PENDING_PAYMENT | Aguardando pagamento |
PENDING_FORM | Aguardando preenchimento de formulário |
PENDING_COMPANIONS | Aguardando dados de acompanhantes |
Exemplo: agendamentos confirmados de hoje
curl -X GET "https://eagenda.com.br/api/v3/appointments/?status=CONFIRMED&start_date=2026-06-04T00:00:00&end_date=2026-06-04T23:59:59" \
-H "Authorization: Basic SEU_TOKEN"
Consultar um agendamento
GET /api/v3/appointments/{appointment_key}/
curl -X GET "https://eagenda.com.br/api/v3/appointments/apt12345-.../" \
-H "Authorization: Basic SEU_TOKEN"
Atualizar status
PATCH /api/v3/appointments/{appointment_key}/
Altere o status de um agendamento (ex: marcar como atendido):
curl -X PATCH "https://eagenda.com.br/api/v3/appointments/apt12345-.../" \
-H "Authorization: Basic SEU_TOKEN" \
-H "Content-Type: application/json" \
-d '{"status": "ATTENDED"}'
Reagendar
PATCH /api/v3/appointments/{appointment_key}/reschedule/
Mova o agendamento para um novo horário:
curl -X PATCH "https://eagenda.com.br/api/v3/appointments/apt12345-.../reschedule/" \
-H "Authorization: Basic SEU_TOKEN" \
-H "Content-Type: application/json" \
-d '{"start_date": "2026-06-12T14:00:00-03:00"}'
Importante: Verifique a disponibilidade do novo horário antes de reagendar.
Cancelar
DELETE /api/v3/appointments/{appointment_key}/
curl -X DELETE "https://eagenda.com.br/api/v3/appointments/apt12345-.../?send_email=true" \
-H "Authorization: Basic SEU_TOKEN"
| Parâmetro | Tipo | Descrição |
|---|---|---|
send_email | boolean | Enviar e-mail de cancelamento ao cliente |
Exemplo completo em Python
import requests
from datetime import datetime, timedelta
BASE_URL = "https://eagenda.com.br/api/v3"
AUTH = ("meu@email.com", "minha_senha")
# Listar agendamentos de amanhã
tomorrow = (datetime.now() + timedelta(days=1)).strftime("%Y-%m-%d")
appointments = requests.get(
f"{BASE_URL}/appointments/",
auth=AUTH,
params={
"start_date": f"{tomorrow}T00:00:00",
"end_date": f"{tomorrow}T23:59:59",
"status": "CONFIRMED",
}
).json()
for apt in appointments["results"]:
print(f"{apt['search_code']} - {apt['person']['full_name']} às {apt['start_date']}")
# Marcar primeiro como atendido
if appointments["results"]:
apt_key = appointments["results"][0]["appointment_key"]
requests.patch(
f"{BASE_URL}/appointments/{apt_key}/",
auth=AUTH,
json={"status": "ATTENDED"}
)
print(f"Agendamento {apt_key} marcado como ATENDIDO")