Automatizando o FlipLink: Direcione a saída do CLI para o jq

Vai criar scripts com o CLI do FlipLink? Direcione a saída --json para o jq para extrair IDs e URLs, filtrar, encadear comandos e montar uma automação que termina sem erros.

Sumit Ghugharwal
Sumit Ghugharwal

Publicado em 21 de junho de 2026 · 7 min read

Compartilhar este post:

O CLI do FlipLink imprime tabelas amigáveis e fáceis de ler por padrão. Isso é ótimo quando você está trabalhando no terminal — mas no momento em que você quer automatizar algo, o que você quer são dados brutos, legíveis por máquina. É exatamente isso que a flag --json oferece, e quando você a combina com o jq, dá para extrair IDs, pegar links de compartilhamento, filtrar por status e encadear comandos em uma automação de verdade.

Este guia é sobre criar scripts com o CLI do FlipLink: transformar alguns comandos em um pipeline pequeno e confiável. Se você está começando agora com a ferramenta, comece por Primeiros passos com o CLI do FlipLink e depois volte aqui. Para conhecer todos os comandos, a documentação do CLI é a referência.

A única flag que torna a automação possível: --json

Quase todo comando de leitura ou escrita aceita --json. Adicione essa flag e o CLI emite JSON bruto na saída padrão em vez de uma tabela formatada:

fliplink flipbook list --json

Direcione isso direto para o jq e você pode remodelar tudo do jeito que quiser. O hábito mais importante de todos ao criar scripts: inspecione a saída bruta primeiro para saber os nomes exatos dos campos antes de usá-los.

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

Os exemplos abaixo usam nomes de campo plausíveis como .ID e .URL, mas você nunca deve presumir nada — o uso de maiúsculas e minúsculas nos campos pode variar. Rode o comando acima uma vez, leia as chaves e ajuste seus caminhos do jq para que correspondam ao que você realmente vê.

Extraia só os IDs

A jogada clássica para começar: obter uma lista simples de IDs de flipbooks que dá para percorrer em um loop.

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

O jq percorre o array (.[]) e pega o campo ID de cada item. Envolva o campo com -r (saída bruta) quando quiser strings limpas, sem as aspas em volta — é disso que você precisa ao passar os valores para outro comando:

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

O mesmo padrão funciona para qualquer campo. Se os itens da sua lista incluem uma URL, dá para extrair todos os links de compartilhamento de uma vez:

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

Quer um relatório de duas colunas com título e link? Monte uma linha separada por tabulação para cada item com a interpolação de strings do jq:

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

De novo — confirme .Title e .URL na sua própria saída --json antes de confiar neles. Se as chaves forem diferentes, troque pelas corretas.

Filtre antes de agir

O select() do jq deixa você manter apenas os itens que correspondem a uma condição. Suponha que cada item carregue uma flag de publicado e você queira só os IDs dos flipbooks publicados:

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

Inspecione sua saída para descobrir o nome e o tipo reais da flag — pode ser um booleano, uma string ou um campo de status. Ajuste a expressão select() de acordo. O padrão continua o mesmo: filtre o array e depois projete o campo que você precisa.

Encadeie comandos: liste, filtre e então aja

É aqui que a coisa fica útil. Direcione os IDs filtrados para um loop de shell e rode um segundo comando contra cada um deles. Este exemplo encontra todo flipbook que ainda não foi publicado e o publica:

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

O loop while read -r id consome um ID por linha e chama fliplink flipbook publish em cada um. Como o jq -r remove as aspas, $id é um valor limpo, pronto para ser passado adiante. O mesmo formato funciona para qualquer comando de ação — é só trocar por set-expiry, share-link ou delete.

Observação: todo comando mostrado aqui é um comando real do CLI do FlipLink. Se você precisar de uma ação que os comandos selecionados não cobrem, use a saída de emergência fliplink api (por exemplo fliplink api PUT /api/set-skin/<id> --data '{"SkinName":"Modern"}') — a mesma API REST está por baixo.

🚀

Experimente o FlipLink Grátis

Converta seu PDF em segundos. Sem cadastro, sem cartão de crédito — basta enviar o arquivo.

Drop your PDF here or click to browse

Máx 40MB

Os planos pagos a partir de $39 aumentam esse limite para 150 MB.

Monte um pequeno relatório

Quando você já consegue extrair e filtrar, um relatório rápido de status é só mais uma expressão jq. Conte o total de flipbooks e quantos estão publicados:

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

Isso imprime um resumo JSON compacto que você pode registrar, enviar por e-mail ou postar em um canal. Prefere uma linha legível por humanos?

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

Escreva scripts que sabem se deram certo

Um pipeline só é confiável se reagir a falhas. O CLI do FlipLink usa códigos de saída significativos, então seus scripts podem se ramificar com base neles:

  • 0 — sucesso
  • 1 — erro de requisição ou HTTP (rede, chave inválida, um 401)
  • 2 — erro de aplicação (a API retornou Result: ERROR)

Verifique o código de saída após um comando e trate 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 um script que falha rápido, adicione set -e no topo, assim toda a execução para no primeiro código de saída diferente de zero. Para um job em lote resiliente, continue rodando mas registre as falhas — a ramificação por código de saída acima é como você diferencia “concluído” de “concluído com erros”.

Se você cria scripts em CI em vez de no seu notebook, defina sua chave com a variável de ambiente FLIPLINK_API_KEY em vez do arquivo de configuração local, e leia o passo a passo mais aprofundado em Automatize a publicação de flipbooks em CI/CD.

Coloque no cron

O passo final de qualquer automação: colocá-la em um cronograma. Salve seu pipeline como um script, torne-o executável e adicione uma entrada no cron. Isto roda uma publicação-e-relatório toda noite às 02:00:

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

Redirecionar tanto a stdout quanto a stderr para um arquivo de log (>> ... 2>&1) significa que suas ramificações por código de saída e os relatórios do jq ficam registrados a cada execução — então, quando algo quebrar às 2 da manhã, você tem um registro do que exatamente aconteceu.

O padrão, em uma linha

Todo script deste guia é a mesma ideia: --json para obter dados brutos → jq para extrair ou filtrar → um loop para agir → códigos de saída para verificar. Comece inspecionando sua própria saída --json para acertar os nomes dos campos, monte o pipeline um estágio de cada vez e você terá uma automação confiável do FlipLink em minutos.

Leituras relacionadas

Pronto para Criar Seu Primeiro Flipbook?

Transforme seus PDFs em flipbooks e documentos interativos. Comece com o Lifetime Deal da FlipLink: acesso vitalício a partir de apenas $39.

#cli#jq#automação#scripting#json
Lifetime Deal

Pague Uma Vez, Use Para Sempre

10, 50 ou 100 flipbooks · Todos os 35 recursos · Domínios ilimitados

$39
10 Flipbooks
$89
50 Flipbooks
Mais popular
$129
100 Flipbooks

Sem planos. Sem restrições de recursos. Cada código LTD desbloqueia tudo.

  • Cada recurso liberado — sem limites
  • Acumulável — compre mais códigos quando quiser
  • Substituível — troque o antigo por um novo
  • Domínios próprios ilimitados (CNAME)
  • Sem taxas recorrentes, nunca

Leituras Relacionadas

Tutorials7 min read

Converta em Lote uma Pasta de PDFs em Flipbooks

Converta PDF em flipbook em lote a partir de uma pasta inteira com um único loop de shell usando a CLI do FlipLink — capture as URLs em CSV e pule arquivos com erro.

Sumit Ghugharwal