Documentação Oficial · afiliado.me SDK

Comece a integrar
em minutos

O SDK do afiliado.me permite extrair dados completos de produtos de qualquer marketplace, com suas tags de afiliado injetadas automaticamente, em uma única chamada.

TypeScript Nativo
Isomórfico (Browser + Node)
HMAC SHA-256
<200ms latência

Quickstart

5 min

Instale o pacote, configure sua API Key como variável de ambiente e comece a extrair dados de produtos com uma única linha de código.

1Instale o SDK via NPM

bash
npm install @afiliado/sdk

2Inicialize e faça sua primeira chamada

index.ts
import { AfiliadoSDK } from '@afiliado/sdk';

const afiliado = new AfiliadoSDK({
  apiKey: process.env.AFILIADO_API_KEY!  // sua chave secreta
});

// Processe qualquer link de produto
const product = await afiliado.parse({
  url: 'https://www.amazon.com.br/dp/B0CHX1W1XY'
});

console.log(product.title);          // "iPhone 15 Pro Max (256 GB)"
console.log(product.price_discount); // 7499.00
console.log(product.short_url);      // "https://amzn.to/abc123"
console.log(product.image_url);      // "https://m.media-amazon.com/..."

Nunca exponha sua API Key no código client-side. Use variáveis de ambiente (process.env) e mantenha as chamadas em rotas de servidor.

Exemplos por framework

Next.js (App Router)

route.ts
// app/api/parse/route.ts  (Next.js App Router)
import { NextRequest, NextResponse } from 'next/server';
import { AfiliadoSDK } from '@afiliado/sdk';

const afiliado = new AfiliadoSDK({
  apiKey: process.env.AFILIADO_API_KEY!
});

export async function POST(req: NextRequest) {
  const { url } = await req.json();
  const product = await afiliado.parse({ url });
  return NextResponse.json(product);
}

Node.js / Express

server.js
// server.js  (Node.js / Express)
import express from 'express';
import { AfiliadoSDK } from '@afiliado/sdk';

const app = express();
const afiliado = new AfiliadoSDK({
  apiKey: process.env.AFILIADO_API_KEY
});

app.post('/parse', async (req, res) => {
  const { url } = req.body;
  const product = await afiliado.parse({ url });
  res.json(product);
});

Autenticação

O SDK usa o padrão HMAC SHA-256 para autenticar cada requisição. Sua API Key nunca trafega em texto puro no body — ela é usada para assinar um payload com timestamp, protegendo contra ataques de Replay e manipulação.

HMAC SHA-256

Assinatura criptográfica de cada request com timestamp embutido.

Web Crypto API

Usa a API nativa do browser e do Node.js. Zero dependências externas.

Anti-Replay

Janela de 30 segundos. Requests com timestamp expirado são rejeitados.

Como obter sua API Key

  1. 1Acesse seu painel em afiliado.me/dashboard
  2. 2Navegue até "Developer Hub" no menu lateral
  3. 3Clique em "Gerar Chave de Acesso"
  4. 4Copie e armazene em suas variáveis de ambiente

Referência da API

O método parse() é o coração do SDK. Ele recebe a URL bruta de um produto e devolve o objeto ParsedOffer completo e pronto para uso.

Esquema do Objeto de Retorno · ParsedOffer
CampoTipoDescrição
idstring (uuid)Identificador único da extração.
titlestringTítulo higienizado do produto.
short_urlstringLink encurtado com sua tag de afiliado injetada automaticamente.
image_urlstringURL da imagem do produto em alta resolução.
price_discountnumberPreço atual (com desconto).
price_originalnumber | nullPreço original (riscado), quando disponível.
marketplace'amazon' | 'shopee' | 'mercadolivre'Marketplace de origem do produto.
metadata.percent_discountnumberPercentual de desconto calculado.
metadata.has_discountbooleanIndica se o produto está em promoção.
metadata.codstringIdentificador nativo do produto (ASIN, MLB ID ou Item ID).
metadata.descriptionstringDescrição curta do produto, quando disponível.

Tratamento de Erros

401 Unauthorized

API Key inválida ou expirada.

429 Too Many Requests

Rate limit diário atingido. Aguarde a meia-noite (Horário de Brasília).

422 Unprocessable Entity

URL inválida ou marketplace não suportado.

500 Internal Server Error

Erro no servidor. Tente novamente em instantes.

Rate Limits

Os limites de chamadas resetam diariamente à meia-noite (horário de Brasília). O header de resposta sempre inclui o parâmetro remaining com seu saldo restante.

Hobby / Trial

50links/dia
  • Acesso ao SDK
  • 3 marketplaces
  • Sem automações
Popular

Indie

