Cómo Listar y Filtrar Citas Vía API

Resumen
La API de la plataforma eAgenda permite listar y filtrar citas de forma programática, posibilitando la consulta de detalles como estado, servicios, fechas y participantes. Esta guía práctica detalla cómo configurar una solicitud HTTP GET al endpoint /api/v3/appointments/ con parámetros de consulta para filtrar resultados. Para más detalles, consulte la documentación oficial de la API de eAgenda.
Preparación del Entorno
Antes de comenzar, necesitará:
- Clave de API: Acceda al panel de eAgenda para obtener su token Bearer.
- Herramienta para solicitudes HTTP: Use cURL, Postman o bibliotecas como requests (Python) o axios (JavaScript).
- Configuración del encabezado: La autenticación se realiza mediante Bearer Token. Configure el encabezado Authorization: Bearer
y defina accept: application/json.
Consejo: Consulte la documentación de autenticación de eAgenda para configurar el token correctamente.
Definición de los Parámetros de Consulta
Para listar o filtrar citas, envíe parámetros en la query-string de la solicitud GET. Todos los parámetros son opcionales, lo que permite flexibilidad en la consulta. A continuación se detallan los parámetros disponibles:
account_slug (opcional)
- Descripción: Slug de la cuenta o subcuenta.
- Impacto: Filtra citas de una cuenta específica.
- Cómo obtenerlo: Use el endpoint de listado de cuentas de eAgenda.
- Ejemplo: minha-conta
calendar_key (opcional)
- Descripción: Clave UUID de la agenda.
- Impacto: Filtra citas de una agenda específica.
- Cómo obtenerla: Use el endpoint de listado de agendas.
- Ejemplo: 550e8400-e29b-41d4-a716-446655440000
client_key (opcional)
- Descripción: Clave UUID del cliente.
- Impacto: Filtra citas asociadas a un cliente específico.
- Cómo obtenerla: Use el endpoint de listado de clientes.
- Ejemplo: 123e4567-e89b-12d3-a456-426614174000
created_at (opcional)
- Descripción: Fecha de creación de la cita (formato ISO 8601).
- Impacto: Filtra citas creadas en una fecha específica.
- Ejemplo: 2025-06-01T10:00:00Z
email (opcional)
- Descripción: Correo electrónico del participante.
- Impacto: Filtra citas asociadas a un correo electrónico.
- Ejemplo: joao.silva@example.com
end_date (opcional)
- Descripción: Fecha máxima de inicio de la cita (formato ISO 8601).
- Impacto: Filtra citas que comienzan antes de esta fecha.
- Ejemplo: 2025-06-30T23:59:59Z
identification_code (opcional)
- Descripción: Número de identificación fiscal del participante (ej.: CPF).
- Impacto: Filtra citas por documento de identificación.
- Ejemplo: 123.456.789-00
is_cancelled (opcional)
- Descripción: Indica si la cita fue cancelada.
- Impacto: Filtra citas canceladas (true) o activas (false).
- Ejemplo: true
name (opcional)
- Descripción: Nombre del participante.
- Impacto: Filtra citas por nombre de la persona.
- Ejemplo: João Silva
owner_user (opcional)
- Descripción: Correo electrónico del usuario responsable de la cita.
- Impacto: Filtra citas por responsable.
- Ejemplo: responsavel@example.com
page (opcional)
- Descripción: Número de página en los resultados paginados.
- Impacto: Navega por las páginas de resultados.
- Ejemplo: 1
page_size (opcional)
- Descripción: Número de resultados por página.
- Impacto: Define la cantidad de citas devueltas por página.
- Ejemplo: 20
phone (opcional)
- Descripción: Teléfono del participante (formato E.164).
- Impacto: Filtra citas por número de teléfono.
- Ejemplo: +5511999999999
service_keys (opcional)
- Descripción: Lista de claves UUID de los servicios.
- Impacto: Filtra citas asociadas a servicios específicos.
- Cómo obtenerlas: Use el endpoint de listado de servicios.
- Ejemplo: [“19730681-2aa0-4000-84b6-2bc54b4ace01”]
start_date (opcional)
- Descripción: Fecha mínima de inicio de la cita (formato ISO 8601).
- Impacto: Filtra citas que comienzan después de esta fecha.
- Ejemplo: 2025-06-01T00:00:00Z
status (opcional)
- Descripción: Estado de la cita.
- Valores posibles: ATTENDED, CANCELED, CANCELED_CLIENT, CANCELED_GOOGLE, CONFIRMED, IN_PROGRESS, NO_SHOW, PENDING, PENDING_COMPANIONS, PENDING_FORM, PENDING_PAYMENT.
- Impacto: Filtra citas por estado.
- Ejemplo: CONFIRMED
tag_keys (opcional)
- Descripción: Lista de claves UUID de las etiquetas.
- Impacto: Filtra citas asociadas a etiquetas específicas.
- Cómo obtenerlas: Use el endpoint de listado de etiquetas.
- Ejemplo: [“a1b2c3d4-e5f6-7890-1234-567890abcdef”]
Nota: Todos los parámetros son opcionales. Combínelos para filtrar resultados específicos.
Envío de la Solicitud para Listar/Filtrar Citas
Para listar o filtrar citas, envíe una solicitud HTTP GET al endpoint:
https://eagenda.com.br/api/v3/appointments/
Configuración de la Solicitud
- Método: GET
- Encabezados:
- accept: application/json
- Authorization: Bearer
- Query-string: Parámetros de filtro (ej.: ?account_slug=minha-conta&status=CONFIRMED).
Ejemplo de Solicitud con cURL
curl -X GET "https://eagenda.com.br/api/v3/appointments/?account_slug=minha-conta&status=CONFIRMED&start_date=2025-06-01T00:00:00Z" \
-H "accept: application/json" \
-H "Authorization: Bearer ba08ab41bd58e9b9f82b4d2788b3cd9999ee9999"
Ejemplo en Python (usando requests)
import requests
url = "https://eagenda.com.br/api/v3/appointments/"
headers = {
"accept": "application/json",
"Authorization": "Bearer ba08ab41bd58e9b9f82b4d2788b3cd9999ee9999"
}
params = {
"account_slug": "minha-conta",
"status": "CONFIRMED",
"start_date": "2025-06-01T00:00:00Z"
}
response = requests.get(url, headers=headers, params=params)
print(response.status_code)
print(response.json())
Verificación de la Respuesta
La API devolverá una respuesta con el estado de la consulta y las citas filtradas. Verifique los siguientes puntos:
- Código de estado HTTP:
- 200 OK: Lista de citas devuelta con éxito.
- 400 Bad Request: Error en los parámetros de consulta (verifique el formato).
- 401 Unauthorized: Token inválido o ausente.
- Cuerpo de la respuesta: Contiene una lista paginada de citas, con detalles como:
{ "count": 1, "next": null, "previous": null, "results": [ { "appointment_key": "550e8400-e29b-41d4-a716-446655440000", "search_code": "A001", "status": "CONFIRMED", "calendar": { "calendar_key": "123e4567-e89b-12d3-a456-426614174000", "calendar_name": "Agenda Principal" }, "service_list": [ { "service_key": "19730681-2aa0-4000-84b6-2bc54b4ace01", "service_name": "Consulta Médica" } ], "tag_list": [ { "tag_key": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "label": "Urgente" } ], "attendees": [ { "person_key": "789abcde-f123-4567-89ab-cdef12345678", "name": "João Silva", "email": "joao.silva@example.com", "phone": "+5511999999999", "identification_code": "123.456.789-00", "identification_type": "br_cpf" } ], "owner_user": { "email": "responsavel@example.com", "full_name": "Maria Souza" }, "start": { "dateTime": "2025-06-01T10:00:00Z", "timeZone": "America/Sao_Paulo" }, "end": { "dateTime": "2025-06-01T10:30:00Z", "timeZone": "America/Sao_Paulo" }, "description": "Consulta de rotina", "location": "Clínica Central", "conference_data": { "provider": "meet", "url": "https://meet.google.com/abc-defg-hij", "label": "Reunião Virtual" }, "account_slug": "minha-conta" } ] }
Las citas devueltas respetan los filtros aplicados. Use los campos next y previous para navegar por las páginas de resultados.
Conclusión
Con este tutorial, aprendió cómo listar y filtrar citas vía API de eAgenda, utilizando parámetros de consulta para obtener resultados específicos. Esta integración es ideal para gestionar citas, monitorear estados e integrar con sistemas externos. Para más funcionalidades, como creación o edición de citas, consulte la documentación completa de la API de eAgenda.
Contáctenos o Conozca Más
Estamos a su disposición para ayudarle. Acceda a nuestros canales oficiales:
📞 WhatsApp : Haga clic aquí para enviarnos un mensaje 🌐 Plataforma eAgenda : Conozca eAgenda 🏢 Nuestra Empresa : Mupi Systems – Soluciones Innovadoras 📧 Correo electrónico : contato@mupisystems.com.br 📚 Tutoriales y Documentación : Acceda a nuestras guías y tutoriales