Carga de imágenes
Cuando creas o actualizas un artículo mediante la API pública, puedes incluir imágenes en el cuerpo del artículo usando URLs externas o URLs de datos en base64. La API las carga en Ferndesk y las almacena como rutas de recursos.
Endpoints
La carga de imágenes se gestiona automáticamente cuando escribes contenido de artículos mediante estos endpoints:
POST /articlesPATCH /articles/:id
Fuentes de imagen aceptadas
Puedes usar estos formatos en el campo src de los nodos de imagen dentro del cuerpo del artículo:
URLs externas — URLs absolutas que apuntan a imágenes alojadas en otro lugar
URLs de datos en base64 — cadenas
data:image/...;base64,...URLs de recursos de Ferndesk — imágenes ya alojadas por Ferndesk mediante
https://static.ferndesk.com/user-images/...
Requisitos para las URLs de imágenes externas
Las URLs externas deben apuntar a una imagen accesible públicamente mediante HTTP o HTTPS. Las URLs que no cumplen estos requisitos se rechazan durante la solicitud de escritura.
Solo se aceptan URLs
httpyhttps.La URL debe resolverse en una dirección accesible públicamente. Las direcciones que no son accesibles públicamente se rechazan, incluso cuando una redirección conduce a una de ellas.
Las redirecciones se validan en cada salto, hasta un máximo de cinco.
Las descargas están limitadas a 50 MiB y deben finalizar en un plazo de 45 segundos. Las imágenes SVG están limitadas a 2 MiB.
Las respuestas proporcionadas como HTML, XML, JavaScript, ejecutables u otros tipos similares no seguros se rechazan, incluso cuando el nombre del archivo parece corresponder a una imagen. Los SVG se someten a un proceso de limpieza antes de almacenarse.
Cuando una URL externa no cumple uno de estos requisitos, la API devuelve la respuesta de error de carga descrita en Respuestas de error.
Qué sucede
Cuando envías una solicitud de escritura, la API:
Carga las URLs externas y las URLs de datos en base64 en los servidores de Ferndesk
Reemplaza los valores
srcoriginales del artículo almacenado por las nuevas rutas de FerndeskDeja en su lugar las imágenes existentes alojadas en Ferndesk sin volver a cargarlas; las URLs estáticas de Ferndesk se normalizan a rutas de recursos
Si la misma fuente de imagen aparece varias veces en una solicitud, se carga una sola vez y todas las referencias comparten la misma ruta.
No existe ningún endpoint independiente de la API pública para cargar imágenes. Incluye las imágenes directamente en el cuerpo del artículo cuando llames a POST /articles o PATCH /articles/:id, y la carga se realizará durante la escritura.
Respuestas de error
Si no se puede procesar una imagen, la API devuelve un error explícito y el artículo no se guarda.
Base64 no válido
400 con:
{
"error": "Image data URL must contain valid base64 data",
"code": "invalid_request"
}Error de carga
502 con:
{
"error": "Unable to upload one or more article images",
"code": "image_upload_failed"
}