{
  "nome": "Scraper API",
  "versao": "1.0.0",
  "timezone": "America/Sao_Paulo",
  "metricas_retorno": {
    "proxy_host": "Somente o host do último endpoint de proxy selecionado, após banda_mb nas coletas. null em conexão direta, cache/coalescing ou sem proxy selecionada. Em rotativas identifica o gateway, não o IP público de saída."
  },
  "marketplaces_disponiveis": [
    "amazon",
    "mercadolivre",
    "magalu",
    "natura",
    "boticario",
    "avon",
    "nike",
    "centauro",
    "eudora",
    "polishop",
    "mizuno",
    "cea",
    "vivara",
    "puma",
    "kabum",
    "carrefour"
  ],
  "autenticacao": {
    "header": "Authorization: Bearer <API_BEARER_TOKEN>",
    "obrigatoria": false,
    "escopo": "Todas as rotas, incluindo documentação, health, status e cache",
    "desativar": "API_IGNORE_BEARER=true"
  },
  "rotas": {
    "mercadolivre": {
      "GET /mercadolivre/buscar": {
        "parametros": {
          "termo": "string (obrigatório)",
          "pagina": "inteiro (1-20, padrão 1)"
        },
        "exemplo": "/mercadolivre/buscar?termo=notebook&pagina=1"
      },
      "GET /mercadolivre/produto": {
        "parametros": {
          "url": "URL completa do produto (obrigatório)"
        }
      }
    },
    "magalu": {
      "GET /magalu/buscar": {
        "parametros": {
          "termo": "string (obrigatório)",
          "pagina": "inteiro (1-20, padrão 1)"
        },
        "exemplo": "/magalu/buscar?termo=notebook&pagina=1"
      },
      "GET /magalu/produto": {
        "parametros": {
          "url": "URL completa do produto (obrigatório)"
        }
      }
    },
    "natura": {
      "GET /natura/consultoria": {
        "parametros": {
          "consultoria": "Identificador obrigatório, ex.: gabrielaelorde"
        },
        "exemplo": "/natura/consultoria?consultoria=gabrielaelorde",
        "retorno": "sucesso=true: existe e valida são booleanos; valida verifica loja ativa e atividade para a marca. Bloqueio/timeout: HTTP 502, sucesso=false, existe=null, valida=null. HTTP 400 para entrada inválida.",
        "observacao": "Consulta via navegador em ambos os modos; cache por plataforma e identificador, métricas tempo_segundos e banda_mb, mesmo Bearer das demais rotas."
      },
      "GET /natura/buscar": {
        "parametros": {
          "termo": "string (obrigatório)",
          "pagina": "inteiro (1-20, padrão 1)",
          "consultoria": "string opcional, ex.: gabrielaelorde. Usa Minha Loja com a marca da rota; omitir mantém a loja original. A URL retornada sempre é da marca, sem consultoria e marca."
        },
        "exemplo": "/natura/buscar?termo=presente&pagina=1",
        "campos": [
          "id",
          "titulo",
          "url",
          "imagem",
          "preco",
          "preco_de",
          "parcelamento",
          "avaliacao",
          "num_avaliacoes"
        ],
        "observacao": "Parcelamento sem o prefixo ou; dados indisponíveis retornam null. Falhas ao complementar um produto aparecem em erro_detalhes."
      },
      "GET /natura/produto": {
        "parametros": {
          "url": "URL completa do produto (obrigatório). Aceita domínio da marca ou [www.]minhaloja.natura.com; sem consultoria, normaliza para o domínio da marca e remove consultoria/marca da URL.",
          "consultoria": "string opcional, ex.: gabrielaelorde. Também aceito em /detalhes; navega com consultoria e marca; retorna URL oficial sem esses dois parâmetros."
        }
      },
      "GET /natura/detalhes": "Alias de /natura/produto; recebe o parâmetro url"
    },
    "boticario": {
      "GET /boticario/buscar": {
        "parametros": {
          "termo": "string (obrigatório)",
          "pagina": "inteiro (1-20, padrão 1)"
        },
        "exemplo": "/boticario/buscar?termo=notebook&pagina=1"
      },
      "GET /boticario/produto": {
        "parametros": {
          "url": "URL completa do produto (obrigatório)"
        }
      },
      "GET /boticario/detalhes": "Alias de /boticario/produto; recebe url. Preços numéricos; imagem, parcelamento sem ou, avaliacao e num_avaliacoes quando disponíveis."
    },
    "avon": {
      "GET /avon/consultoria": {
        "parametros": {
          "consultoria": "Identificador obrigatório, ex.: gabrielaelorde"
        },
        "exemplo": "/avon/consultoria?consultoria=gabrielaelorde",
        "retorno": "sucesso=true: existe e valida são booleanos; valida verifica loja ativa e atividade para a marca. Bloqueio/timeout: HTTP 502, sucesso=false, existe=null, valida=null. HTTP 400 para entrada inválida.",
        "observacao": "Consulta via navegador em ambos os modos; cache por plataforma e identificador, métricas tempo_segundos e banda_mb, mesmo Bearer das demais rotas."
      },
      "GET /avon/buscar": {
        "parametros": {
          "termo": "string (obrigatório)",
          "pagina": "inteiro (1-20, padrão 1)",
          "consultoria": "string opcional, ex.: gabrielaelorde. Usa Minha Loja com a marca da rota; omitir mantém a loja original. A URL retornada sempre é da marca, sem consultoria e marca."
        },
        "exemplo": "/avon/buscar?termo=notebook&pagina=1"
      },
      "GET /avon/produto": {
        "parametros": {
          "url": "URL completa do produto (obrigatório). Aceita domínio da marca ou [www.]minhaloja.natura.com; sem consultoria, normaliza para o domínio da marca e remove consultoria/marca da URL.",
          "consultoria": "string opcional, ex.: gabrielaelorde. Também aceito em /detalhes; navega com consultoria e marca; retorna URL oficial sem esses dois parâmetros."
        }
      },
      "GET /avon/detalhes": "Alias de /avon/produto. Preços numéricos, imagens, parcelamento sem ou e avaliações. Faixas por cor usam o menor preço; preco_de só representa preço original."
    },
    "nike": {
      "GET /nike/buscar": {
        "parametros": {
          "termo": "string (obrigatório)",
          "pagina": "inteiro (1-20, padrão 1)"
        },
        "exemplo": "/nike/buscar?termo=notebook&pagina=1"
      },
      "GET /nike/produto": {
        "parametros": {
          "url": "URL completa do produto (obrigatório)"
        }
      },
      "GET /nike/detalhes": "Alias de /nike/produto. Preserve cor na URL. Preços numéricos, preco no Pix, parcelamento sem ou e avaliações quando disponíveis."
    },
    "centauro": {
      "GET /centauro/buscar": {
        "parametros": {
          "termo": "string (obrigatório)",
          "pagina": "inteiro (1-20, padrão 1)"
        },
        "exemplo": "/centauro/buscar?termo=notebook&pagina=1"
      },
      "GET /centauro/produto": {
        "parametros": {
          "url": "URL completa do produto (obrigatório)"
        }
      },
      "GET /centauro/detalhes": "Alias de /centauro/produto. Extração real pendente de validação: origem retornou 403."
    },
    "eudora": {
      "GET /eudora/buscar": {
        "parametros": {
          "termo": "string (obrigatório)",
          "pagina": "inteiro (1-20, padrão 1)"
        },
        "exemplo": "/eudora/buscar?termo=notebook&pagina=1"
      },
      "GET /eudora/produto": {
        "parametros": {
          "url": "URL completa do produto (obrigatório)"
        }
      },
      "GET /eudora/detalhes": "Alias de /eudora/produto. Preços numéricos, imagem, parcelamento sem ou, avaliacao e num_avaliacoes quando disponíveis."
    },
    "polishop": {
      "GET /polishop/buscar": {
        "parametros": {
          "termo": "string (obrigatório)",
          "pagina": "inteiro (1-20, padrão 1)"
        },
        "exemplo": "/polishop/buscar?termo=notebook&pagina=1"
      },
      "GET /polishop/produto": {
        "parametros": {
          "url": "URL completa do produto (obrigatório)"
        }
      }
    },
    "mizuno": {
      "GET /mizuno/buscar": {
        "parametros": {
          "termo": "string (obrigatório)",
          "pagina": "inteiro (1-20, padrão 1)"
        },
        "exemplo": "/mizuno/buscar?termo=notebook&pagina=1"
      },
      "GET /mizuno/produto": {
        "parametros": {
          "url": "URL completa do produto (obrigatório)"
        }
      }
    },
    "cea": {
      "GET /cea/buscar": {
        "parametros": {
          "termo": "string (obrigatório)",
          "pagina": "inteiro (1-20, padrão 1)"
        },
        "exemplo": "/cea/buscar?termo=notebook&pagina=1"
      },
      "GET /cea/produto": {
        "parametros": {
          "url": "URL completa do produto (obrigatório)"
        }
      }
    },
    "vivara": {
      "GET /vivara/buscar": {
        "parametros": {
          "termo": "string (obrigatório)",
          "pagina": "inteiro (1-20, padrão 1)"
        },
        "exemplo": "/vivara/buscar?termo=notebook&pagina=1"
      },
      "GET /vivara/produto": {
        "parametros": {
          "url": "URL completa do produto (obrigatório)"
        }
      }
    },
    "puma": {
      "GET /puma/buscar": {
        "parametros": {
          "termo": "string (obrigatório)",
          "pagina": "inteiro (1-20, padrão 1)"
        },
        "exemplo": "/puma/buscar?termo=notebook&pagina=1"
      },
      "GET /puma/produto": {
        "parametros": {
          "url": "URL completa do produto (obrigatório)"
        }
      }
    },
    "kabum": {
      "GET /kabum/buscar": {
        "parametros": {
          "termo": "string (obrigatório)",
          "pagina": "inteiro (1-20, padrão 1)"
        },
        "exemplo": "/kabum/buscar?termo=notebook&pagina=1"
      },
      "GET /kabum/produto": {
        "parametros": {
          "url": "URL completa do produto (obrigatório)"
        }
      }
    },
    "carrefour": {
      "GET /carrefour/buscar": {
        "parametros": {
          "termo": "string (obrigatório)",
          "pagina": "inteiro (1-20, padrão 1)"
        },
        "exemplo": "/carrefour/buscar?termo=notebook&pagina=1"
      },
      "GET /carrefour/produto": {
        "parametros": {
          "url": "URL completa do produto (obrigatório)"
        }
      }
    },
    "amazon": {
      "GET /amazon/buscar": {
        "parametros": {
          "termo": "string (obrigatório)",
          "pagina": "number (1-20, padrão 1)",
          "ignorar_livros": "boolean (1/true/sim, padrão false) — remove livros do resultado"
        },
        "exemplo": "/amazon/buscar?termo=python&pagina=1&ignorar_livros=1"
      },
      "GET /amazon/produto": {
        "parametros": {
          "url": "URL completa do produto"
        },
        "exemplo": "/amazon/produto?url=https://www.amazon.com.br/dp/B0DJFRYWK8"
      }
    },
    "comum": {
      "GET /health": "Health check",
      "GET /status": "Status do serviço",
      "GET /cache": "Estatísticas do cache",
      "DELETE /cache": "Limpa todo o cache"
    }
  },
  "cache_ttl_segundos": 300,
  "proxy_host": null
}