Integrações

A camada de relatórios que você não precisa construir. Qualquer coisa que envie uma requisição HTTPS pode criar um relatório. Seu sistema envia o JSON uma vez; a Pressfox confere, monta com o seu modelo e devolve um link e um PDF. A documentação tem a referência completa.

Por sistema: cinco receitas

A mesma requisição todas as vezes; só mudam o momento e o evento.

Escolha um sistema

ERP e retaguarda

  1. 1QuandoUm pedido é despachado ou uma fatura é lançada.
  2. 2EnviarPOST /api/v1/reports com o seu modelo de fatura, o registro como payload e o número dele como Idempotency-Key, para que uma nova tentativa nunca gere dois.
  3. 3Voltaurl e pdf_url. Guarde-os no registro.
  4. 4Ouvirreport.failed, para sinalizar o registro para uma pessoa.

CRM

  1. 1QuandoUm negócio é fechado ou a revisão de uma conta vence.
  2. 2EnviarUma requisição com os números da conta e o seu modelo de one-pager ou de revisão.
  3. 3VoltaO link hospedado. Compartilhe com os contatos, um link com validade para cada um.
  4. 4Ouvirreport.ready, para gravar o link na conta.

Apps de inspeção e de campo

  1. 1QuandoO inspetor envia o checklist.
  2. 2EnviarAs respostas, com as fotos como URLs https ou enviadas antes por POST /api/v1/assets.
  3. 3VoltaO link, ou 422 indicando o campo que falta, para o app pedir ao inspetor.
  4. 4Ouvirreport.ready, e depois compartilhe com o cliente.

O seu próprio backend

  1. 1QuandoQualquer evento que o seu produto já tenha.
  2. 2EnviarA mesma requisição, de qualquer linguagem. Fixe uma versão com template@N para que uma publicação nunca mude o que a produção envia.
  3. 3Volta200 quando a renderização terminou em até 2,5 segundos, 202 enquanto ainda está renderizando.
  4. 4Ouvirreport.ready para o caso 202, report.failed com o motivo.

Agentes de IA

  1. 1QuandoAlguém pede um relatório ao seu assistente.
  2. 2EnviarO agente lê o contrato do modelo e chama create_report, que faz a mesma requisição.
  3. 3VoltaO link, o PDF e uma versão em Markdown que o agente consegue ler.
  4. 4OuvirNada novo: os relatórios dele chegam aos seus endpoints como qualquer outro relatório da API.
POST /api/v1/reports

A requisição

Uma chamada com a chave de um modelo e os seus dados. Os dados são conferidos com o modelo antes: dados recusados nunca viram relatório, e você recebe 422 indicando o campo.

  • Chaves de teste (pf_test_) geram relatórios com marca d'água, grátis e guardados por 24 horas, para você ligar tudo antes de ir para produção.
  • Idempotency-Key faz uma nova tentativa devolver o mesmo relatório em vez de um segundo.
  • Senha do PDF (pdf_password) protege o próprio PDF com uma senha que o leitor conhece, a partir do Standard; a resposta traz pdf_protected.
  • Verificar um documento: qualquer pessoa pode conferir um PDF em /verify, a partir do Standard. A página calcula a impressão digital no navegador e consulta GET /api/verification/check/{sha256}, que é público e tem limite de uso.
Campos, status, erros e exemplos completos
Linguagem do exemplo
curl
curl https://api.pressfox.io/api/v1/reports \
  -H "Authorization: Bearer pf_test_…" \
  -H "Content-Type: application/json" \
  -d '{ "template": "clinic-visit-summary",
        "payload": { "patient": { "name": "A. Rivera" } } }'
