@afilimax/amazon-browser-provider
v0.1.0
Published
Provedor de afiliação via navegador para links da Amazon. Feito por Afilimax.
Maintainers
Readme
@afilimax/amazon-browser-provider
Este pacote é um provedor de afiliação para o ecossistema Afilimax, implementando a interface AffiliateProvider do pacote @afilimax/core. Ele é especializado em gerar links de afiliados da Amazon através de automação de navegador (Puppeteer).
Diferente de abordagens baseadas apenas em manipulação de strings, este provedor utiliza o Amazon SiteStripe real para gerar links curtos (amzn.to), garantindo que o link seja oficial e rastreável.
🚀 Principais Recursos
- 🤖 Automação com Puppeteer: Navega como um usuário real para interagir com o SiteStripe.
- 🔗 Links amzn.to: Gera links curtos oficiais da Amazon.
- 🛡️ Stealth Mode: Utiliza
puppeteer-extra-plugin-stealthpara evitar detecção de bots. - 🧩 Resolução de Captcha: Integração nativa para lidar com captchas da Amazon.
- 🍪 Gestão de Sessão: Suporte a cookies para manter-se logado na conta de associado.
- 🇧🇷 Focado no Brasil: Otimizado para
amazon.com.br.
📦 Instalação
npm install @afilimax/amazon-browser-provider @afilimax/corePeer Dependencies
Este pacote requer que o @afilimax/core esteja instalado em seu projeto:
npm install @afilimax/core🛠️ Como Usar
Para que o provedor consiga gerar o link através do SiteStripe, você precisa fornecer cookies de uma sessão válida (logada) na Amazon Associates.
import { AmazonBrowserProvider } from "@afilimax/amazon-browser-provider";
const provider = new AmazonBrowserProvider({
cookies: [
// Seus cookies da Amazon aqui
{ name: "session-id", value: "...", domain: ".amazon.com.br" },
// ...
],
puppeteer: {
headless: true, // Defina como false para debugar visualmente
}
});
const productUrl = "https://www.amazon.com.br/dp/B07TV9B7Z3";
async function generate() {
try {
const affiliateUrl = await provider.createAffiliateUrl(productUrl);
console.log("Link de Afiliado:", affiliateUrl); // Ex: https://amzn.to/3xyzABC
} catch (error) {
console.error("Erro ao gerar link:", error);
}
}
generate();Uso com Tag Direta (Sem Browser)
Se você não precisar de um link curto (amzn.to) e quiser apenas injetar sua tag de associado na URL, pode usar o método síncrono:
const simpleUrl = provider.createAffiliateUrlWithTag(productUrl, "minhatag-20");
console.log(simpleUrl);
// Saída: https://www.amazon.com.br/dp/B07TV9B7Z3?tag=minhatag-20⚙️ Configurações (AmazonBrowserProviderOptions)
| Opção | Tipo | Descrição |
|-------|------|-----------|
| cookies | any[] | Obrigatório. Lista de cookies para autenticação no Amazon Associates. |
| puppeteer | LaunchOptions | Configurações opcionais para o lançamento do Puppeteer. |
🔍 Domínios Suportados
O provedor identifica e processa automaticamente URLs dos seguintes domínios:
amazon.com.bra.coamzn.to(para expansão/tracking)
🏗️ Arquitetura e Contrato
Este provedor segue rigorosamente o contrato definido em affiliate-provider.interface.ts do @afilimax/core. Ele estende a classe base abstrata AffiliateProvider, garantindo compatibilidade com o AffiliateManager para uso em cadeias de provedores.
🧪 Desenvolvimento
Para rodar os testes:
npm testPara gerar a build:
npm run buildFeito com ❤️ por Afilimax.
