Base URL https://api.afer.pro Referencia aferapp.com Reservar demo

Planificación de turnos

GET https://api.afer.pro/api/v1/schedules
Alias en castellano (v0, sigue operativo): POST https://api.afer.pro/consultarPlanificacion

Qué turno tiene asignado cada persona cada día de un período, con sus tramos y sus horas previstas.

Una fila por persona y día planificado. Los tramos son los del turno tal y como quedaron aplicados a ese día concreto, así que reflejan también los cambios puntuales sobre el turno base.

horas_previstas se calcula desde los tramos, sumando mañana y tarde y recolocando los que cruzan medianoche. No se usa la columna de total de horas de la tabla: en cuentas antiguas está corrupta y devolvería jornadas imposibles.

Autenticación

Envía tus claves API en las cabeceras X-API-KEY y X-API-SECRET. La cuenta sobre la que se opera se resuelve automáticamente a partir de la clave. Cómo obtener tus claves →

Este endpoint requiere autenticación con API key: sin credenciales responde 401.

Parámetros del cuerpo

El cuerpo de la petición es un objeto JSON con Content-Type: application/json.

fecha_iniciodate
obligatorio
Inicio del período, incluido. Formato YYYY-MM-DD.
fecha_findate
obligatorio
Fin del período, incluido.
empleadoIdstring
opcional
Solo la planificación de esta persona.
paginaint
opcional
Página a devolver. Por defecto 1.
por_paginaint
opcional
Resultados por página. Por defecto 500, máximo 2000.

Ejemplo de petición

curl -X GET 'https://api.afer.pro/api/v1/schedules?fecha_inicio=2026-05-01&fecha_fin=2026-05-31' \
  -H 'X-API-KEY: afer_tk_TU_TOKEN' \
  -H 'X-API-SECRET: afer_sk_TU_SECRET'
<?php

$ch = curl_init('https://api.afer.pro/api/v1/schedules?fecha_inicio=2026-05-01&fecha_fin=2026-05-31');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-API-KEY: afer_tk_TU_TOKEN',
    'X-API-SECRET: afer_sk_TU_SECRET',
]);

$respuesta = json_decode(curl_exec($ch), true);
curl_close($ch);
const respuesta = await fetch('https://api.afer.pro/api/v1/schedules?fecha_inicio=2026-05-01&fecha_fin=2026-05-31', {
  method: 'GET',
  headers: {
    'X-API-KEY': 'afer_tk_TU_TOKEN',
    'X-API-SECRET': 'afer_sk_TU_SECRET'
  }
});

const resultado = await respuesta.json();

Respuesta

200 · application/json
{
    "errorCode": 200,
    "errorMsg": "",
    "data": {
        "periodo": {
            "desde": "2026-05-01",
            "hasta": "2026-05-31"
        },
        "total_dias_planificados": 1,
        "pagina": 1,
        "por_pagina": 500,
        "num_paginas": 1,
        "planificacion": [
            {
                "planificacionId": "pLn77…",
                "fecha": "2026-05-04",
                "empleado": {
                    "empleadoId": "eMp001…",
                    "nombre": "Ana",
                    "apellidos": "Pons Ferrer"
                },
                "turno": {
                    "turnoId": "tRn9…",
                    "titulo": "Partido"
                },
                "manana": {
                    "inicio": "09:00",
                    "fin": "13:00"
                },
                "tarde": {
                    "inicio": "15:00",
                    "fin": "18:00"
                },
                "horas_previstas": 7
            }
        ]
    }
}
Notas