# 🔗 Amazon Affiliate - Versão 0.1
## Configuração e Uso Completo

> **📌 Esta é a documentação oficial e única do módulo Amazon Affiliate**
> 
> Funcionalidade: Gera links de afiliados e textos formatados para produtos da Amazon usando a **API oficial PA-API 5.0**

---

## 📋 Requisitos

Antes de usar o módulo Amazon Affiliate, você precisa ter:

1. ✅ **Access Key** (Amazon PA-API 5.0)
2. ✅ **Secret Key** (Amazon PA-API 5.0)
3. ✅ **Store ID / Partner Tag** (Amazon Associates)
4. ✅ Conta aprovada no **Amazon Associates**

---

## ⚙️ Configuração das Credenciais

### 🎯 Sistema Dinâmico de Credenciais

**Novidade!** As credenciais agora são gerenciadas através da interface administrativa, permitindo fácil atualização sem editar arquivos!

### 🔑 Opção 1: Configurar via Interface (RECOMENDADO ✅)

1. Acesse: `http://seu-dominio.com/admin/settings/affiliates`
2. Preencha os campos:
   - **Access Key**: Sua Access Key da Amazon PA-API 5.0
   - **Secret Key**: Sua Secret Key da Amazon PA-API 5.0
   - **Partner Tag**: Seu Store ID (ex: meublog-20)
   - **Host**: webservices.amazon.com.br (Brasil) ou webservices.amazon.com (EUA)
   - **Região**: us-east-1 (sempre este valor)
3. Clique em **Salvar**
4. Pronto! As credenciais estão configuradas

**Vantagens:**
- ✅ Altere as credenciais sem editar código
- ✅ Gerenciamento visual e intuitivo
- ✅ Preparado para Mercado Livre e Shopee no futuro
- ✅ Histórico de alterações

### 🔑 Opção 2: Configurar via arquivo `.env` (Fallback)

Você ainda pode usar o arquivo `.env` como backup. O sistema usa esta prioridade:
1. **Primeiro**: Busca no banco de dados (configurações)
2. **Segundo**: Se não encontrar, usa o `.env`

Adicione no arquivo `.env`:

```env
# =========================================
# Amazon PA-API 5.0 Configurações
# =========================================

# Access Key da Amazon PA-API
AMAZON_ACCESS_KEY=sua_access_key_aqui

# Secret Key da Amazon PA-API
AMAZON_SECRET_KEY=sua_secret_key_aqui

# Store ID / Partner Tag (Tracking ID)
AMAZON_PARTNER_TAG=seu-storeid-20

# Host da API (Brasil ou EUA)
AMAZON_HOST=webservices.amazon.com.br

# Região AWS
AMAZON_REGION=us-east-1
```

---

## 🌍 Configuração Regional

### Para o Brasil (Amazon.com.br):
```env
AMAZON_HOST=webservices.amazon.com.br
AMAZON_REGION=us-east-1
```

### Para os EUA (Amazon.com):
```env
AMAZON_HOST=webservices.amazon.com
AMAZON_REGION=us-east-1
```

### Outros Países:
- **Canadá**: webservices.amazon.ca
- **México**: webservices.amazon.com.mx
- **Reino Unido**: webservices.amazon.co.uk
- **Alemanha**: webservices.amazon.de
- **França**: webservices.amazon.fr
- **Itália**: webservices.amazon.it
- **Espanha**: webservices.amazon.es
- **Japão**: webservices.amazon.co.jp
- **Índia**: webservices.amazon.in
- **China**: webservices.amazon.cn
- **Singapura**: webservices.amazon.com.sg
- **Emirados Árabes**: webservices.amazon.ae
- **Turquia**: webservices.amazon.com.tr
- **Austrália**: webservices.amazon.com.au

---

## 🚀 Como Usar

### 1. Acesse a ferramenta:
```
http://seu-dominio.com/admin/amazon-affiliate
```

### 2. Cole a URL do produto:
Aceita URLs normais e curtas!

**Exemplo URL Normal:**
```
https://www.amazon.com.br/Notebook-Acer-Nitro/dp/B0D9WN8FY6/
```

**Exemplo URL Curta:**
```
https://amzn.to/4qaiZZ6
```

### 3. Clique em "Buscar"

### 4. Resultado:
- ✅ Imagem do produto exibida
- ✅ Texto formatado com:
  - Nome do produto
  - Preço DE/POR (se disponível)
  - Cupom (se disponível)
  - Link de afiliados (com seu Store ID)

### 5. Baixe a imagem! 📥
Clique no botão "📥 Baixar Imagem" e ela será salva na sua pasta **Downloads**

### 6. Edite e adicione emojis! 🎉
O textarea é editável, você pode:
- Adicionar emojis: 🔥 ⚡ 💥 🎮 💻
- Editar o texto
- Personalizar a mensagem

### 7. Copie com um clique!
Clique no botão "📋 Copiar Texto" e cole onde quiser!

---

## 📁 Estrutura de Arquivos

```
📦 Amazon Affiliate Module
 ┣ 📂 app/
 ┃ ┣ 📂 Http/Controllers/
 ┃ ┃ ┗ 📜 AmazonAffiliateController.php
 ┃ ┗ 📂 Services/Affiliate/
 ┃   ┗ 📜 AmazonAffiliateService.php
 ┣ 📂 resources/views/
 ┃ ┗ 📂 amazon-affiliate/
 ┃   ┗ 📜 index.blade.php
 ┣ 📂 routes/
 ┃ ┗ 📜 web.php (rotas adicionadas)
 ┗ 📜 .env (credenciais)
```

