Enfileira captura de HTML renderizado (Playwright)
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.
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.
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/html" \ -H "x-api-key: sua-api-key" \ -H "Content-Type: application/json" \ -d '{ "url": "https://www.mercadolivre.com.br/ofertas", "wait_ms_after_load": 12000, "enable_scroll": true, "strip_scripts": true, "max_html_chars": 1500000 }'Enfileira scraping de pagina de produto (PDP) POST
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.
Consulta status de uma task do tenant GET
Busca por id + hash da API key. Task de outro tenant retorna 404 (isolamento). `status` persistido: pending, processing, completed, failed. `result` e dict livre (formato depende de `kind`). `error`/`error_type`/`attempts` vem do registro da task.