Radar DOU
Central de Ajuda/API e Desenvolvedores/Primeiros passos com a API
Voltar para API e Desenvolvedores
API e Desenvolvedores

Primeiros passos com a API

12 min de leitura

A API REST do Radar DOU permite integrar o monitoramento do Diário Oficial em seus próprios sistemas, automatizar processos e criar soluções personalizadas.

O que é a API do Radar DOU?

Nossa API RESTful oferece acesso programático a todas as funcionalidades do sistema:

  • Buscar publicações com filtros avançados
  • Gerenciar alertas automaticamente
  • Criar e consultar favoritos
  • Acessar coleções de documentos
  • Receber webhooks em tempo real
  • Exportar dados em múltiplos formatos

Casos de Uso

A API é ideal para:

  • Intranets corporativas: Exiba publicações relevantes no sistema interno
  • Sistemas jurídicos: Integre com software de gestão de escritórios
  • Dashboards personalizados: Crie visualizações customizadas
  • Automação: Processos automáticos com publicações do DOU
  • Análise de dados: Extraia e analise grandes volumes
  • Notificações: Sistemas próprios de alertas

Antes de Começar

Você precisa:

  • Uma conta ativa no Radar DOU
  • Conhecimentos básicos de HTTP/REST
  • Familiaridade com JSON
  • Ambiente de desenvolvimento configurado

Obtendo sua API Key

Passo 1: Acessar o Painel de API

  1. Faça login no Radar DOU
  2. Vá para MenuChaves de API
  3. Ou acesse diretamente: /api-keys

Passo 2: Criar Nova Chave

  1. Clique em "Criar Nova Chave"
  2. Dê um nome descritivo (ex: "Integração Intranet")
  3. Selecione as permissões necessárias
  4. Clique em "Gerar Chave"

⚠️ Importante: Copie e guarde sua chave imediatamente. Ela só será exibida uma vez. Trate-a como uma senha!

URL Base da API

https://api.radardou.com.br/v1

Todas as requisições devem usar esta URL base como prefixo.

Autenticação

Todas as requisições devem incluir sua API Key no header:

Authorization: Bearer SUA_API_KEY_AQUI

Primeira Requisição

Exemplo com cURL

curl -X GET "https://api.radardou.com.br/v1/publications?limit=10" \
  -H "Authorization: Bearer SUA_API_KEY_AQUI" \
  -H "Content-Type: application/json"

Exemplo com JavaScript (Node.js)

const fetch = require('node-fetch');

const API_KEY = 'SUA_API_KEY_AQUI';
const BASE_URL = 'https://api.radardou.com.br/v1';

async function getPublications() {
  const response = await fetch(`${BASE_URL}/publications?limit=10`, {
    headers: {
      'Authorization': `Bearer ${API_KEY}`,
      'Content-Type': 'application/json'
    }
  });
  
  const data = await response.json();
  console.log(data);
}

getPublications();

Exemplo com Python

import requests

API_KEY = 'SUA_API_KEY_AQUI'
BASE_URL = 'https://api.radardou.com.br/v1'

headers = {
    'Authorization': f'Bearer {API_KEY}',
    'Content-Type': 'application/json'
}

response = requests.get(f'{BASE_URL}/publications?limit=10', headers=headers)
data = response.json()

print(data)

Estrutura da Resposta

Todas as respostas seguem este formato JSON:

{
  "success": true,
  "data": {
    "publications": [...],
    "pagination": {
      "page": 1,
      "limit": 10,
      "total": 1000,
      "totalPages": 100
    }
  }
}

Principais Endpoints

1. Listar Publicações

GET /publications

Busca publicações com filtros opcionais

Parâmetros:

  • q - Palavra-chave
  • secao - Seção do DOU (1, 2, 3, extra)
  • tipo_ato - Tipo de ato
  • orgao - Órgão emissor
  • data_inicio - Data inicial (YYYY-MM-DD)
  • data_fim - Data final (YYYY-MM-DD)
  • page - Página (padrão: 1)
  • limit - Resultados por página (padrão: 20)

2. Detalhes de uma Publicação

GET /publications/:id

Retorna detalhes completos de uma publicação específica

3. Criar Alerta

POST /alerts

Cria um novo alerta personalizado

Body (JSON):

{
  "nome": "Meu Alerta",
  "palavras_chave": ["licitação", "tecnologia"],
  "secao": "3",
  "tipo_ato": "Aviso de Licitação",
  "frequencia": "diaria",
  "ativo": true
}

4. Listar Alertas

GET /alerts

Lista todos os seus alertas

5. Gerenciar Favoritos

POST /favorites

Adiciona uma publicação aos favoritos

Códigos de Status HTTP

  • 200 OK - Requisição bem-sucedida
  • 201 Created - Recurso criado com sucesso
  • 400 Bad Request - Parâmetros inválidos
  • 401 Unauthorized - API Key inválida ou ausente
  • 403 Forbidden - Sem permissão para o recurso
  • 404 Not Found - Recurso não encontrado
  • 429 Too Many Requests - Rate limit excedido
  • 500 Internal Server Error - Erro no servidor

Rate Limits

Limites de requisições por plano:

  • Gratuito / Trial (7 dias): 1.000 req/hora
  • Plano Profissional: 5.000 req/dia
  • Plano Premium: 10.000 req/dia
  • Plano Empresarial: 100.000 req/dia

Headers de resposta incluem informações sobre seu limite:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 985
X-RateLimit-Reset: 1640000000

Tratamento de Erros

Sempre verifique o status HTTP e trate erros apropriadamente:

try {
  const response = await fetch(url, options);
  
  if (!response.ok) {
    const error = await response.json();
    throw new Error(`API Error: ${error.message}`);
  }
  
  const data = await response.json();
  return data;
  
} catch (error) {
  console.error('Erro na requisição:', error);
  // Implemente retry ou fallback
}

Melhores Práticas

  • Nunca exponha sua API Key: Mantenha no backend, use variáveis de ambiente
  • Implemente cache: Evite requisições repetidas desnecessárias
  • Use paginação: Não tente buscar todos os dados de uma vez
  • Respeite rate limits: Implemente backoff exponencial
  • Valide dados: Sempre valide parâmetros antes de enviar
  • Log de erros: Mantenha registro de falhas para debugging
  • Teste em ambiente de desenvolvimento: Use dados de teste primeiro

Recursos Adicionais

  • Documentação completa: /api-docs
  • Exemplos de código: /exemplos-uso
  • SDKs oficiais: JavaScript, Python, PHP (em breve)
  • Postman Collection: Baixe e importe para testes

Próximos Passos

  1. Explore todos os endpoints na documentação completa
  2. Teste com Postman ou Insomnia
  3. Implemente tratamento de erros robusto
  4. Configure webhooks para notificações em tempo real
  5. Considere usar nossos SDKs oficiais para facilitar

💡 Dica: Comece com requisições simples e aumente a complexidade gradualmente. Use o Postman para testar endpoints antes de implementar em produção.

Ainda tem dúvidas?

Converse com nosso assistente virtual especializado para obter ajuda personalizada sobre qualquer funcionalidade.

Abrir Assistente