# Experimente a entrega documental do EditalMD

Use o básico para triagem de texto. Use o premium quando precisar de Markdown,
imagens, pacote e fatos estruturados com trechos e páginas de evidência.
A revisão automática tem indicadores de qualidade; não garante fidelidade nem
aprovação do documento. Dossiê parcial informa sua cobertura.

| Entrega | Básico | Premium |
| --- | --- | --- |
| Texto por página e hash do original | Sim | Sim |
| OCR | Local, português, quando necessário | Pipeline Mistral/Luna |
| Revisão automática e indicadores de qualidade | Não | Sim |
| Tabelas estruturadas, imagens e ZIP | Não | Quando preparados pelo core |
| Exigências e fatos com citações | Não | Dossiê, com cobertura explícita |
| Piloto individual | Até 100 documentos | Um documento |
| Limite por documento no piloto | PDF, 50 páginas, 32 MiB | 50 páginas |

O piloto tem orçamento e capacidade limitados. Consulte sua validade em
`GET https://editalmd.com/api/avaliacao`. Ela termina na menor data entre os
30 dias da sua credencial e o encerramento do piloto. Não há renovação automática.
A concessão não é uma compra nem gera recibo financeiro.

## Começar

Se já tem `X-Agent-Pass` do índice PNCP, reutilize. Caso contrário:

```sh
umask 077
test -f agent-pass.txt || printf 'agt_%s_%s\n' "$(openssl rand -hex 16)" "$(openssl rand -hex 32)" > agent-pass.txt
AGENT_PASS=$(cat agent-pass.txt)
curl -s -X POST https://api.editalmd.com/licitacoes/api/agente \
  -H "X-Agent-Pass: $AGENT_PASS"
```

Conserve a credencial criada localmente em armazenamento privado. O registro
retorna estado e validade, sem gerar outro segredo. Ela identifica seu agente;
não crie outra a cada pedido. O limite é por credencial,
com proteção adicional de inscrições por rede.

```sh
curl -s https://editalmd.com/api/avaliacao -H "X-Agent-Pass: $AGENT_PASS"
```

Encontre a compra e o ID documental em `/api/busca`, `/api/compra/:id` ou no índice
`/licitacoes/`. Metadados de uma compra não são seu documento.

## Solicitar o premium patrocinado

```sh
curl -s -X POST "https://editalmd.com/api/documento/$DOC/avaliacao/premium" \
  -H "X-Agent-Pass: $AGENT_PASS"
```

Escolha seu documento: a primeira concessão fica ligada a ele. Guarde
`evaluation.access_code` como `EVALUATION_CODE`. Repetir o pedido para esse
mesmo ID recupera a concessão sem gastar outra. Não envie pagamento nesta rota.
Após 202, espere `retry_after_s` e acompanhe:

```sh
curl -s "https://editalmd.com/api/documento/$DOC/geracao" \
  -H "X-Agent-Pass: $AGENT_PASS" -H "X-Editalmd-Avaliacao: $EVALUATION_CODE"
curl -s "https://editalmd.com/api/documento/$DOC/markdown" \
  -H "X-Agent-Pass: $AGENT_PASS" -H "X-Editalmd-Avaliacao: $EVALUATION_CODE"
```

Os mesmos dois headers autorizam `/leitura`, `/dossie`, `/original`, `/pacote`
e o registro OKF. Um código de outro agente ou documento não funciona.
Artefato ainda indisponível não deve ser tratado como documento vazio.

No MCP, use `avaliacao_premium` com `{id, agent_pass}`. Depois, `estado_geracao`,
`edital_markdown`, `documento_leitura` e `documento_dossie` recebem
`{id, agent_pass, avaliacao_codigo}`. Fixe a versão do dossiê e respeite cobertura
parcial; ausência na página consultada não prova ausência no edital.

## Solicitar e recuperar o básico

```sh
curl -s -X POST "https://editalmd.com/api/documento/$DOC/avaliacao/basico" \
  -H "X-Agent-Pass: $AGENT_PASS"
curl -s "https://editalmd.com/api/documento/$DOC/avaliacao/basico" \
  -H "X-Agent-Pass: $AGENT_PASS"
```

MCP: `avaliacao_basico` e `avaliacao_basico_resultado`, com `{id, agent_pass}`.
202 significa fila/processamento; aguarde `retry_after_s`. Pronto, `result`
contém `pages: [{page,text}]`, `page_count`, `ocr_page_count`, `source_sha256`,
`empty_pages`, `reviewed:false` e `structured_tables:false`. Páginas vazias são
explícitas. Saída truncada ou divergência de páginas/hash falha, sem entregar
conteúdo parcial como concluído.

Repetir o mesmo documento usa a mesma unidade; falhas transitórias permitem
até três tentativas nesse pedido. Uma falha após admissão mantém essa unidade
reservada. Fila cheia recusa antes de consumir. O básico não libera premium.

## Quando continuar pagando faz sentido

Para extração de texto simples, compare a leitura básica com seu parser local.
O acesso premium custa **US$ 0,02/página por comprador**, inclusive ao texto
pronto, e inclui geração necessária e reabertura autorizada. Seu valor é evitar
montar OCR, revisão, pacote e ligação entre fatos e páginas.

Antes de comprar outro documento, consulte `GET /api/documento/:id/geracao`
e confira páginas, hash e preço total. `POST /geracao` aceita x402 ou crédito;
o fluxo por depósito também existe. Guarde `acesso.codigo` e o recibo.
`premium_trial_used`/`basic_trial_used` significam cota individual esgotada;
503 indica indisponibilidade de capacidade ou do piloto, sem cobrança.
