# Visão Geral (/docs/dev/api)

A API REST do ShopEasy permite integrar e automatizar todas as operações da sua loja diretamente pelo código.

## 🌐 Base URL [#-base-url]

```
https://api.shopeasy.site
```

## 🔐 Autenticação [#-autenticação]

Todas as rotas exigem um **Bearer Token** no header `Authorization`.

```http
Authorization: Bearer SEU_TOKEN_AQUI
```

Crie sua chave de API nas configurações do bot com o comando `/keys`.

<Callout type="warn">
  Nunca exponha sua chave de API publicamente. Trate-a como uma senha.
</Callout>

## 🗂️ Estrutura das Rotas [#️-estrutura-das-rotas]

A maioria dos endpoints é escopada por servidor Discord:

```
/guilds/{guildId}/products
/guilds/{guildId}/coupons
/guilds/{guildId}/configs
/guilds/{guildId}/catalogs
```

## 📡 Respostas [#-respostas]

<TypeTable
  type={{
    "200 OK": { description: "Requisição bem-sucedida.", type: "Sucesso" },
    "201 Created": { description: "Recurso criado com sucesso.", type: "Sucesso" },
    "400 Bad Request": { description: "Dados inválidos ou ausentes no body.", type: "Erro do cliente" },
    "401 Unauthorized": { description: "Token ausente ou inválido.", type: "Erro do cliente" },
    "403 Forbidden": { description: "Sem permissão para o recurso.", type: "Erro do cliente" },
    "404 Not Found": { description: "Recurso não encontrado.", type: "Erro do cliente" },
    "500 Internal Server Error": { description: "Erro interno no servidor.", type: "Erro do servidor" },
  }}
/>

## 📦 Recursos [#-recursos]

<Cards className="mt-4">
  <Card
    icon={<ShoppingBag className="text-primary" />}
    title="📦 Produtos"
    description="Criar, listar e gerenciar produtos da loja"
    href="/docs/dev/api/produtos"
  />
  <Card
    icon={<Tag className="text-primary" />}
    title="🏷️ Cupons"
    description="Gerenciar cupons de desconto"
    href="/docs/dev/api/cupons"
  />
  <Card
    icon={<Settings className="text-primary" />}
    title="⚙️ Configurações"
    description="Ler e atualizar configurações do servidor"
    href="/docs/dev/api/configuracoes"
  />
  <Card
    icon={<BookOpen className="text-primary" />}
    title="📚 Catálogo"
    description="Gerenciar catálogos de produtos"
    href="/docs/dev/api/catalogo"
  />
</Cards>
