Skip to content

Configuração da Loja ​

Cada Workspace possui uma loja única, identificada pelo header X-Shop-Id. Por isso, os endpoints de configuração não recebem um ID na rota — eles sempre operam sobre a loja do contexto atual.

Aqui você gerencia as informações gerais da loja: nome, descrição, tags, configurações de SEO, personalização de tema e integrações externas.


Estrutura de Dados Principal ​

CampoTipoDescrição
nameStringNome da loja (máx. 100 caracteres).
hashUUIDIdentificador público único da loja.
descriptionStringDescrição curta da loja (máx. 200 caracteres).
tagsStringTags separadas por vírgula (máx. 5000 caracteres).
seoConfigsStringConfigurações de SEO serializadas em JSON (máx. 5000 caracteres).
themeSettingsStringConfigurações de tema serializadas em JSON (máx. 5000 caracteres).
integrationsStringIntegrações externas serializadas em JSON (máx. 5000 caracteres).

JSON como String

Os campos seoConfigs, themeSettings e integrations são enviados e armazenados como string JSON (ex: "{\"primaryColor\": \"#0055ff\"}"), e não como objetos. No endpoint de detalhe, eles são retornados já desserializados como objetos.


Obter Detalhes da Loja [public] ​

Retorna as configurações públicas da loja identificada pelo X-Shop-Id. Ideal para montar a vitrine (nome, SEO, tema) sem exigir autenticação.

http
GET /v1/shop/public/detail

Exemplo de Requisição ​

bash
curl -X GET "https://api.us.basis.tavares.in/v1/shop/public/detail" \
  -H "X-Shop-Id: 123e4567-e89b-12d3-a456-426614174000" \
  -H "Accept: application/json"

Respostas ​

200 OK

Retorna os dados públicos da loja.

json
{
  "name": "Minha Loja",
  "hash": "9f1c2a3b-4d5e-4f6a-8b7c-9d0e1f2a3b4c",
  "description": "Uma loja virtual incrível.",
  "tags": "loja, e-commerce, varejo",
  "seoConfigs": {},
  "themeSettings": {},
  "integrations": {},
  "createdAt": "2026-06-04T14:25:49.078+00:00"
}

401 Unauthorized

Ocorre quando o X-Shop-Id está ausente, é inválido ou o domínio/IP de origem não está autorizado.

json
{
  "errors": [
    {
      "message": "X-Shop-Id não identificado",
      "field": "X-Shop-Id"
    }
  ]
}

Atualizar Configurações da Loja ​

Atualiza as configurações da loja do contexto atual. Requer autenticação de user (lojista).

http
PUT /v1/shop

Payload (Body) ​

AtributoTipoObrigatórioDescrição
namestringSimNome da loja (máx. 100 caracteres).
descriptionstringNãoDescrição curta (máx. 200 caracteres). Aceita null.
tagsstringNãoTags separadas por vírgula (máx. 5000 caracteres). Aceita null.
seoConfigsstringNãoConfigurações de SEO em string JSON (máx. 5000 caracteres). Aceita null.
themeSettingsstringNãoConfigurações de tema em string JSON (máx. 5000 caracteres). Aceita null.
integrationsstringNãoIntegrações em string JSON (máx. 5000 caracteres). Aceita null.

Exemplo de Requisição ​

bash
curl -X PUT "https://api.us.basis.tavares.in/v1/shop" \
  -H "X-Shop-Id: 123e4567-e89b-12d3-a456-426614174000" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Minha Loja",
    "description": "Uma loja virtual incrível.",
    "tags": "loja, e-commerce, varejo",
    "themeSettings": "{}",
    "seoConfigs": "{}",
    "integrations": "{}"
  }'

Respostas ​

204 No Content

Configurações atualizadas com sucesso.

422 Unprocessable Entity

Erro de validação nos campos enviados.

json
{
  "errors": [
    {
      "message": "Nome é obrigatório",
      "rule": "required",
      "field": "name"
    }
  ]
}