Enfileira scraping de pagina de produto (PDP)
Task `kind=scraping_product`. Plataformas suportadas no handler: `amazon` e `mercadolivre` (`_PRODUCT_SCRAPE_PLATFORMS`). Shopee retorna 400. `url` min 8 chars; `selectors` dict com pelo menos 1 entrada (validacao Pydantic). `cookies` opcional no body; senao usa cookies do cofre. Nao ha 404 neste handler.
Task kind=scraping_product. Plataformas suportadas no handler: amazon e mercadolivre (_PRODUCT_SCRAPE_PLATFORMS). Shopee retorna 400. url min 8 chars; selectors dict com pelo menos 1 entrada (validacao Pydantic). cookies opcional no body; senao usa cookies do cofre. Nao ha 404 neste handler.
Authorization
ApiKeyAuth Tenant key. Nao e JWT. Qualquer valor nao-vazio identifica um tenant via SHA-256. Ausencia => 401 API key ausente. Nao ha lista de chaves validas.
In: header
Path Parameters
Plataforma. Valores aceitos pelo cofre (VaultService.SUPPORTED_PLATFORMS): amazon, mercadolivre, shopee. Comparacao case-insensitive (lower).
Value in
- "amazon"
- "mercadolivre"
- "shopee"
Header Parameters
Identificador do tenant. Qualquer string nao-vazia e aceita; a API armazena apenas o SHA-256. Nao ha cadastro/validacao de chave. Chave diferente = tenant diferente (isolamento).
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/fetch/amazon/product" \ -H "x-api-key: sua-api-key" \ -H "Content-Type: application/json" \ -d '{ "url": "https://www.mercadolivre.com.br/lixeira-inteligente-16l/p/MLB66154165", "selectors": { "titulo": "h1.ui-pdp-title", "preco_atual": "span.andes-money-amount--weight-semibold", "imagem": "img.ui-pdp-image" } }'Enfileira scraping de listagem (ou busca Shopee Open API) POST
Cria uma task `kind=scraping` (`run_scraping_task`). - **amazon / mercadolivre:** `url` e `selectors` obrigatorios (Playwright). - **shopee:** `keyword` obrigatorio (Open API productOfferV2); `url`/`selectors` nao sao usados. Requer conta Shopee completa no cofre. `limit_products` e limitado a 50 no worker. `shopee_page` default 1; `shopee_sort_type` opcional. Webhook: `webhook_override` ou `webhook_url` da conta.
Enfileira captura de HTML renderizado (Playwright) POST
Task `kind=fetch_html` (`run_fetch_html_task`). Plataforma deve estar em SUPPORTED_PLATFORMS. `wait_until` se enviado: load | domcontentloaded | networkidle | commit (senao 400). Defaults Pydantic: wait_ms_after_load=5000 (0..120000), enable_scroll=true, strip_scripts=true, max_html_chars=1500000 (10000..5000000). Na Amazon o worker pode elevar wait_ms_after_load para 12000 e incluir `selector_hints` / `amazon_price_nodes` no result. Nao ha 404 neste handler.