API do Servidor

De MysteryRealms
Revisão de 02h13min de 23 de abril de 2025 por Rodrigogml (discussão | contribs) (Criou página com 'Esta página documenta as interfaces públicas (HTTP Handlers) expostas pelo servidor da Engine e do Jogo. A API segue o padrão RESTful com comunicação via JSON padronizada através do modelo '''ApiResponseDTO'''. = Organização dos Handlers = * '''Handlers da Engine''' – Responsáveis por funcionalidades comuns a qualquer jogo usando a Engine PlayTale. * '''Handlers do Jogo''' – Responsáveis pelas lógicas específicas do jogo ''Mystery Realms''. = Formato Ge...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

Esta página documenta as interfaces públicas (HTTP Handlers) expostas pelo servidor da Engine e do Jogo. A API segue o padrão RESTful com comunicação via JSON padronizada através do modelo ApiResponseDTO.

Organização dos Handlers

  • Handlers da Engine – Responsáveis por funcionalidades comuns a qualquer jogo usando a Engine PlayTale.
  • Handlers do Jogo – Responsáveis pelas lógicas específicas do jogo Mystery Realms.

Formato Geral

  • Base URL: `http://<host>:<porta>/api`
  • Formato de resposta: JSON no padrão:
{
  "success": true | false,
  "code": "código interno",
  "message": "descrição",
  "data": { ... }
}
  • Cabeçalhos adicionais:
  • Quando requerido: `X-Session-Token: <token>`

Handlers da Engine

/api/status

  • Descrição: Verifica se a API da Engine está online e retorna sua versão.
  • Método: GET
  • Autenticação: Não requer
  • Parâmetros: Nenhum
  • Resposta:
{
  "success": true,
  "code": "SUCCESS",
  "message": "OK",
  "data": {
    "status": "online",
    "version": "1.0.0"
  }
}

/api/login

  • Descrição: Realiza a autenticação do usuário. Retorna um token de sessão válido para acesso autenticado.
  • Método: POST
  • Autenticação: Não requer
  • Corpo da requisição:
{
  "username": "string",
  "password": "string"
}
  • Resposta (sucesso):
{
  "success": true,
  "code": "SUCCESS",
  "message": "OK",
  "data": {
    "token": "UUID"
  }
}
  • Resposta (erro - campos obrigatórios):
{
  "success": false,
  "code": "PTE_000003",
  "message": "Campo obrigatório ausente",
  "data": null
}
  • Resposta (erro - autenticação inválida):
{
  "success": false,
  "code": "MRS_000001",
  "message": "Usuário ou senha incorretos",
  "data": null
}

Handlers do Jogo

@TODO – Esta seção será preenchida com os endpoints definidos na lógica específica do jogo ''Mystery Realms''.