Scripten met FlipLink: CLI-uitvoer doorsluizen naar jq

Script je de FlipLink CLI? Sluis --json-uitvoer door naar jq om ID's en URL's eruit te halen, te filteren, commando's te koppelen en automatisering te bouwen die netjes afsluit.

Sumit Ghugharwal
Sumit Ghugharwal

Gepubliceerd op 21 juni 2026 · 6 min read

Deel dit artikel:

De FlipLink CLI drukt standaard vriendelijke, leesbare tabellen af. Dat is prettig als je aan de terminal werkt — maar zodra je iets wilt scripten, wil je juist ruwe, machineleesbare data. En dat is precies wat de --json-vlag je geeft. Zodra je die combineert met jq, kun je ID's eruit halen, deellinks ophalen, filteren op status en commando's aan elkaar koppelen tot echte automatisering.

Deze gids gaat over het scripten van de FlipLink CLI: een paar commando's omtoveren tot een kleine, betrouwbare pijplijn. Als je de tool helemaal nieuw is, begin dan met Aan de slag met de FlipLink CLI en kom daarna hier terug. Voor het complete commando-overzicht is de CLI-documentatie de referentie.

De ene vlag die scripten mogelijk maakt: --json

Bijna elk lees- of schrijfcommando accepteert --json. Voeg je die toe, dan stuurt de CLI ruwe JSON naar standaarduitvoer in plaats van een opgemaakte tabel:

fliplink flipbook list --json

Sluis dat rechtstreeks door naar jq en je vormt het naar believen om. De allerbelangrijkste gewoonte bij het scripten: bekijk eerst de ruwe uitvoer, zodat je de exacte veldnamen kent voordat je ze gaat gebruiken.

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

De voorbeelden hieronder gebruiken plausibele veldnamen als .ID en .URL, maar ga er nooit zomaar van uit — het hoofdlettergebruik in velden kan verschillen. Voer het commando hierboven één keer uit, lees de sleutels en pas je jq-paden aan zodat ze overeenkomen met wat je daadwerkelijk ziet.

Haal alleen de ID's eruit

De klassieke eerste stap: een platte lijst met flipbook-ID's waar je overheen kunt loopen.

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

jq loopt door de array (.[]) en haalt uit elk item het ID-veld. Wikkel het veld in -r (ruwe uitvoer) als je schone strings wilt zonder aanhalingstekens eromheen — dat heb je nodig wanneer je de waarden aan een ander commando doorgeeft:

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

Hetzelfde patroon werkt voor elk veld. Als je lijstitems een URL bevatten, kun je in één keer elke deellink eruit halen:

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

Wil je een rapport met twee kolommen, titel en link? Bouw met jq's string-interpolatie per item een rij met tabs ertussen:

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

Nogmaals — controleer .Title en .URL aan de hand van je eigen --json-uitvoer voordat je erop vertrouwt. Wijken de sleutels af, verwissel ze dan.

Filter voordat je iets doet

Met jq's select() houd je alleen de items over die aan een voorwaarde voldoen. Stel dat elk item een gepubliceerd-vlag heeft en je alleen de ID's van gepubliceerde flipbooks wilt:

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

Bekijk je uitvoer om de echte naam en het type van de vlag te achterhalen — het kan een boolean zijn, een string of een statusveld. Pas de select()-expressie hierop aan. Het patroon blijft hetzelfde: filter de array en projecteer vervolgens het veld dat je nodig hebt.

Koppel commando's: lijst, filter en doe iets

Hier wordt het nuttig. Sluis de gefilterde ID's door naar een shell-loop en voer voor elk een tweede commando uit. Dit voorbeeld zoekt elke flipbook die nog niet gepubliceerd is en publiceert die:

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

De while read -r id-loop verwerkt één ID per regel en roept voor elk fliplink flipbook publish aan. Omdat jq -r de aanhalingstekens weghaalt, is $id een schone waarde die je zo kunt doorgeven. Dezelfde vorm werkt voor elk actiecommando — vervang het door set-expiry, share-link of delete.

