REST, GraphQL e webhooks
REST
$router->get('/api/status', [StatusController::class, 'show']);
$router->post('/api/pedidos', [PedidoController::class, 'create'], $auth);GraphQL
$router->graphql('/graphql', [GraphqlController::class, 'execute'], $auth);Defina schema, autenticação, limite de profundidade, complexidade, tamanho e tempo de execução.
Webhooks
$router->webhook('/webhooks/pagamento', [WebhookController::class, 'receive'], $signature);Valide assinatura sobre o corpo bruto, timestamp, tolerância de relógio e chave de idempotência antes de executar efeitos.
Respostas
Use status coerentes: sucesso, validação, autenticação, autorização, inexistência, conflito, limite e indisponibilidade. Detalhes internos ficam nos logs, não na resposta pública.