Node
const res = await fetch("https://api.pressfox.io/api/v1/reports", {
  method: "POST",
  headers: { Authorization: `Bearer ${process.env.PRESSFOX_API_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({ template: "clinic-visit-summary", payload: { patient: { name: "A. Rivera" } } }),
});
const { url, pdf_url } = await res.json();
Python
import os, requests

r = requests.post("https://api.pressfox.io/api/v1/reports",
    headers={"Authorization": f"Bearer {os.environ['PRESSFOX_API_KEY']}"},
    json={"template": "clinic-visit-summary", "payload": {"patient": {"name": "A. Rivera"}}})
print(r.json()["url"], r.json()["pdf_url"])
Resposta200, resumida
{
  "report_id": "rpt_01j9xk7q4",
  "status": "ready",
  "mode": "test",
  "url": "https://app.pressfox.io/report/k7Qm2Zb9…",
  "pdf_url": "https://app.pressfox.io/report/k7Qm2Zb9…/pdf",
  "pages": 2,
  …
}
A partir do Starter

Webhooks

Eventos quando um relatório fica pronto, falha ou é substituído por uma versão corrigida. Os payloads levam ids, status, rótulos e links, nunca dados do relatório.

report.readyreport.failedreport.superseded

Cada entrega é assinada no formato Standard Webhooks.

Uma entrega que falha é tentada de novo depois de

  1. 1 minuto
  2. 5 minutos
  3. 30 minutos
  4. 2 horas
  5. 6 horas
  6. 12 horas
  7. 24 horas

Um endpoint que falha por 3 dias sem nenhum sucesso é desativado; um proprietário ou administrador pode reativá-lo depois de corrigido, com a mesma URL e o mesmo segredo.

Referência de webhooks

Toda entrega leva

  • webhook-idO id da entrega, o mesmo em cada nova tentativa
  • webhook-timestampQuando foi enviada; rejeite qualquer coisa com mais de cinco minutos de diferença
  • webhook-signatureUm HMAC-SHA256 do id, do horário e do corpo bruto, com o segredo do seu endpoint

Qualquer biblioteca Standard Webhooks consegue conferir. A documentação tem uma função de verificação para copiar.

Verifique uma entrega

Compartilhamento por e-mail e domínio próprio

Compartilhamento por e-mail Todos os planos

Envie um relatório pronto para até 50 pessoas. Cada uma recebe o próprio e-mail e o próprio link, que pode ser revogado só para ela.

  • Os links expiram quando você escolher: de 24 horas a 30 dias, ou junto com o relatório.
  • Sem pixel de rastreamento no e-mail.
Compartilhar por e-mail

Domínios próprios

Links de relatório num subdomínio seu, como reports.tollandreese.com (não um domínio raiz). A partir do Standard: 1 no Standard, 25 no Pro. Um subdomínio pressfox.app vem com o Standard. Você adiciona três registros:

  1. TXT_cf-custom-hostname.reports.tollandreese.comO token de propriedade que o app mostra
  2. TXT_acme-challenge.reports.tollandreese.comO token de validação do certificado que o app mostra
  3. CNAMEreports.tollandreese.comhosts.pressfox.app (só DNS: no Cloudflare, nuvem cinza)
Todos os planos

Agentes de IA via MCP

O Claude e outros clientes MCP se conectam de duas formas, com as mesmas ferramentas. Por URL: você entra na Pressfox e autoriza o assistente para um espaço de trabalho, em modo de teste ou real. Localmente: um pacote pequeno roda na sua máquina com uma chave de API.

Ele pode

  • Encontrar modelos
  • Criar relatórios
  • Ler e compartilhar relatórios

Ele não pode

  • Apagar relatórios
  • Mudar modelos
  • Gerenciar membros, chaves ou cobrança

Desconecte quando quiser em Settings, Security.

Em prévia: escreva para hello@pressfox.io e ligamos para o seu espaço de trabalho.

Configuração e ferramentas do MCP
Claude Code, por URL
claude mcp add --transport http pressfox \
  https://mcp.pressfox.io/mcp

Outros clientes, e o pacote local com uma chave de API: configuração do MCP.

Sem código

  • Preencha um formulário no app. Um membro digita os dados e recebe o mesmo relatório. Os webhooks disparam mesmo assim, marcados com "source": "dashboard".
  • O Playground. Escolha um modelo, edite os dados com conferência ao vivo e veja a página hospedada, o PDF e a requisição exata em curl, Node ou Python. Só relatórios de teste.

Limites de requisições

Por minutoPor chavePor espaço de trabalho
Todas as requisições6001.200
Criação de relatórios120240

Acima de um limite: 429 rate_limited com Retry-After em segundos. Precisa de mais? Escreva para nós.

Todas as integrações, e o que está por vir

5 disponíveis, 12 por vir. Os planos para o que está por vir são a nossa intenção, não uma promessa. Conte o que você precisa, e isso sobe na fila.

Disponível hoje

  • API RESTCrie, leia, liste e compartilhe relatórios; leia modelos e seus contratos; envie imagens.O Free gera relatórios reais com marca d'água. Construir e conectarTodos os planos Como funciona
  • Webhooks assinadosreport.ready, report.failed e report.superseded, assinados no formato Standard Webhooks, com novas tentativas por um dia. Construir e conectarA partir do Starter Como funciona
  • MCP para agentes de IAO Claude e outros assistentes encontram modelos, criam relatórios e os leem.Em prévia: escreva para nós e ligamos para o seu espaço de trabalho. Construir e conectarTodos os planos Como funciona
  • Compartilhamento por e-mailAté 50 destinatários por envio, cada um com o próprio link com validade. EntregaTodos os planos Como funciona
  • Domínios própriosLinks de relatório em reports.yourcompany.com. Um subdomínio pressfox.app a partir do Standard. EntregaA partir do Standard: 1 no Standard, 25 no Pro Como funciona

Por vir

Notificações em chatPrevisto a partir do Standard

EntregaPrevisto a partir do Pro

Entrega em armazenamentoPrevisto a partir do Standard

Plataformas de automaçãoOs gatilhos precisam de webhooks (A partir do Starter)

O que ela não faz

  • Ela não busca dados nos seus sistemas. Você os envia.
  • Ainda não há apps nativos para Zapier, Make ou n8n, nem mensagens em chat, nem entrega em armazenamento.
  • Ainda não há SDKs oficiais: a requisição é JSON simples sobre HTTPS.
  • Os payloads dos webhooks levam links, não dados do relatório, e os segredos de assinatura ainda não fazem rotação.
  • Domínios próprios precisam ser um subdomínio, não um domínio raiz.

Falta alguma coisa?

Conte qual é o sistema e o que deve acontecer. Os pedidos decidem o que construímos a seguir.