Conecta tu centro médico en 10 minutos
API REST simple para publicar la disponibilidad de tus profesionales. Un endpoint, autenticación Bearer, y JSON estándar. Sin dependencias ni SDKs.
Un solo endpoint
POST /api/v1/slots para publicar disponibilidad
Autenticación simple
Bearer token via Authorization header
JSON estándar
Sin SDKs. Integración via curl, Python, Node, PHP
Comienza en 3 pasos
Desde el registro hasta la primera publicación de horas.
Solicita tu API Key
Completa el formulario de registro con los datos de tu centro médico. En menos de 24 horas recibirás por email tu API key con el formato:
Mantén tu API key segura
No la publiques en repositorios. Úsala sólo en tu servidor. Si crees que se comprometió, solicita una nueva desde tu panel.
Envía tu primera hora disponible
Haz un POST a /api/v1/slots con la disponibilidad:
curl -X POST https://redhoras.cl/api/v1/slots \
-H "Authorization: Bearer rh_live_sk_..." \
-H "Content-Type: application/json" \
-d '{
"provider_id": "tu-id-de-centro",
"slots": [
{
"especialidad_codigo": "01",
"especialidad_nombre": "Medicina General",
"fecha": "2026-04-20",
"hora_inicio": "09:00",
"hora_fin": "10:00",
"disponible": true,
"precio": 25000,
"modalidad": "presencial"
}
]
}'Tus horas aparecen en el buscador
Apenas recibimos tu POST, tu disponibilidad queda visible en redhoras.cl/buscar. Los pacientes pueden contactarte directamente usando el teléfono y email registrados.
Endpoint principal
Publica y actualiza disponibilidad de horas médicas.
/api/v1/slotsHasta 100 slots por requestHeaders requeridos
| Header | Valor |
|---|---|
| Authorization | Bearer rh_live_sk_... |
| Content-Type | application/json |
Estructura del body
| Campo | Tipo | Descripción |
|---|---|---|
| provider_id | string | ID de tu centro médico (te lo enviamos por email) |
| slots | array | Array de horas disponibles (1-100 items) |
| slots[].especialidad_codigo | string | Código SIS (ej: '01' = Medicina General) |
| slots[].especialidad_nombre | string | Nombre de la especialidad |
| slots[].fecha | string | YYYY-MM-DD |
| slots[].hora_inicio | string | HH:MM (24h) |
| slots[].hora_fin | string | HH:MM (24h) |
| slots[].disponible | boolean | true si está disponible |
| slots[].precio | integer | Precio en CLP (0 = gratuito) |
| slots[].modalidad | string | 'presencial' | 'telemedicina' |
Respuesta exitosa
{
"success": true,
"message": "Slots actualizados correctamente",
"upserted_count": 1,
"slots": [
{
"id": "a3f5c8e1-...",
"fecha": "2026-04-20",
"hora_inicio": "09:00",
"disponible": true
}
]
}Integración en tu lenguaje favorito
Copia, pega y ajusta según tu sistema.
const res = await fetch('https://redhoras.cl/api/v1/slots', {
method: 'POST',
headers: {
'Authorization': 'Bearer ' + process.env.REDHORAS_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
provider_id: 'mi-centro-id',
slots: [{
especialidad_codigo: '01',
especialidad_nombre: 'Medicina General',
fecha: '2026-04-20',
hora_inicio: '09:00',
hora_fin: '10:00',
disponible: true,
precio: 25000,
modalidad: 'presencial'
}]
})
})
const data = await res.json()import requests
import os
response = requests.post(
'https://redhoras.cl/api/v1/slots',
headers={
'Authorization': f'Bearer {os.environ["REDHORAS_KEY"]}',
'Content-Type': 'application/json'
},
json={
'provider_id': 'mi-centro-id',
'slots': [{
'especialidad_codigo': '01',
'especialidad_nombre': 'Medicina General',
'fecha': '2026-04-20',
'hora_inicio': '09:00',
'hora_fin': '10:00',
'disponible': True,
'precio': 25000,
'modalidad': 'presencial'
}]
}
)
data = response.json()$ch = curl_init('https://redhoras.cl/api/v1/slots');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('REDHORAS_KEY'),
'Content-Type: application/json'
],
CURLOPT_POSTFIELDS => json_encode([
'provider_id' => 'mi-centro-id',
'slots' => [[
'especialidad_codigo' => '01',
'fecha' => '2026-04-20',
'hora_inicio' => '09:00',
'hora_fin' => '10:00',
'disponible' => true,
'precio' => 25000,
'modalidad' => 'presencial'
]]
])
]);
$response = json_decode(curl_exec($ch), true);curl -X POST https://redhoras.cl/api/v1/slots \
-H "Authorization: Bearer $REDHORAS_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider_id": "mi-centro-id",
"slots": [{
"especialidad_codigo": "01",
"fecha": "2026-04-20",
"hora_inicio": "09:00",
"hora_fin": "10:00",
"disponible": true,
"precio": 25000,
"modalidad": "presencial"
}]
}'Códigos de especialidades
Usa estos códigos SIS estándar de Chile.
01Medicina General02Medicina Interna03Pediatría04Ginecología y Obstetricia05Cirugía General06Traumatología07Oftalmología08Otorrinolaringología09Urología10Cardiología11Neurología12Psiquiatría13Dermatología14Endocrinología15Gastroenterología¿Falta alguna? Escríbenos a contacto@redhoras.cl
¿Listo para conectar?
Solicita tu API key y recíbela en menos de 24 horas. Sin costos ni compromisos.