**Nota**: As imagens são baixadas diretamente da Amazon para a pasta **Downloads** do seu computador.

---

## 🔧 Comandos Importantes

### Limpar cache (se necessário):
```bash
php artisan cache:clear
php artisan config:clear
php artisan view:clear
```

### Regenerar autoload do Composer (se necessário):
```bash
composer dump-autoload
```
**Nota**: Execute este comando apenas se houver erros de classe não encontrada.

---

## 🎯 Informações Disponíveis

A API da Amazon PA-API 5.0 fornece:

| Informação | Disponível | Campo |
|-----------|-----------|-------|
| Nome do Produto | ✅ | `title` |
| Preço Atual | ✅ | `price_display` |
| Preço Antigo (DE/POR) | ✅* | `old_price_display` |
| Porcentagem de Desconto | ✅* | `discount_percentage` |
| Cupons/Promoções | ✅* | `coupons` |
| Imagem do Produto | ✅ | `images.large` |
| Link de Afiliados | ✅ | `affiliate_link` |
| ASIN | ✅ | `asin` |

\* Quando disponível no produto

---

## 🔗 URLs Suportadas

O sistema aceita **3 tipos de URLs**:

1. **URLs Longas Normais:**
   - `https://www.amazon.com.br/produto/dp/B0D9WN8FY6/`
   
2. **URLs Curtas Oficiais (amzn.to):**
   - `https://amzn.to/4qaiZZ6`
   
3. **URLs Curtas Alternativas (a.co):**
   - `https://a.co/xxxxx`

O sistema **segue automaticamente** os redirecionamentos e extrai o ASIN correto!

---

## ❓ Solução de Problemas

### Erro: "Não foi possível extrair o ASIN"
- Verifique se a URL é válida da Amazon
- URLs curtas (amzn.to) são automaticamente expandidas
- Certifique-se de que a URL contém um produto válido

### Erro: "Produto não encontrado"
- Verifique suas credenciais no `.env`
- Confirme que o ASIN existe e está disponível
- Teste se suas credenciais da Amazon estão ativas

### Imagem não aparece
- Verifique se a URL da Amazon está correta
- Alguns produtos podem não ter imagem disponível na API
- Tente com outro produto

### Download da imagem não funciona
- Verifique se seu navegador está bloqueando downloads
- Tente com outro navegador
- A imagem é baixada diretamente da Amazon

---

## 🚀 Futuras Integrações

O sistema já está preparado para receber credenciais de outras plataformas de afiliados:

### 📦 Mercado Livre (em breve)
Na mesma página de configurações (`/admin/settings/affiliates`), você poderá configurar:
- Client ID
- Client Secret
- Access Token
- Refresh Token

### 🛍️ Shopee (em breve)
Na mesma página de configurações (`/admin/settings/affiliates`), você poderá configurar:
- Partner ID
- Partner Key
- Shop ID

**Nota**: Os campos já existem no sistema, apenas aguardando a implementação dos respectivos serviços!

---

## 🔒 Segurança

⚠️ **IMPORTANTE**:
- **NUNCA** commite o arquivo `.env` no Git
- Mantenha suas credenciais em segredo
- O `.env` já está no `.gitignore` por padrão
- As credenciais no banco de dados são criptografadas
- Apenas administradores têm acesso às configurações

---

## 📊 Limites da API

A Amazon PA-API 5.0 tem limites de requisições:

- **Limite de requisições por segundo**: ~1 requisição/segundo
- **Limite mensal**: Baseado nas vendas geradas
- **Requisitos**: Manter vendas regulares para manter acesso

💡 **Dica**: Implemente cache para evitar requisições repetidas do mesmo produto.

---

## 🆘 Onde Conseguir as Credenciais

### Access Key e Secret Key:
1. Acesse: https://webservices.amazon.com/paapi5/documentation/register-for-pa-api.html
2. Faça login com sua conta Amazon Associates
3. Registre-se para PA-API 5.0
4. Anote Access Key e Secret Key

### Store ID / Partner Tag:
1. Acesse: https://associados.amazon.com.br/ (ou .com para EUA)
2. Vá em **Tools** → **Link Building**
3. Seu Store ID aparecerá (exemplo: `meublog-20`)

---

## 📞 Suporte

Em caso de dúvidas sobre a API oficial da Amazon:
- Documentação: https://webservices.amazon.com/paapi5/documentation/
- Central de Ajuda: https://affiliate-program.amazon.com/help

---

## ✅ Checklist de Instalação

- [ ] Credenciais adicionadas no `.env`
- [ ] SDK da Amazon configurado no `composer.json`
- [ ] Acesso à página `/admin/amazon-affiliate` funcionando
- [ ] Testado com uma URL de produto
- [ ] Imagem sendo exibida
- [ ] Botão "Baixar Imagem" funcionando (salva na pasta Downloads)
- [ ] Texto formatado corretamente
- [ ] Botão "Copiar Texto" funcionando

---

**Versão**: 0.1  
**Data**: Outubro 2025  
**Status**: ✅ Funcional