500links/dia
  • Tudo do Hobby
  • WhatsApp + Telegram
  • IA Geradora
  • 1 Webhook
Máximo

Scale

2.000links/dia
  • Tudo do Indie
  • Sem limites de API
  • Suporte prioritário
  • 10 Webhooks

Ao atingir o limite, a API retornará 429 Too Many Requests. O header X-RateLimit-Reset indica o timestamp do próximo reset.

Integrações

Configure suas credenciais de marketplace e canais de mensageria diretamente no painel em Developer Hub → Hub de Integrações. O SDK buscará as tags de afiliado automaticamente na nuvem.

Amazon Associates

Amazon.com.br

Cadastre sua Amazon Associates Tag (ex: minhaloja-20). O SDK injetará a tag em todos os links da Amazon processados.

  1. 1Acesse o portal de Associados da Amazon (associados.amazon.com.br)
  2. 2No canto superior direito, localize o ID de rastreamento
  3. 3O formato padrão é: minhaloja-20
  4. 4Cole no campo "Amazon Associates Tag" no Developer Hub

Shopee Afiliado

Open API

Obtenha sua Shopee API Key no Painel de Afiliados Shopee. Ela é usada para gerar links encurtados com sua comissão configurada.

  1. 1Acesse affiliate.shopee.com.br/open_api
  2. 2Faça login com sua conta de afiliado
  3. 3Copie a "Senha" (API Key) do painel
  4. 4Cole no campo "Shopee API Key" no Developer Hub

Mercado Livre

Link Builder

O Mercado Livre requer um Access Token (Cookie de sessão) e sua Tag de Afiliado. Siga o passo a passo abaixo:

  1. 1Acesse mercadolivre.com.br/afiliados/linkbuilder com sua conta logada
  2. 2Adicione qualquer link de produto e clique em "Gerar"
  3. 3Abra o DevTools (F12), vá na aba Network e filtre por "createLink"
  4. 4Clique na requisição, vá em Headers e copie o valor do campo "Cookie"
  5. 5Cole o Cookie no campo "Mercado Livre Access Token" no Developer Hub
  6. 6Acesse também mercadolivre.com.br/afiliados/adminlabel e copie sua Tag

O cookie de sessão do ML tem validade limitada. Renove-o periodicamente acessando novamente o Link Builder.

WhatsApp · Evolution API

Indie+

A integração com WhatsApp utiliza a Evolution API (self-hosted). Você conecta sua instância e o disparador do painel gerencia os envios automatizados para seus grupos.

URL da API

https://api.seudominio.com

Endpoint da sua instância Evolution

Nome da Instância

bot-afiliado-01

Nome configurado na Evolution

Global API Key

••••••••••••

Chave de acesso da Evolution API

Documentação Evolution API

Telegram Bot

Indie+

Crie um bot via @BotFather e conecte ao painel. O Telegram não tem risco de banimento de conta como o WhatsApp, e canais suportam membros ilimitados.

  1. 1Abra o Telegram e busque por "@BotFather"
  2. 2Envie o comando /newbot e siga as instruções
  3. 3Ao finalizar, o BotFather enviará seu "HTTP API Token"
  4. 4Cole o token no campo "Bot Token" no Developer Hub
  5. 5Adicione os IDs dos canais/grupos de destino (@meucanal ou -100123456)

Inteligência Artificial

Indie+

Conecte sua chave da Google Gemini ou OpenAI (ChatGPT) para habilitar a geração automática de copy para suas ofertas, campanhas e bots.

Google Gemini

Recomendado

Gratuito com limites generosos. Ideal para começar.

Obter API Key

OpenAI (GPT-4)

Premium

Maior qualidade de geração de texto. Requer conta paga.

Obter API Key

Webhooks

Receba eventos em tempo real sempre que um link for processado. Configure até 10 endpoints (plano Scale) para integrar com seu sistema, N8N, Make ou qualquer automação.

Hobby

1 slot

Indie

1 slot

Scale

10 slots

Exemplo de payload recebido

webhook-payload.json
// Exemplo de payload de evento recebido no seu endpoint
{
  "event": "link.parsed",
  "timestamp": "2025-10-15T14:32:00Z",
  "data": {
    "id": "uuid-da-extracao",
    "title": "Tênis Nike Air Max 270",
    "marketplace": "amazon",
    "price_discount": 449.90,
    "price_original": 599.00,
    "short_url": "https://amzn.to/3xyzABC",
    "image_url": "https://m.media-amazon.com/images/...",
    "metadata": {
      "percent_discount": 25,
      "has_discount": true,
      "cod": "B09XYZ1234"
    }
  }
}

Eventos disponíveis

link.parsedlink.errorcampaign.startedcampaign.finished

afiliado.me · Documentação SDK v1 · 2025