Skip to content

juca-soft/mercadolivre

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛒 Mercado Livre API - Afiliados

API FastAPI para gerenciar links de afiliados do Mercado Livre e resolver links encurtados.

📋 Funcionalidades

  • Criar links de afiliado - Transforma URLs de produtos em links com seu ID de afiliado
  • Resolver links encurtados - Converte links do tipo mercadolivre.com/sec/XXXXX em URLs reais de produtos
  • Health check - Endpoint para verificar status da API

🚀 Tecnologias

  • FastAPI - Framework web moderno e rápido
  • Python 3.8+
  • BeautifulSoup4 - Para parsing de HTML
  • Requests - Para requisições HTTP
  • Uvicorn - Servidor ASGI

📦 Instalação

  1. Clone o repositório:
git clone https://github.com/juca-soft/mercadolivre.git
cd mercadolivre
  1. Instale as dependências:
pip install fastapi uvicorn requests beautifulsoup4

▶️ Como usar

Execute a API:

python src/api.py

A API estará disponível em: http://localhost:8000

Acesse a documentação interativa em: http://localhost:8000/docs

📌 Endpoints

1. Criar Link de Afiliado

POST /api/v1/affiliate-link

Cria um link de afiliado do Mercado Livre.

Request Body:

{
  "affiliate_id": "jj2549408",
  "product_url": "https://www.mercadolivre.com.br/produto/MLB123456"
}

Response:

{
  "success": true,
  "affiliate_id": "jj2549408",
  "product_url": "https://www.mercadolivre.com.br/produto/MLB123456",
  "affiliate_link": {
    "url": "https://mercadolivre.com.br/...",
    "shortUrl": "https://mpago.la/..."
  }
}

2. Resolver Link Encurtado

POST /api/v1/resolve-link

Resolve um link encurtado do Mercado Livre e retorna o link real do produto.

Request Body:

{
  "link": "https://mercadolivre.com/sec/1XNeC4k"
}

Response:

{
  "success": true,
  "product_url": "https://www.mercadolivre.com.br/produto/MLB123456",
  "product_title": "Placa de Vídeo AMD Radeon..."
}

3. Health Check

GET /health

Verifica se a API está online.

Response:

{
  "status": "ok"
}

🧪 Exemplos com cURL

Criar link de afiliado:

curl -X POST "http://localhost:8000/api/v1/affiliate-link" \
  -H "Content-Type: application/json" \
  -d '{
    "affiliate_id": "seu_id_aqui",
    "product_url": "https://www.mercadolivre.com.br/produto/MLB123456"
  }'

Resolver link encurtado:

curl -X POST "http://localhost:8000/api/v1/resolve-link" \
  -H "Content-Type: application/json" \
  -d '{
    "link": "https://mercadolivre.com/sec/1XNeC4k"
  }'

🔧 Configuração

Os valores de cookie e x_csrf_token são configurados internamente no arquivo src/api.py.

Para atualizar esses valores:

  1. Acesse o site do Mercado Livre logado
  2. Abra o DevTools (F12)
  3. Vá em Network > Fetch/XHR
  4. Procure por requisições para affiliate-program/api
  5. Copie os valores de cookie e x-csrf-token dos headers
  6. Atualize as constantes DEFAULT_COOKIE e DEFAULT_CSRF_TOKEN no código

📂 Estrutura do Projeto

mercadolivre/
├── src/
│   ├── api.py          # API principal
├── test/
│   ├── req.py          # Testes de requisição
│   └── sectourl.py     # Script para resolver links
└── README.md

⚠️ Observações

  • Os tokens de autenticação (cookie e CSRF) podem expirar. Atualize-os conforme necessário.
  • O JWT no cookie é válido até Fevereiro/2026 (aproximadamente).
  • Use responsavelmente e respeite os termos de uso do Mercado Livre.

👨‍💻 Suporte

Para dúvidas ou sugestões: juca@josuejuca.com


Desenvolvido por @josuejuca

About

WS Mercado Livre

Resources

Stars

Watchers

Forks

Releases

No releases published

Contributors

Languages