Converte 1 ou vários links na mesma requisição, com processamento em paralelo e cache por item.
- Método:
POST - Path:
/api/v1/convert-links - Auth: header
X-API-Key(oubot_idno corpo)
Modo single (1 link)
{
"url": "https://exemplo.com/produto",
"telegram_user_id": 123
}
Resposta (200):
{
"success": true,
"url_original": "https://exemplo.com/produto",
"url_resolvida": "https://exemplo.com/produto",
"affiliate_url": "https://afiliado.com/...",
"final_url": "https://encurtado.com/...",
"site": "amazon",
"provider": "amazon",
"tracking_id": "track-xyz"
}
Modo batch (vários links)
{
"urls": [
"https://exemplo.com/produto-1",
"https://exemplo.com/produto-2"
]
}
Resposta (200) — itens individuais, sem falhar o request inteiro:
{
"success": true,
"items": [
{ "ok": true, "url_original": "...", "affiliate_url": "...", "final_url": "...", "site": "awin", "provider": "awin" },
{ "ok": false, "url_original": "...", "affiliate_url": null, "final_url": null, "error": "..." }
]
}
Regras e boas práticas
urlsaceita de 1 a 150 itens; a ordem de entrada é preservada.- Faça retry apenas dos itens com
ok: false. - Comece com lotes de 20 a 50 URLs conforme o seu timeout.
final_urlé a URL após a política de encurtamento (pode ser igual aaffiliate_url).
Exemplo (curl)
curl -X POST "https://botdoafiliado.com/api/v1/convert-links" \
-H "content-type: application/json" \
-H "X-API-Key: <SUA_API_KEY>" \
-d '{"urls":["https://www.aliexpress.com/item/100500...","https://www.amazon.com.br/dp/..."]}'
Para dados de produto (título/preço/imagem) use /product.