Automatiza la CLI de FlipLink: canaliza su salida a jq

¿Quieres automatizar la CLI de FlipLink? Canaliza la salida --json a jq para extraer IDs y URLs, filtrar, encadenar comandos y crear scripts fiables.

Sumit Ghugharwal
Sumit Ghugharwal

Publicado el 21 de junio de 2026 · 7 min read

Compartir este artículo:

La CLI de FlipLink muestra por defecto tablas amigables y fáciles de leer. Eso viene de maravilla cuando trabajas en la terminal — pero en cuanto quieres automatizar algo, lo que necesitas son datos en bruto que una máquina pueda procesar. Eso es justo lo que te da el flag --json, y en cuanto lo combinas con jq, puedes extraer IDs, obtener enlaces para compartir, filtrar por estado y encadenar comandos hasta crear scripts de verdad.

Esta guía trata sobre cómo automatizar la CLI de FlipLink: convertir unos cuantos comandos en una canalización pequeña y fiable. Si acabas de empezar con la herramienta, comienza con Primeros pasos con la CLI de FlipLink y luego vuelve aquí. Para conocer todos los comandos, la documentación de la CLI es la referencia.

El flag que hace posible la automatización: --json

Casi todos los comandos de lectura o escritura aceptan --json. Añádelo y la CLI emite JSON en bruto por la salida estándar en lugar de una tabla con formato:

fliplink flipbook list --json

Canaliza eso directamente a jq y podrás darle la forma que quieras. El hábito más importante al automatizar: inspecciona primero la salida en bruto para conocer los nombres exactos de los campos antes de usarlos.

# See the full shape of a single item — keys, casing, everything
fliplink flipbook list --json | jq '.[0]'

Los ejemplos siguientes usan nombres de campos plausibles como .ID y .URL, pero nunca los des por sentado — el uso de mayúsculas puede variar. Ejecuta el comando de arriba una vez, lee las claves y ajusta tus rutas de jq para que coincidan con lo que realmente ves.

Extrae solo los IDs

El primer movimiento clásico: obtener una lista plana de IDs de flipbooks sobre la que iterar.

fliplink flipbook list --json | jq '.[].ID'

jq recorre el array (.[]) y saca el campo ID de cada elemento. Envuelve el campo en -r (salida en bruto) cuando quieras cadenas limpias sin comillas alrededor — eso es lo que necesitas al pasar los valores a otro comando:

fliplink flipbook list --json | jq -r '.[].ID'

Obtén los enlaces para compartir en una lista limpia

El mismo patrón funciona con cualquier campo. Si los elementos de tu lista incluyen una URL, puedes extraer todos los enlaces para compartir de una vez:

fliplink flipbook list --json | jq -r '.[].URL'

¿Quieres un informe de dos columnas con el título y el enlace? Crea una fila separada por tabulaciones por cada elemento con la interpolación de cadenas de jq:

fliplink flipbook list --json \
  | jq -r '.[] | "\(.Title)\t\(.URL)"'

De nuevo — confirma .Title y .URL con tu propia salida --json antes de confiar en ellos. Si las claves son distintas, cámbialas.

Filtra antes de actuar

El select() de jq te permite conservar solo los elementos que cumplen una condición. Supón que cada elemento lleva un indicador de publicado y quieres únicamente los IDs de los flipbooks publicados:

fliplink flipbook list --json \
  | jq -r '.[] | select(.IsPublished == true) | .ID'

Inspecciona tu salida para conocer el nombre y el tipo reales del indicador — puede ser un booleano, una cadena o un campo de estado. Ajusta la expresión select() según corresponda. El patrón se mantiene igual: filtra el array y luego proyecta el campo que necesitas.

Encadena comandos: lista, filtra y luego actúa

Aquí es donde resulta útil. Canaliza los IDs filtrados a un bucle de shell y ejecuta un segundo comando contra cada uno. Este ejemplo encuentra cada flipbook que no está publicado todavía y lo publica:

fliplink flipbook list --json \
  | jq -r '.[] | select(.IsPublished == false) | .ID' \
  | while read -r id; do
      echo "Publishing $id..."
      fliplink flipbook publish "$id"
    done

El bucle while read -r id consume un ID por línea y llama a fliplink flipbook publish en cada uno. Como jq -r elimina las comillas, $id es un valor limpio listo para pasarse directamente. La misma estructura funciona con cualquier comando de acción — cambia por set-expiry, share-link o delete.