Let op: elk commando dat hier getoond wordt, is een echt FlipLink CLI-commando. Heb je een actie nodig die de samengestelde commando's niet dekken, gebruik dan de fliplink api-ontsnappingsroute (bijvoorbeeld fliplink api PUT /api/set-skin/<id> --data '{"SkinName":"Modern"}') — eronder zit dezelfde REST API.

🚀

Probeer FlipLink Gratis

Converteer je PDF in seconden. Geen registratie, geen creditcard — gewoon uploaden en starten.

Drop your PDF here or click to browse

Max. 40MB

Met een betaald abonnement vanaf $39 verhoog je dit naar 150 MB.

Bouw een klein rapport

Zodra je kunt extraheren en filteren, is een snel statusrapport gewoon nog één jq-expressie. Tel je totale aantal flipbooks en hoeveel daarvan gepubliceerd zijn:

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

Dat drukt een compacte JSON-samenvatting af die je kunt loggen, mailen of naar een kanaal kunt posten. Liever een regel voor mensen?

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

Schrijf scripts die weten of ze geslaagd zijn

Een pijplijn is alleen betrouwbaar als die reageert op fouten. De FlipLink CLI gebruikt betekenisvolle exit-codes, zodat je scripts erop kunnen vertakken:

  • 0 — succes
  • 1 — verzoek- of HTTP-fout (netwerk, verkeerde sleutel, een 401)
  • 2 — applicatiefout (de API gaf Result: ERROR terug)

Controleer de exit-code na een commando en handel elk geval af:

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

Wil je een script dat meteen stopt bij de eerste fout, zet dan set -e bovenaan, zodat de hele run stopt bij de eerste exit-code die niet nul is. Voor een robuuste batchtaak ga je juist door, maar log je de fouten — de exit-code-vertakking hierboven is hoe je “klaar” onderscheidt van “klaar met fouten”.

Script je in CI in plaats van vanaf je laptop, stel je sleutel dan in met de omgevingsvariabele FLIPLINK_API_KEY in plaats van het lokale configuratiebestand, en lees de uitgebreidere uitleg in Automatiseer flipbookpublicatie in CI/CD.

Zet het in cron

De laatste stap in elke automatisering: zet het op een schema. Sla je pijplijn op als script, maak het uitvoerbaar en voeg een cron-regel toe. Hiermee draait elke nacht om 02:00 een publicatie-met-rapport:

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

Door zowel stdout als stderr naar een logbestand te leiden (>> ... 2>&1) leg je je exit-code-vertakkingen en jq-rapporten bij elke run vast — dus als er om 2 uur 's nachts iets misgaat, heb je een verslag van precies wat er gebeurd is.

Het patroon, in één regel

Elk script in deze gids berust op hetzelfde idee: --json voor ruwe data → jq om te extraheren of filteren → een loop om iets te doen → exit-codes om te verifiëren. Begin met het bekijken van je eigen --json-uitvoer, zodat de veldnamen kloppen, bouw de pijplijn stap voor stap op, en binnen een paar minuten heb je betrouwbare FlipLink-automatisering.

Verder lezen

Klaar om je eerste flipbook te maken?

Zet je PDF's om in interactieve flipbooks en documenten. Begin met de Lifetime Deal van FlipLink — levenslange toegang vanaf slechts $39.

#cli#jq#automatisering#scripting#json
Lifetime Deal

Betaal eenmalig, gebruik voor altijd

10, 50 of 100 flipbooks · Alle 35 functies · Onbeperkte domeinen

$39
10 Flipbooks
$89
50 Flipbooks
Populairst
$129
100 Flipbooks

Geen niveaus. Geen functiebeperkingen. Elke LTD-code ontgrendelt alles.

  • Elke functie ontgrendeld — geen grenzen
  • Stapelbaar — koop extra codes wanneer je wilt
  • Vervangbaar — wissel oud voor nieuw
  • Onbeperkt eigen domeinen (CNAME)
  • Geen terugkerende kosten, nooit

Gerelateerde artikelen