Listar flota de charter
https://api.afer.pro/listCharters
Devuelve la flota de charter publicada de tu cuenta: barcos, franjas horarias, precios por mes y disponibilidad semanal.
Expone el catálogo completo de embarcaciones activas en el marketplace, listo para consumir desde webs, agregadores o asistentes de IA. Para cada barco se incluyen:
— Datos comerciales: títulos en español e inglés, capacidad, si requiere licencia, fianza reembolsable, tipo de gestión (propio, en gestión o partner externo) y si se comercializa en exclusiva.
— El puerto de salida con su enlace de Google Maps.
— Hasta 3 imágenes del barco.
— Las franjas horarias públicas (día completo, medio día…) con horario de check-in/check-out, si exigen patrón, si incluyen combustible, y para cada mes del año si está operativa y su precio, además de los días de la semana disponibles.
Solo se devuelven barcos publicados con al menos una franja con precio.
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 →
Parámetros del cuerpo
Este endpoint no necesita parámetros: basta un cuerpo JSON vacío ({}) con tus cabeceras de autenticación.
Ejemplo de petición
curl -X POST 'https://api.afer.pro/listCharters' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: afer_tk_TU_TOKEN' \
-H 'X-API-SECRET: afer_sk_TU_SECRET' \
-d '{}'
<?php
$data = [
];
$ch = curl_init('https://api.afer.pro/listCharters');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'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/listCharters', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-KEY': 'afer_tk_TU_TOKEN',
'X-API-SECRET': 'afer_sk_TU_SECRET'
},
body: JSON.stringify({})
});
const resultado = await respuesta.json();
Respuesta
Devuelve boats, un array donde cada elemento contiene un objeto boat. Las claves de time_slots son el identificador cifrado de la franja: guárdalo para referenciar la franja en reservas.
{
"errorCode": 200,
"errorMsg": "",
"data": {
"boats": [
{
"boat": {
"boatId": "aBc123XyZ…",
"title_es_es": "Llaut clásico mallorquín",
"title_en_uk": "Classic Mallorcan llaut",
"url_booking_web": "https://bookings.tuempresa.com/llaut-clasico",
"capacity_people": "8 people",
"requires_license": "no",
"refundable_deposit": "300",
"ownership_type": "owned",
"is_exclusive": "yes",
"departure_port": {
"name": "Port d'Alcúdia",
"google_maps_url": "https://maps.app.goo.gl/…"
},
"images": [
{
"url": "https://prosuite.aferapp.com/attachments/public/upload/products/1234/foto1.jpg"
}
],
"time_slots": {
"dEf456…": {
"title_es_es": "Día completo",
"title_en_uk": "Full day",
"check_in_time": "10:00",
"check_out_time": "18:00",
"requires_skipper": "no",
"fuel_included": "no",
"available_in_month_6": "yes",
"price_in_month_6": 450,
"available_in_monday": "yes",
"available_in_sunday": "yes"
}
}
}
}
]
}
}
- Los campos
available_in_month_1…12yprice_in_month_1…12cubren los 12 meses del año en curso;available_in_monday…sunday, los 7 días de la semana. El ejemplo se muestra abreviado. - Los precios aplican la cotización por fecha configurada en Afer (temporadas y porcentajes por fecha).
- Para el detalle completo de un barco (todas las imágenes, nombre interno), usa getCharter.