Agenda una cita presencial para un paciente existente de su organización con un profesional de salud y un servicio. La hora de fin se calcula con la duración del servicio. La hora de inicio debe ser futura, estar dentro de la disponibilidad del profesional y estar libre; use GET /availability para encontrar horarios disponibles. Si reintenta una solicitud idéntica, recibe la cita ya creada en lugar de un duplicado. La cita se crea como CONFIRMED y no se envía confirmación ni recordatorios al paciente. Requiere una clave de API con permiso de escritura.
Ejemplos de código
Node.js
const fetch = require('node-fetch');
async function llamarApi() {
const claveApi = 'YOUR_API_KEY';
const url = `https://account.lunahealth.app/api/appointments`;
const requestBody = {
// Agregue sus datos del cuerpo de la solicitud aquí
};
try {
const response = await fetch(url, {
method: 'POST',
headers: {
'Authorization': `Bearer ${claveApi}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(requestBody)
});
if (!response.ok) {
throw new Error(`API error: ${response.status}`);
}
const data = await response.json();
console.log(data);
return data;
} catch (error) {
console.error('Error al llamar a la API:', error);
throw error;
}
}
llamarApi();
Python
import requests
def llamarApi():
claveApi = 'YOUR_API_KEY'
url = 'https://account.lunahealth.app/api/appointments'
headers = {
'Authorization': f'Bearer {claveApi}',
'Content-Type': 'application/json'
}
params = {
}
# Agregue sus datos del cuerpo de la solicitud aquí
request_body = {}
try:
response = requests.post(
url,
headers=headers,
params=params,
json=request_body
)
response.raise_for_status()
data = response.json()
print(data)
return data
except requests.exceptions.RequestException as e:
print(f'Error al llamar a la API: {e}')
raise
llamarApi()
Cuerpo de la solicitud
Requerido
Campos de la solicitud
Nombre
Tipo
Requerido
Descripción
patientId
string
Sí
ID del paciente
staffId
string
Sí
ID del profesional de salud que atenderá al paciente
serviceId
string
Sí
ID del servicio; su duración define la hora de fin
startTime
string (date-time)
Sí
Hora de inicio en ISO 8601 con desfase UTC, por ejemplo un start_time de GET /availability