API Pública meuslinks
Use esta API para integrar seus sistemas ao meuslinks. Os exemplos utilizam JSON e seguem o padrão REST. Todos os endpoints começam em /api.
Autenticação
Há duas formas principais de autenticação:
JWT (login web / app)
As rotas protegidas usam JWT Bearer no cabeçalho Authorization:
Authorization: Bearer <seu_token>
Obtenha o token através do login:
| Metodo | Rota | Descrição |
|---|---|---|
POST | /api/auth/login | Autentica usuário e retorna token JWT. |
POST | /api/auth/register | Cria um novo usuário. |
Tokens de API (Plano Profissional)
Para integrações servidor‑a‑servidor (ex.: n8n, ERP), use um token de API gerado em Minha Conta → API (disponível apenas no plano Profissional).
Use o cabeçalho:
Authorization: ApiKey ml_api_xxx...
Com token de API, as mesmas permissões do usuário são aplicadas (links, categorias, dashboard etc.), mas não é necessário login via navegador.
Usuário autenticado
| Metodo | Rota | Descrição |
|---|---|---|
GET | /api/user/profile | Retorna dados do usuário logado. |
PUT | /api/user/profile | Atualiza perfil (nome, email, senha, página). |
GET | /api/user/settings | Busca configurações (notificações, tema, aba padrão). |
PUT | /api/user/settings | Salva configurações do usuário. |
DELETE | /api/user/account | Exclui definitivamente a conta. |
GET | /api/user/dashboard | Resumo de estatísticas de cliques e visitas. |
Categorias
| Metodo | Rota | Descrição |
|---|---|---|
GET | /api/categories | Lista categorias do usuário. |
POST | /api/categories | Cria nova categoria. |
PUT | /api/categories/{id} | Atualiza nome da categoria. |
DELETE | /api/categories/{id} | Remove categoria e links associados. |
Links
| Metodo | Rota | Descrição |
|---|---|---|
GET | /api/links | Lista links do usuário, com filtros por categoria e paginação. |
POST | /api/links | Cria link (categoria, título, URL, descrição, público/privado). |
PUT | /api/links/{id} | Atualiza um link existente. |
DELETE | /api/links/{id} | Marca link como inativo (remoção lógica). |
Observações importantes:
- Planos podem restringir links privados ou públicos (o backend força o valor permitido).
- As URLs são validadas e checadas quanto a acessibilidade e segurança (evita IPs privados).
- A descrição é obrigatória e limitada a 120 caracteres.
Rotas públicas
| Metodo | Rota | Descrição |
|---|---|---|
GET | /api/user/public-page/{slug} | Retorna dados públicos da página de um usuário (links, bio, tema). |
GET | /api/links/public/search | Busca links públicos por título/descrição. |
GET | /api/public/pages | Lista páginas públicas ativas, com paginação. |
GET | /api/public/plans | Retorna preços e períodos dos planos. |
POST | /api/contact | Envia mensagem de contato para o admin. |
GET | /r/{id} | Redireciona para a URL de um link público encurtado e registra clique. |
Pagamentos (Mercado Pago)
| Metodo | Rota | Descrição |
|---|---|---|
POST | /api/payments/mp/preference | Cria preferência de pagamento para o plano selecionado (autenticado). |
POST / GET | /api/payments/mp/webhook | Webhook para notificações do Mercado Pago. |
Erros e respostas
As respostas seguem o padrão abaixo:
200/201– sucesso, corpo em JSON com dados ou mensagem.400– requisição inválida (campos obrigatórios, formatos incorretos).401/403– falta de autenticação ou permissão.404– recurso não encontrado.500– erro interno; mensagem genérica e, às vezes, detalhe resumido.