# Primeiros passos

> Crie uma chave de API no app e faça a primeira chamada com curl em cinco minutos.

URL: https://precificador3d.com.br/docs/api/primeiros-passos

Em cinco minutos você cria uma chave e faz a primeira chamada. Precisa de um terminal com `curl` e de quem tenha a permissão de gerenciar integrações na conta (por padrão, os perfis Dono e Gerente).

### 1. Crie uma chave no app

Em **Configurações › Integrações**, clique em **Nova chave**, dê um nome (por exemplo, "Loja virtual"), marque só os escopos de que a integração precisa e escolha a expiração. O app pede a sua senha de novo e manda um e-mail ao dono da conta.

_Tela "Nova chave de API" no app: nome, escopos, expiração e confirmação de senha._

### 2. Guarde a chave

A chave aparece **uma vez**. Copie e guarde num cofre de senhas ou na variável de ambiente da integração, nunca no código, numa planilha ou no navegador. Se perder, revogue e crie outra.

### 3. Faça a primeira chamada

Mande a chave no cabeçalho `Authorization`. `GET /conta` mostra a conta, o plano, os escopos efetivos e os limites: é o jeito mais rápido de conferir se está tudo certo.

**cURL**

```bash
export PC3D_CHAVE='pc3d_live_EXEMPLO_nao_e_uma_chave_real'   # cole a sua chave

curl -sS https://api.precificador3d.com.br/v1/conta \
  -H "Authorization: Bearer $PC3D_CHAVE"
```

**JavaScript**

```js
const resposta = await fetch('https://api.precificador3d.com.br/v1/conta', {
  headers: { Authorization: `Bearer ${process.env.PC3D_CHAVE}` },
});
console.log(resposta.status, await resposta.json());
```

**Python**

```python
import os

import requests

resposta = requests.get(
    "https://api.precificador3d.com.br/v1/conta",
    headers={"Authorization": f"Bearer {os.environ['PC3D_CHAVE']}"},
    timeout=10,
)
print(resposta.status_code, resposta.json())
```

### 4. Confira a resposta

Status `200` e o nome da sua conta. `401` quer dizer chave errada, revogada ou expirada; `403 conta_bloqueada`, que a conta está bloqueada.

**Resposta 200**

```json
{
  "id": "0b8e4c7a-5d2f-4a8e-9c1b-2f3a4b5c6d7e",
  "nome": "Ateliê Exemplo",
  "plano": "oficina",
  "chave": {
    "nome": "Loja virtual",
    "prefixo": "pc3d_live_EXEMPLO",
    "escopos": [
      "produtos:ler",
      "estoque:ler",
      "cotacoes:escrever"
    ],
    "escopos_efetivos": [
      "produtos:ler",
      "estoque:ler",
      "cotacoes:escrever"
    ],
    "expira_em": "2027-10-03T12:00:00-03:00"
  },
  "limites": {
    "leitura_por_minuto": 60,
    "escrita_por_minuto": 20,
    "mes": 150000,
    "mes_usado": 1820
  }
}
```

### 5. Siga para o seu caso

Liste produtos com preço por canal ([Listar produtos](https://precificador3d.com.br/docs/api/referencia/listar-produtos)), lance saídas de estoque quando a loja vende ([Lançar movimento](https://precificador3d.com.br/docs/api/referencia/criar-movimento-estoque)) ou receba um aviso quando a cotação for aprovada ([Webhooks](https://precificador3d.com.br/docs/api/webhooks)).

> **Use a chave só no servidor:** A API não responde a navegador (sem CORS): chave em app de celular, em página web ou em repositório é chave vazada. Vazou? Revogue no app e crie outra.

> **Sem ambiente de teste na v1:** As escritas da v1 são seguras de testar na conta real: a cotação nasce em rascunho e pode ser apagada, o pedido de produção pode ser cancelado e o estoque se corrige com um ajuste. Para webhooks, use "Enviar teste".
