v1.0REST API

Documentação da API

Integre o eh.vc com seus sistemas e automatize o gerenciamento de links encurtados.

Introdução

A API do eh.vc permite que você crie, gerencie e analise links encurtados de forma programática. Com ela, você pode integrar o poder do eh.vc diretamente em suas aplicações, sistemas de marketing e fluxos de automação.

Acesso Restrito

O acesso à API está disponível apenas para usuários dos planos Pro e Enterprise.Veja os planos.

URL Base

https://eh.vc/api

Formato das Respostas

Todas as respostas da API são retornadas em formato JSON. Respostas de sucesso incluem um camposuccess: truee os dados no campo data.

{
  "success": true,
  "data": {
    // Dados da resposta
  }
}

Autenticação

A API utiliza chaves de API (API Keys) para autenticação. Você pode criar e gerenciar suas chaves no painel de configurações da sua conta.

Gerando uma API Key

  1. Acesse Configurações > API no seu painel
  2. Clique em "Criar Nova Chave"
  3. Dê um nome descritivo para a chave
  4. Copie e guarde a chave em local seguro (ela só será exibida uma vez)

Usando a API Key

Inclua sua API Key no header Authorization de todas as requisições:

curl -X GET "https://eh.vc/api/links" \
  -H "Authorization: Bearer ehvc_sua_api_key_aqui" \
  -H "Content-Type: application/json"

Segurança

Nunca compartilhe sua API Key ou a inclua em código do lado do cliente (frontend). Se suspeitar que sua chave foi comprometida, revogue-a imediatamente.

Endpoints de Estatísticas

GET/api/analytics

Obtém estatísticas agregadas dos seus links.

Parâmetros de Query

ParâmetroTipoPadrãoDescrição
periodstring7dPeríodo: 7d, 30d, 90d, all
linkIdstring-ID do link (opcional, filtra por link)

Exemplo de Requisição

curl -X GET "https://eh.vc/api/analytics?period=30d" \
  -H "Authorization: Bearer ehvc_sua_api_key"

Exemplo de Resposta

{
  "success": true,
  "data": {
    "overview": {
      "totalLinks": 25,
      "activeLinks": 20,
      "totalClicks": 1500,
      "uniqueClicks": 1200,
      "avgClicksPerLink": 60
    },
    "charts": {
      "clicksByDay": [
        { "date": "2026-02-01", "clicks": 50 },
        { "date": "2026-02-02", "clicks": 75 }
      ],
      "clicksByCountry": [
        { "name": "Brazil", "value": 1200 },
        { "name": "Portugal", "value": 150 }
      ],
      "clicksByDevice": [
        { "name": "mobile", "value": 900 },
        { "name": "desktop", "value": 500 }
      ],
      "clicksByBrowser": [
        { "name": "Chrome", "value": 800 },
        { "name": "Safari", "value": 400 }
      ]
    },
    "topLinks": [
      {
        "id": "abc123",
        "shortCode": "campanha",
        "title": "Campanha Principal",
        "clickCount": 500
      }
    ],
    "meta": {
      "period": "30d",
      "startDate": "2026-01-16T00:00:00.000Z",
      "endDate": "2026-02-15T23:59:59.000Z"
    }
  }
}

Limites de Taxa

Para garantir a estabilidade do serviço, aplicamos limites de taxa nas requisições da API.

PlanoRequisições/minutoRequisições/dia
Pro10010.000
Enterprise500Ilimitado

Cabeçalhos de Limite de Taxa

Cada resposta inclui cabeçalhos indicando seu uso atual:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1708012800

Limite Excedido

Quando o limite é excedido, a API retorna status 429 Too Many Requests. Aguarde até o próximo período para continuar.

Códigos de Erro

A API utiliza códigos HTTP padrão para indicar o sucesso ou falha das requisições.

CódigoSignificadoDescrição
200OKRequisição bem-sucedida
201CreatedRecurso criado com sucesso
400Bad RequestParâmetros inválidos ou ausentes
401UnauthorizedAPI Key inválida ou ausente
403ForbiddenSem permissão para o recurso ou plano insuficiente
404Not FoundRecurso não encontrado
409ConflictConflito (ex: código já em uso)
429Too Many RequestsLimite de requisições excedido
500Internal ErrorErro interno do servidor

Formato de Erro

Respostas de erro incluem uma mensagem descritiva:

{
  "success": false,
  "error": "Autenticação necessária"
}

Precisa de Ajuda?

Nossa equipe está disponível para ajudar com integração e dúvidas técnicas.