Acesso e chaves
Cada loja recebe a sua própria chave: ma- seguido de 32 caracteres. Envie-a no cabeçalho X-Worker-Key (ou Authorization: Bearer). Uma chave só funciona para os domínios de loja que lhe estão associados; envie o domínio em X-Shop-Domain.
POST /lookup HTTP/1.1
Host: api.data-enricher.com
X-Worker-Key: ma-…
X-Shop-Domain: yourstore.com
Content-Type: application/json
Cada chave tem um limite mensal de pedidos. As respostas da cache não contam. Peça uma chave através da página de contacto.
POST /lookup
Pesquisa um produto pelo seu EAN e devolve os dados e as fotografias verificadas. EAN-8, UPC-A, EAN-13 e GTIN-14 são validados, incluindo o dígito de controlo; UPC-A é convertido em EAN-13.
{"ean": "7333377653917", "name": "Husqvarna 550i XP", "refresh": false}
| Campo | Significado |
|---|---|
ean | Obrigatório. O código de barras do produto. |
name | Opcional. O nome na sua loja; ajuda com EAN pouco claros online. No máximo 128 caracteres. |
refresh | Opcional. true pesquisa novamente em vez de usar a cache. |
{"result": {
"ean": "7333377653917", "identified": true, "name": "Husqvarna 550i XP",
"description": "…", "specs": {"Battery voltage": "36 V"},
"images": {"in_use": ["https://…"], "product": ["https://…"]},
"sources": ["https://…"], "cached": false, "credits_used": 0, "search": "free"
}}
São devolvidas no máximo oito fotografias, primeiro as «em utilização», reservando sempre espaço para pelo menos três fotografias de produto quando existem. Um erro aparece em result.error; nesse caso nada é guardado, pelo que pode tentar novamente mais tarde.
POST /text
Escreve os textos do produto num idioma: título, descrição curta e longa, título meta e descrição meta.
{"ean": "7333377653917", "name": "Husqvarna 550i XP", "language": "en", "format": "html"}
language é um código ISO: nl, en, de, fr, es, it, pt, pl, da, sv, no, fi, cs, ro, zh, ja, ru ou ko. Outro código usa o inglês como alternativa, com um warning. format é html ou text.
Além da description pronta a usar, recebe a descrição por partes: intro_html e sections (características, razões para o escolher, vantagens, desvantagens, conteúdo da caixa, perguntas frequentes, sobre a marca), cada uma com um título no idioma do texto. Componha a sua própria descrição com as secções e a ordem pretendidas. details também contém tudo como dados: especificações, propriedades, palavras-chave, cores, materiais e tamanhos.
POST /page-text
Textos para uma página de categoria ou marca: uma descrição curta para o topo, uma descrição longa em secções, um título meta e uma descrição meta, com ligações internas para páginas da sua própria loja.
{"type": "category", "entity_id": 12, "name": "Chainsaws", "language": "en",
"path": "Garden > Chainsaws", "subcategories": ["Cordless chainsaws"],
"brands": ["Husqvarna"], "products": ["Husqvarna 550i XP"],
"links": [{"type": "subcategory", "title": "Cordless chainsaws", "url": "https://yourstore.com/cordless-chainsaws"}],
"shop_name": "Your Store"}
As ligações apontam apenas para os URL que envia, cada URL no máximo uma vez e até seis por texto. Para uma marca ("type": "brand"), envie categories em vez de subcategories e brands; a API também pesquisa a marca na web.
POST /jobs
Até vinte EAN de uma vez, com cinco pesquisas em simultâneo. Recebe imediatamente um job_id.
{"items": [{"ean": "7333377653917", "name": "Husqvarna 550i XP"}, {"ean": "8716637053167"}]}
Acompanhe o progresso com GET /jobs/{job_id}: status é queued, running ou done, e results mantém a ordem do seu pedido.
GET /usage
A sua utilização e os seus limites no período atual: pedidos, créditos e tokens de IA.
Erros
| Estado | Significado |
|---|---|
| 400 | JSON inválido. |
| 403 | Chave incorreta ou o domínio da loja não está associado à chave. |
| 413 | O pedido é demasiado grande. |
| 422 | Nenhum EAN válido num lote. |
| 429 | Demasiados pedidos ou o limite do seu plano foi atingido. |
Erros de conteúdo, como um produto que não é encontrado, são devolvidos com o estado 200 e um error no resultado.