Nota: cada comando que se muestra aquí es un comando real de la CLI de FlipLink. Si necesitas una acción que los comandos predefinidos no cubren, usa la vía de escape fliplink api (por ejemplo fliplink api PUT /api/set-skin/<id> --data '{"SkinName":"Modern"}') — la misma API REST está por debajo.

🚀

Prueba FlipLink Gratis

Convierte tu PDF en segundos. Sin registro, sin tarjeta de crédito — solo súbelo y listo.

Drop your PDF here or click to browse

Máximo 40MB

Los planes de pago desde $39 lo amplían a 150 MB.

Crea un informe pequeño

Una vez que puedes extraer y filtrar, un informe de estado rápido es solo una expresión jq más. Cuenta tus flipbooks totales y cuántos están publicados:

fliplink flipbook list --json | jq '{
  total: length,
  published: ([.[] | select(.IsPublished == true)] | length)
}'

Eso imprime un resumen JSON compacto que puedes registrar, enviar por correo o publicar en un canal. ¿Prefieres una línea legible?

fliplink flipbook list --json \
  | jq -r '"Total: \(length) flipbooks"'

Escribe scripts que sepan si funcionaron

Una canalización solo es fiable si reacciona ante los fallos. La CLI de FlipLink usa códigos de salida con significado, así que tus scripts pueden ramificarse según ellos:

  • 0 — éxito
  • 1 — error de solicitud o HTTP (red, clave incorrecta, un 401)
  • 2 — error de aplicación (la API devolvió Result: ERROR)

Comprueba el código de salida después de un comando y gestiona cada caso:

fliplink flipbook publish "$id"
status=$?

if [ "$status" -eq 0 ]; then
  echo "Published $id"
elif [ "$status" -eq 2 ]; then
  echo "Application error publishing $id (check the response)" >&2
else
  echo "Request failed for $id (exit $status)" >&2
fi

Para un script que falle rápido, añade set -e al principio para que toda la ejecución se detenga ante la primera salida distinta de cero. Para un trabajo por lotes resistente, sigue adelante pero registra los fallos — la ramificación por código de salida de arriba es como distingues “terminado” de “terminado con errores”.

Si automatizas en CI en lugar de en tu portátil, configura tu clave con la variable de entorno FLIPLINK_API_KEY en vez del archivo de configuración local, y lee la guía más detallada en Automatiza la publicación de flipbooks en CI/CD.

Prográmalo con cron

El paso final de cualquier automatización: ponerlo en un horario. Guarda tu canalización como un script, hazlo ejecutable y añade una entrada de cron. Esto ejecuta una publicación e informe nocturnos a las 02:00:

# crontab -e
0 2 * * * FLIPLINK_API_KEY=your_key /home/you/scripts/nightly-publish.sh >> /var/log/fliplink.log 2>&1

Redirigir tanto stdout como stderr a un archivo de registro (>> ... 2>&1) significa que tus ramificaciones por código de salida y los informes de jq quedan capturados en cada ejecución — así, cuando algo se rompa a las 2 de la madrugada, tendrás un registro de exactamente qué pasó.

El patrón, en una línea

Cada script de esta guía es la misma idea: --json para obtener datos en bruto → jq para extraer o filtrar → un bucle para actuar → códigos de salida para verificar. Empieza por inspeccionar tu propia salida --json para que los nombres de los campos sean correctos, construye la canalización etapa por etapa y tendrás una automatización fiable de FlipLink en cuestión de minutos.

Lecturas relacionadas

¿Listo para crear tu primer flipbook?

Convierte tus PDF en flipbooks y documentos interactivos. Empieza con el Lifetime Deal de FlipLink: acceso de por vida desde solo $39.

#cli#jq#automatización#scripting#json
Lifetime Deal

Paga una vez, usa para siempre

10, 50 o 100 flipbooks · Las 35 funciones · Dominios ilimitados

$39
10 Flipbooks
$89
50 Flipbooks
Más popular
$129
100 Flipbooks

Sin niveles. Sin restricciones. Cada código LTD desbloquea todo.

  • Cada función desbloqueada — sin límites
  • Acumulable — compra más códigos cuando quieras
  • Reemplazable — cambia el antiguo por uno nuevo
  • Dominios propios ilimitados (CNAME)
  • Sin costos recurrentes, nunca

Lecturas relacionadas

Tutorials7 min read

Convierte en lote una carpeta de PDF a flipbooks

Convierte PDF a flipbook en lote desde una carpeta con un bucle de shell y la CLI de FlipLink: guarda las URL en un CSV y salta archivos dañados.

Sumit Ghugharwal