Configurações e teste
Lê e altera as configurações do preenchimento com IA da loja e testa se a IA responde.
Estas três operações controlam como a IA escreve para a sua loja: o idioma padrão, o tamanho máximo da resposta, a criatividade (temperatura), um modelo de instrução próprio e a lista de campos que podem ser gerados. A IA em si (provedor e modelo) é da plataforma e não é configurável por loja.
Use GET para preencher uma tela de configuração e PUT para salvar. O PUT é uma mescla parcial: só as chaves que você mandar mudam, as demais ficam como estão. Use POST /test antes de um lote grande para saber se a IA está respondendo.
/api/v1/admin/ai-product-fill/settingsAdminLê as configurações do preenchimento com IA
Privilégio exigido: manage_ai_tools ou manage_catalog. Sem parâmetros.
Exemplo de requisição (ler)
curl "$BASE_URL/api/v1/admin/ai-product-fill/settings" \
-H "Authorization: Bearer $TOKEN"Resposta (ler)
{
"temperature": 0.4,
"language": "pt-BR",
"max_tokens": 2200
}Campos da resposta
temperaturenumberpadrão: 0.4languagestringpadrão: pt-BRlanguage.max_tokensintegerpadrão: 2200custom_prompt_templatestringallowed_fieldsarrayErros (ler)
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | A requisição não identifica uma loja. | {"error":"tenant_required"} |
| 401 | Token ausente, inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | Sem manage_ai_tools nem manage_catalog. | {"error":"insufficient privileges","privilege_required_any":["manage_ai_tools","manage_catalog"]} |
/api/v1/admin/ai-product-fill/settingsAdminAltera as configurações do preenchimento com IA
Privilégio exigido: manage_ai_tools ou manage_catalog. Envie só as chaves que quer mudar.
Corpo da requisição
temperaturenumber0 e 1.languagestringpt-BR ou en.max_tokensintegercustom_prompt_templatestring{{name}}, {{sku}}, {{base_keywords}}, {{description}}, {{features}}, {{language}} e {{fields}}, trocados pelos dados do produto. Um marcador desconhecido não é removido: ele aparece literal no texto, para um erro de digitação ficar visível. Envie "" para voltar ao padrão.allowed_fieldsarraydescription, short_description, meta_title, meta_description, meta_keywords, tags). Os valores não são validados: um nome inexistente é aceito e simplesmente nunca casa com nenhum campo. Para liberar tudo, envie [].Exemplo de requisição (alterar)
curl -X PUT "$BASE_URL/api/v1/admin/ai-product-fill/settings" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ "language": "pt-BR", "max_tokens": 2500, "allowed_fields": ["description", "short_description"] }'Resposta (alterar)
{
"temperature": 0.4,
"language": "pt-BR",
"max_tokens": 2500,
"allowed_fields": ["description", "short_description"]
}A resposta tem o mesmo formato do GET, já com os valores mesclados, então você não precisa de uma segunda leitura.
Erros (alterar)
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | Corpo não é JSON válido, ou a requisição não identifica uma loja. | {"error":"invalid_request_body"} |
| 401 | Token ausente, inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | Sem o privilégio necessário. | {"error":"insufficient privileges","privilege_required_any":["manage_ai_tools","manage_catalog"]} |
| 500 | Falha ao gravar. | {"error":"save_failed","detail":"..."} |
/api/v1/admin/ai-product-fill/testAdminTesta se a IA da plataforma responde
Privilégio exigido: manage_ai_tools ou manage_catalog. Sem corpo. Faz duas chamadas pequenas à IA (uma de texto, outra no modo JSON, que é o modo de toda geração real) e grava uma linha no histórico (test em caso de sucesso, error em caso de falha).
Exemplo de requisição (testar)
curl -X POST "$BASE_URL/api/v1/admin/ai-product-fill/test" \
-H "Authorization: Bearer $TOKEN"Resposta (testar)
{
"ok": true,
"model_used": "modelo-da-plataforma",
"message": "connection ok"
}{
"ok": false,
"model_used": "modelo-da-plataforma",
"message": "texto do erro devolvido pelo provedor"
}Campos da resposta
okbooleantrue se a IA respondeu aos dois testes.model_usedstringmessagestringconnection ok no sucesso; o motivo da falha quando ok é false.Erros (testar)
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | Sem o privilégio necessário. | {"error":"insufficient privileges","privilege_required_any":["manage_ai_tools","manage_catalog"]} |