Configuração e histórico
Lê e grava a chave de API do Google e os filtros da pesquisa de imagens, e consulta o histórico de pesquisas e importações.
Antes da primeira pesquisa, a loja informa a chave de API do Google e o ID do mecanismo de busca (Search Engine ID, o cx do Programmable Search). A chave nunca é devolvida em texto puro. O histórico registra cada pesquisa e importação, útil para auditar quem gastou cota e por que uma chamada falhou. Exigem o módulo google-product-images e o privilégio manage_catalog.
/api/v1/admin/google-product-images/settingsAdminLê a configuração
Devolve a configuração atual, com a chave mascarada (os 4 primeiros e os 4 últimos caracteres, com bolinhas no meio). has_api_key diz se existe uma chave guardada.
/api/v1/admin/google-product-images/settingsAdminGrava a configuração
Grava a configuração inteira. Valores fora dos limites são ajustados em silêncio, sem erro. Responde {"status":"ok"}.
Corpo da requisição (JSON)
api_keystring__clear__ apaga a chave.engine_idstringcx). Espaços nas pontas são removidos. A API aceita vazio, mas sem ele a pesquisa responde 412.default_query_templatestringpadrão: {name} {brand}{name} e {brand} são trocados pelo nome e pela marca.max_resultsintegerpadrão: 10min_image_widthintegerpadrão: 600safe_searchstringpadrão: highoffmediumhighmedium e high ligam o filtro do Google; off desliga./api/v1/admin/google-product-images/logsAdminHistórico de pesquisas e importações
Do mais novo para o mais antigo.
Parâmetros de consulta
product_iduuiduser_iduuidstatusstringsearchdownloaderrorsearch pesquisa, download importação, error falha.pageintegerpadrão: 1per_pageintegerpadrão: 25Exemplo de requisição
curl -X PUT "$BASE_URL/api/v1/admin/google-product-images/settings" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{
"api_key": "AIzaSyEXEMPLO0000000000000000000000000",
"engine_id": "0123456789abcdef0",
"default_query_template": "{name} {brand}",
"max_results": 10,
"min_image_width": 800,
"safe_search": "high"
}'
curl "$BASE_URL/api/v1/admin/google-product-images/logs?status=error" -H "Authorization: Bearer $TOKEN"Resposta
{
"has_api_key": true,
"settings": {
"api_key": "AIza••••••••0000",
"engine_id": "0123456789abcdef0",
"default_query_template": "{name} {brand}",
"max_results": 10,
"min_image_width": 800,
"safe_search": "high"
}
}{ "status": "ok" }{
"logs": [
{
"id": "cb858f38-9586-4e9c-939c-21b9cfe06874",
"product_id": "bbd65a85-1057-41fc-b652-683bfefba97f",
"user_id": "67bf291c-0846-4053-9528-8cfd5ab0ebf1",
"search_query": "camiseta teste",
"results_count": 0,
"downloaded_count": 0,
"status": "search",
"error_msg": "google-product-images: upstream Google CSE error: status 400: API key not valid. Please pass a valid API key.",
"created_at": "2026-07-13T08:14:19.978994Z"
}
],
"total": 1,
"page": 1,
"per_page": 25,
"total_pages": 1
}Campos da configuração
api_keystringengine_idstringdefault_query_templatestringmax_resultsintegermin_image_widthintegersafe_searchstringoffmediumhighhas_api_keybooleanCampos de cada registro do histórico
iduuidproduct_iduuiduser_iduuidsearch_querystringresults_countintegerdownloaded_countintegerstatusstringsearchdownloaderrorerror_msgstringcreated_atstringErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | Corpo que não é JSON | {"error":"invalid_input","detail":"malformed JSON"} |
| 401 | Token ausente ou expirado | {"error":"invalid or expired token"} |
| 403 | Módulo desligado, ou falta manage_catalog | {"error":"module_disabled","module":"google-product-images"} |
| 500 | Falha ao ler ou gravar | {"error":"internal_error","detail":"..."} |