Scripting della CLI di FlipLink: invia l'output a jq

Stai scriptando la CLI di FlipLink? Invia l'output --json a jq per estrarre ID e URL, filtrare, concatenare comandi e creare automazioni che terminano in modo pulito.

Sumit Ghugharwal
Sumit Ghugharwal

Pubblicato il 21 giugno 2026 · 7 min read

Condividi questo articolo:

La CLI di FlipLink stampa per impostazione predefinita tabelle leggibili e a misura d'uomo. È perfetto quando lavori al terminale — ma nel momento in cui vuoi scriptare qualcosa, ti servono invece dati grezzi e leggibili dalla macchina. È esattamente ciò che ti offre il flag --json, e una volta abbinato a jq, puoi estrarre ID, recuperare link di condivisione, filtrare per stato e concatenare comandi in una vera automazione.

Questa guida parla di scripting della CLI di FlipLink: trasformare qualche comando in una pipeline piccola e affidabile. Se sei alle prime armi con lo strumento, parti da Primi passi con la CLI di FlipLink, poi torna qui. Per l'intera superficie dei comandi, la documentazione della CLI è il riferimento.

L'unico flag che rende possibile lo scripting: --json

Quasi ogni comando di lettura o scrittura accetta --json. Aggiungilo, e la CLI emette JSON grezzo sullo standard output invece di una tabella formattata:

fliplink flipbook list --json

Invia quel risultato direttamente a jq e potrai rimodellarlo come preferisci. L'abitudine più importante quando si scripta: esamina prima l'output grezzo così conosci i nomi esatti dei campi prima di andare a usarli.

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

Gli esempi qui sotto usano nomi di campo plausibili come .ID e .URL, ma non dovresti mai darli per scontati — il casing dei campi può variare. Esegui il comando qui sopra una volta, leggi le chiavi e adatta i tuoi percorsi jq a ciò che vedi davvero.

Estrai solo gli ID

La prima mossa classica: ottenere un elenco piatto di ID dei flipbook su cui poter iterare.

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

jq percorre l'array (.[]) ed estrae il campo ID da ogni elemento. Avvolgi il campo con -r (output grezzo) quando vuoi stringhe pulite senza virgolette attorno — è ciò che ti serve quando passi i valori a un altro comando:

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

Lo stesso schema funziona per qualsiasi campo. Se gli elementi del tuo elenco includono un URL, puoi estrarre tutti i link di condivisione in una volta sola:

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

Vuoi un report a due colonne con titolo e link? Costruisci una riga separata da tabulazioni per ogni elemento con l'interpolazione di stringhe di jq:

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

Di nuovo — verifica .Title e .URL rispetto al tuo output --json prima di fidartene. Se le chiavi sono diverse, sostituiscile.

Filtra prima di agire

Il select() di jq ti permette di tenere solo gli elementi che soddisfano una condizione. Supponiamo che ogni elemento abbia un flag di pubblicazione e che tu voglia solo gli ID dei flipbook pubblicati:

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

Esamina il tuo output per scoprire il nome e il tipo reali del flag — potrebbe essere un booleano, una stringa o un campo di stato. Adatta l'espressione select() di conseguenza. Lo schema resta lo stesso: filtri l'array, poi proietti il campo che ti serve.

Concatena i comandi: elenca, filtra, poi agisci

Qui è dove diventa utile. Invia gli ID filtrati a un ciclo della shell ed esegui un secondo comando su ciascuno. Questo esempio trova ogni flipbook non ancora pubblicato e lo pubblica:

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

Il ciclo while read -r id consuma un ID per riga e chiama fliplink flipbook publish su ciascuno. Poiché jq -r rimuove le virgolette, $id è un valore pulito pronto da passare direttamente. Lo stesso schema funziona per qualsiasi comando d'azione — basta sostituire con set-expiry, share-link o delete.

Nota: ogni comando mostrato qui è un comando reale della CLI di FlipLink. Se ti serve un'azione che i comandi curati non coprono, usa la via di fuga fliplink api (per esempio fliplink api PUT /api/set-skin/<id> --data '{"SkinName":"Modern"}') — sotto c'è la stessa API REST.

🚀

Prova FlipLink Gratis

Converti il tuo PDF in pochi secondi. Senza registrazione, senza carta di credito — basta caricare il file.

Drop your PDF here or click to browse

Max 40MB

I piani a pagamento da $39 portano questo limite a 150 MB.

Crea un piccolo report

Una volta che sai estrarre e filtrare, un rapido report di stato è solo un'altra espressione jq. Conta i tuoi flipbook totali e quanti ne sono pubblicati:

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

Questo stampa un riepilogo JSON compatto che puoi registrare, inviare via email o pubblicare su un canale. Preferisci una riga leggibile da una persona?

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

Scrivi script che sanno se hanno funzionato

Una pipeline è affidabile solo se reagisce ai fallimenti. La CLI di FlipLink usa codici di uscita significativi, così i tuoi script possono diramarsi in base a essi:

  • 0 — successo
  • 1 — errore di richiesta o HTTP (rete, chiave errata, un 401)
  • 2 — errore applicativo (l'API ha restituito Result: ERROR)

Controlla il codice di uscita dopo un comando e gestisci ogni 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

Per uno script fail-fast, aggiungi set -e all'inizio così l'intera esecuzione si ferma al primo codice di uscita diverso da zero. Per un batch resiliente, continua ma registra i fallimenti — il ramo basato sul codice di uscita qui sopra è come distingui “fatto” da “fatto con errori”.

Se scripti in CI invece che dal tuo portatile, imposta la tua chiave con la variabile d'ambiente FLIPLINK_API_KEY invece del file di configurazione locale, e leggi la spiegazione più approfondita in Automatizzare la pubblicazione dei flipbook in CI/CD.

Mettilo in cron

L'ultimo passo di qualsiasi automazione: programmarla. Salva la tua pipeline come script, rendila eseguibile e aggiungi una voce di cron. Questo esegue ogni notte una pubblicazione-e-report alle 02:00:

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

Reindirizzare sia lo stdout sia lo stderr a un file di log (>> ... 2>&1) significa che i tuoi rami basati sul codice di uscita e i report di jq vengono catturati a ogni esecuzione — così quando qualcosa si rompe alle 2 di notte, hai una traccia esatta di ciò che è successo.

Lo schema, in una riga

Ogni script di questa guida è la stessa idea: --json per ottenere dati grezzi → jq per estrarre o filtrare → un ciclo per agire → codici di uscita per verificare. Inizia esaminando il tuo output --json così i nomi dei campi sono corretti, costruisci la pipeline una fase alla volta e avrai un'automazione FlipLink affidabile in pochi minuti.

Letture correlate

Pronto a creare il tuo primo flipbook?

Trasforma i tuoi PDF in flipbook e documenti interattivi. Inizia con il Lifetime Deal di FlipLink: accesso a vita a partire da soli $39.

#cli#jq#automazione#scripting#json
Lifetime Deal

Paga una volta, usa per sempre

10, 50 o 100 flipbook · Tutte le 35 funzioni · Domini illimitati

$39
10 Flipbook
$89
50 Flipbook
Più popolare
$129
100 Flipbook

Nessun livello. Nessun blocco. Ogni codice LTD sblocca tutto.

  • Ogni funzione sbloccata — nessun limite
  • Cumulabile — acquista più codici quando vuoi
  • Sostituibile — scambia il vecchio con il nuovo
  • Domini personalizzati illimitati (CNAME)
  • Nessun costo ricorrente, mai

Letture correlate