Documentação da API

Ligue o Data Enricher à sua própria plataforma, PIM ou script de importação. Uma API REST, JSON de entrada e JSON de saída.

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}
CampoSignificado
eanObrigatório. O código de barras do produto.
nameOpcional. O nome na sua loja; ajuda com EAN pouco claros online. No máximo 128 caracteres.
refreshOpcional. 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

EstadoSignificado
400JSON inválido.
403Chave incorreta ou o domínio da loja não está associado à chave.
413O pedido é demasiado grande.
422Nenhum EAN válido num lote.
429Demasiados 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.

Perguntas sobre a API

Como obtenho uma chave de API?

Solicita uma chave através da página de contacto. Cada loja obtém a sua própria chave, que só funciona para os domínios de loja associados.

Os pedidos repetidos contam para o meu limite?

Não. As respostas provenientes da cache não contam.

Quantos EANs posso enviar de uma só vez?

Até vinte num único lote através de /jobs. Cinco deles são procurados em simultâneo.

E se um produto não for encontrado?

Recebes o estado 200 com um erro no resultado. Nada é guardado, para que possas tentar novamente mais tarde.