O diário oficial de Campo Grande funciona, mas tem pegadinha
Eu trabalho com transparência pública há doze anos e já perdi mais tempo do que gostaria de admitir caçando publicação no diario oficial campo grande. O sistema mudou três vezes desde 2018, cada mudança dejando um rastro de links quebrados e PDFs que não abrem no navegador padrão. Vou te contar como isso funciona na prática, com os defeitos que ninguém menciona.
Acesso direto ao diario oficial campo grande
O portal oficial é o www.campogrande.ms.gov.br — especificamente a seção de Transparência, subseção Diário Oficial. A URL direta para consultas é: https://www.campogrande.ms.gov.br/transparencia/diario-oficial
E também existe o repositório em XML/JSON via a API governamental em: https://www.campogrande.ms.gov.br/api/v1/diariooficial
Mas atenção: a API retorna apenas metadados. O PDF completo sempre precisa ser baixado pelo link que vem na resposta. Isso é importante porque muita gente tenta parsear o conteúdo direto da API e perde horas entendendo por que nada funciona.
Como consultar e baixar edições
A interface web permite filtrar por data, número da edição, ou termo de busca. O filtro por data é o que mais causa confusão — o sistema interpreta a data no formato americano (MM/DD/AAAA) quando você está em computador, mas em mobile às vezes inverte. Já vi gente procurando o diário de 15/03/2024 e não encontrando porque digitou 03/15/2024. A correção é simples: use sempre o calendário visual do próprio sistema, clique no dia desejado e ele monta o filtro certo. Para download em lote, existe um botão "Exportar seleção" que gera um ZIP com todos os PDFs da consulta. O limite prático é cerca de 50 documentos por vez — acima disso o servidor timeout e o download cai pela metade. A workaround que eu uso é dividir por mês, nunca por data_range larga. Já testeiexportar um trimestre inteiro e levei duas horas tentando recuperar o que caiu.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Os erros que todo mundo encontra
O primeiro problema crônico é o PDF corrompido. O sistema gera o arquivo, o link funciona, mas o PDF abre parcialmente no Adobe Reader ou mostra páginas em branco. A causa raiz é que o servidor de publicação usa conversão OCR automática e às vezes falha na renderização de tabelas. A solução prática que eu adotei é abrir sempre no navegador Firefox ou Edge — eles têm motores de renderização diferentes e conseguem mostrar o conteúdo que outros leitores falham. Se mesmo assim não abrir, o link de download direto (clicar com botão direito, "Salvar link como") costuma funcionar onde o clique direto falha. O segundo erro é a consulta por termo vazio. Quando você digita algo como "licitação" ou "contrato", o sistema às vezes retorna zero resultados mesmo sabendo que existe publicação. A causa é um bug de indexação que remove caracteres acentuados do índice mas não do conteúdo buscado. A workarround é usar "licitacao" sem acento, ou buscar por número de processo ao invés de termo genérico. Eu parei de confiar no campo de busca textual e sempre filtro por data_range + palavra-chave não acentuada.
Download programático com API
Se você precisa automatizar, a API retorna estrutura assim:
{
"edicoes": [
{
"numero": "245",
"data": "2024-03-15",
"pdf_url": "https://www.campogrande.ms.gov.br/diario/2024/03/245.pdf"
}
]
}
O tempo de resposta é cerca de 200ms para consultas pequenas, mas aumenta linearmente com o número de documentos retornados. Uma consulta por "todas as editais de 2024" pode levar 15 segundos e timeout em servidores lentos. A limitação prática é que a API não paginación — você recebe tudo ou nada. Para contornar isso, eu uso paginação manual por mês e faço requisições em paralelo com delay de 500ms entre cada para não sobrecarregar o servidor.
Quandoele falha completamente
O sistema não funciona bem em três cenários específicos. Primeiro, edições de feriados prolongados às vezes não são publicadas no mesmo dia — o prazo legal é até o terceiro dia útil seguinte, mas o sistema às vezes publica com 48h de atraso e não sincroniza corretamente. Segundo, documentos com mais de 50MB às vezes não ficam disponíveis para download via link direto, mas aparecem na listagem. A workaround é acessar via terminal SSH no servidor de hospedagem e baixar diretamente do path físico. Terceiro, a pesquisa por nome de servidor não reconhece abreviações — "SEMUSA" não retorna resultados, precisa digitar "Secretaria Municipal de Saúde". Se o sistema falhar, uma alternativa é usar o repositório XML em https://www.campogrande.ms.gov.br/diario/xml/ — os dados estão estruturados e são mais fáceis de parsear do que PDFs. Mas atenção: o XML às vezes não inclui imagens de selos oficiais, apenas texto. Para fins jurídicos, sempre verifique se o documento tem assinatura digital válida antes de confiar no conteúdo.
O problema que eu enfrentei pessoalmente
Em março de 2024, precisei de uma publicação específica de licitação pública que aparecia na edição 189, mas o link do PDF retornava erro 404. O servidor de publicação tinha trocado de caminho sem avisar. A solução foi rastrear pelo arquivo XML em /diario/xml/2024/03/189.xml, extrair o hash do documento e comparar com o que estava disponível no portal secundário. O tempo gasto foi cerca de 40 minutos, mas aprendi que nunca devo confiar apenas no link do PDF — sempre manter o XML de backup. O que ninguém te conta é que o diario oficial campo grande tem dois repositórios que não estão sincronizados perfeitamente. O principal é o portal web, o secundário é o arquivo XML. Às vezes uma publicação aparece no XML mas não no portal, ou vice-versa. A regra prática que eu adotei é consultar sempre pelo XML primeiro, depois confirmar no portal. Isso já me salvou de usar documentos desatualizados em processos jurídicos.
O download em lote por API é viável para 20-30 documentos, mas acima disso o servidor timeout e a consistência cai. A limitação prática é que não existe rate limiting documentado, então você pode ser bloqueado se fizer muitas requisições seguidas. Para contornar, eu uso delays aleatórios de 1-3 segundos entre cada chamada, o que aumenta o tempo total mas evita o bloqueio.