Endpoints
Customers
CRUD de customers (clientes/empresas), raiz do multi-tenancy.
Clientes/empresas — raiz do multi-tenancy. Base path: /api/customers ·
autenticação de usuário.
| Método | Rota | Scope | Resource | Sucesso |
|---|---|---|---|---|
POST | /api/customers | create | resource:customers | 201 |
GET | /api/customers | read | resource:customers | 200 |
GET | /api/customers/:id | read | resource:customers_id | 200 |
PUT | /api/customers/:id | update | resource:customers_id | 200 |
DELETE | /api/customers/:id | delete | resource:customers_id | 204 |
Criar customer
POST /api/customers
Corpo
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
federalTaxId | string | sim | 11 a 14 caracteres, único |
name | string | sim | mín. 1 caractere |
alias | string | não | pode ser null |
email | string | não | e-mail válido ou null |
phone | string | não | pode ser null |
logoPath | string | não | pode ser null |
active | boolean | não | padrão true |
curl -X POST http://localhost:3000/api/customers \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"federalTaxId": "12345678000199",
"name": "Customer Exemplo",
"alias": "exemplo",
"email": "contato@exemplo.com",
"phone": "11999999999",
"active": true
}'201 Created
{
"id": "c1b2c3d4-e5f6-4789-a123-456789abcdef",
"federalTaxId": "12345678000199",
"name": "Customer Exemplo",
"alias": "exemplo",
"email": "contato@exemplo.com",
"phone": "11999999999",
"active": true
}409 Conflict — já existe um customer com esse federalTaxId.
Listar customers
GET /api/customers — lista paginada (page, limit). Envelope padrão de
paginação.
Obter customer por id
GET /api/customers/:id — 404 se não existir.
Editar customer
PUT /api/customers/:id — atualização parcial.
| Campo | Tipo | Regras |
|---|---|---|
name | string | mín. 1 caractere |
alias | string | ou null |
email | string | e-mail válido ou null |
phone | string | ou null |
logoPath | string | ou null |
active | boolean |
Retorna 200; 404 se não existir.
Remover customer
DELETE /api/customers/:id — retorna 204 No Content.