foliade

Artigo Técnico · REST v1

Documentação da API Foliade

API de iniciação: 5 conversões bem-sucedidas em 30 dias, uma de cada vez; 50 MB e 100 páginas por PDF, 250 MB de pacotes API guardados.

O MCP está incluído desde o plano gratuito. A API completa, as estatísticas, o carregamento em massa e os webhooks estão incluídos a partir do Pro. A exportação HTML autónoma está incluída a partir do Business.

Autenticação do portador

Crie uma chave em Foliade → API e envie-a no cabeçalho Authorization. A chave dá acesso aos catálogos de sua conta: guarde-a em um gerenciador de segredos e nunca no código-fonte.

export FOLIADE_API_KEY="fl_live_your_key"
curl https://foliade.gekkode.com/v1/me \
  -H "Authorization: Bearer ${FOLIADE_API_KEY}"

Ciclo de vida principal

  1. crie uma chave dedicada para cada integração;
  2. copie seu valor ao criá-lo;
  3. monitorar sua última ligação;
  4. revogá-lo assim que não for mais usado.

Uma chave ausente, desconhecida ou revogada é respondida 401.

Terminais v1

MétodoCaminhoResultado
POST/v1/catalogsConverte um PDF, rascunho ou publicado.
POST/v1/catalogs/bulkAceite uma fonte pública e inicie um lote.
GET/v1/catalogsLista os catálogos da conta.
GET/v1/catalogs/{id}Devolve o catálogo e o estado da última conversão.
POST/v1/catalogs/{id}/publishPublica um rascunho existente sem nova conversão nem alteração do link.
GET/v1/catalogs/{id}/stats?days=30Retorna leituras, leitores, contatos e visualizações de páginas.
DELETE/v1/catalogs/{id}Cancela a publicação do catálogo sem excluir os dados da conta.
GET/v1/meVerifica a chave, a oferta e a quantidade de catálogos.

Publicar um PDF

Envie um corpo multipart/form-data. Sozinho fichier é obrigatório. publier=0 cria um rascunho; publier=1 torna o link público. Com attendre=1, a consulta aguardará a conversão por até 300 segundos antes de renderizar um 202.

curl -X POST https://foliade.gekkode.com/v1/catalogs \
  -H "Authorization: Bearer ${FOLIADE_API_KEY}" \
  -F "[email protected];type=application/pdf" \
  -F "titre=Catalogue été 2026" \
  -F "langue=fr" \
  -F "publier=1" \
  -F "attendre=1"
CampoPadrãoDescrição
fichierAPI de iniciação: 50 MB e 100 páginas por PDF. API completa: 300 MB por PDF.
remplaceIdentificador de um catálogo da conta a substituir, sem alterar a ligação ou proteção. Uma conversão bem-sucedida consome uma unidade da quota de iniciação.
titrenome do arquivoTítulo visível do catálogo.
langueidioma da contaCódigo de idioma suportado pelo player.
publier01 para abrir imediatamente o link público.
attendre10 para receber imediatamente trabalho assíncrono.
{
  "id": "abc123",
  "url": "https://foliade.gekkode.com/c/abc123",
  "etat": "public",
  "pages": 24,
  "duree_s": 8.4,
  "texte_indexe": true
}

Processamento em massa

A API completa está incluída a partir do Pro.

O ponto de entrada em massa recebe uma URL HTTP(S) pública em um corpo JSON. O webhook é opcional. A resposta 202 contém o identificador do lote aceito.

curl -X POST https://foliade.gekkode.com/v1/catalogs/bulk \
  -H "Authorization: Bearer ${FOLIADE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "source": "https://exemple.fr/catalogues.zip",
    "webhook": "https://exemple.fr/webhooks/foliade"
  }'

A fonte é um arquivo ZIP de até 2 GB, com no máximo 500 PDFs de 300 MB cada. As notificações usam uma fila persistente: após uma falha de HTTP, cinco novas tentativas são agendadas após 1 minuto, 5 minutos, 15 minutos, 1 hora e 6 horas.

Cada notificação inclui um identificador estável e uma assinatura HMAC-SHA256. Recupere o segredo de assinatura do seu espaço por meio da API Identity. Verifique a assinatura bruta do corpo HTTP, rejeite carimbos de data/hora com mais de cinco minutos e desduplique eventos já processados. Uma rotação da chave do aplicativo renova os segredos.

GET /v1/me → webhook_signing_secret
X-Foliade-Event-Id: event_id
X-Foliade-Signature: t=timestamp,v1=signature
signature = HMAC-SHA256(webhook_signing_secret, timestamp + "." + raw_body)

Estatísticas

As estatísticas exigem Pro.

O período é transmitido com days. A API REST e o servidor MCP hospedado aceitam um número inteiro de 1 a 3650 dias. Valores fora da faixa são recusados.

curl "https://foliade.gekkode.com/v1/catalogs/abc123/stats?days=30" \
  -H "Authorization: Bearer ${FOLIADE_API_KEY}"

Respostas e erros

EstadoSignificadoAcção
201Conversão concluída.Usar url e id.
202Conversão ou lote aceito, ainda em andamento.Guarde o ID devolvido.
400A origem em massa não é um URL público aceito.Forneça um URL HTTP(S) acessível.
401Chave ausente, desconhecida ou revogada.Verifique o cabeçalho ou crie uma chave.
403Função reservada a um plano superior ou conta suspensa.Verifique as permissões da conta.
404Catálogo ausente na conta autenticada.Verifique o ID e a chave.
409Conversão em curso, vagas ocupadas ou armazenamento cheio.Aguarde ou liberte uma vaga na sua conta.
413O PDF ultrapassa o limite de tamanho ou páginas do seu plano.Reduza ou divida o documento.
422PDF protegido, corrompido ou falha na conversão.Exporte novamente um PDF legível sem senha.
429Quota API ou limite de proteção atingido.Consulte as quotas antes de tentar novamente.

Proteção contra abusos: 60 chamadas API por minuto e 10 tentativas de carregamento por 24 horas, partilhadas com o site e o MCP. As falhas contam para o limite diário, não para a quota mensal.

Eliminar ou despublicar não devolve uma conversão bem-sucedida. As 5 vagas de publicação são partilhadas com os carregamentos web. Os rascunhos e arquivos API contam nos 5 catálogos API guardados e nos 250 MB de armazenamento.

Após uma resposta 202, consulte o catálogo para acompanhar a conversão. A resposta de identidade da conta indica as quotas de iniciação restantes; o segredo do webhook só é fornecido ao Pro e planos superiores.

Servidor API ou MCP?

A API é adequada para um aplicativo, backend ou canal editorial. O servidor MCP envolve as mesmas operações com ferramentas que Codex e Claude Code podem chamar sob controle do usuário.

Compreendendo a diferença entre MCP e API

Referência executável

A documentação do Swagger e o esquema OpenAPI são gerados a partir das rotas realmente implantadas.

Teste em Swagger UI

Registro de alterações

VersãoDataMudanças
v128 de agosto de 2026Documentação pública de conversão, lotes, estatísticas, cancelamento de publicação e identidade da conta.