69 lines
1.3 KiB
Text
69 lines
1.3 KiB
Text
---
|
|
type: template
|
|
name: _template-contrato
|
|
description: Template para definição de contratos de API e schemas de uma funcionalidade
|
|
updatedAt: "2026-08-12"
|
|
---
|
|
|
|
# Contrato de API — <PREENCHER NOME DA FUNCIONALIDADE>
|
|
|
|
## Serviço
|
|
<Nome e breve descrição do serviço responsável por esta API>
|
|
|
|
## Base URL
|
|
`<URL base de desenvolvimento e/ou produção>`
|
|
|
|
## Autenticação
|
|
<Como autenticar? Token Bearer, API Key, sem auth?>
|
|
|
|
## Endpoints
|
|
|
|
| Método | Rota | Descrição | Auth |
|
|
| :--- | :--- | :--- | :--- |
|
|
| `GET` | `/rota/exemplo` | `<Descrição>` | `Sim/Não` |
|
|
| `POST` | `/rota/exemplo` | `<Descrição>` | `Sim/Não` |
|
|
|
|
---
|
|
|
|
## Detalhamento por Endpoint
|
|
|
|
### `<MÉTODO>` `<ROTA>`
|
|
<Breve descrição adicional do endpoint>
|
|
|
|
**Request Params**
|
|
- `param1` (tipo, obrigatório?): <descrição>
|
|
|
|
**Body Schema**
|
|
```json
|
|
{
|
|
// Exemplo de body esperado
|
|
}
|
|
```
|
|
|
|
**Response Schema (Sucesso)**
|
|
```json
|
|
{
|
|
// Exemplo de resposta 200/201
|
|
}
|
|
```
|
|
|
|
**Códigos de Erro**
|
|
- `400 Bad Request`: <motivo>
|
|
- `404 Not Found`: <motivo>
|
|
|
|
---
|
|
|
|
## Schema Zod de Referência
|
|
```typescript
|
|
// z.object({ ... })
|
|
```
|
|
|
|
## Exemplos de Uso
|
|
```bash
|
|
curl -X GET ...
|
|
```
|
|
|
|
## Referências
|
|
- Especificação: `especificacao.md` (co-localizado)
|
|
- Regras de negócio: `regras-negocio.md` (co-localizado)
|
|
- [...]
|