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

Vai criar scripts com a CLI do FlipLink? Direcione a saída --json para o jq, extraia IDs e URLs, filtre, encadeie comandos e monte uma automação completa.

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 uma pasta inteira de PDFs em flipbooks com um único loop de shell usando a CLI do FlipLink. Capture as URLs em CSV e pule os arquivos já feitos.

Sumit Ghugharwal