OmniLink API
Fetch

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.

POST
/v1/fetch/{platform}/product

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
x-api-key<token>

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

platform*string

Plataforma. Valores aceitos pelo cofre (VaultService.SUPPORTED_PLATFORMS): amazon, mercadolivre, shopee. Comparacao case-insensitive (lower).

Value in

  • "amazon"
  • "mercadolivre"
  • "shopee"

Header Parameters

x-api-key*string

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).

Length1 <= length

Request 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"    }  }'
Empty