funifier-mcp 0.2.0 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cursor/rules/funifier.mdc +91 -0
- package/.github/copilot-instructions.md +83 -0
- package/AGENTS.md +97 -0
- package/README.md +247 -78
- package/datasource-funifier-docs/knowledge/guides/aggregates.md +152 -152
- package/datasource-funifier-docs/knowledge/guides/database-access.md +132 -132
- package/datasource-funifier-docs/knowledge/guides/java-entities.md +373 -373
- package/datasource-funifier-docs/knowledge/guides/java-libraries.md +330 -330
- package/datasource-funifier-docs/knowledge/guides/java-managers.md +509 -509
- package/datasource-funifier-docs/knowledge/guides/triggers-guide.md +271 -271
- package/datasource-funifier-docs/knowledge/index.md +121 -121
- package/datasource-funifier-docs/knowledge/modules/achievement.md +46 -46
- package/datasource-funifier-docs/knowledge/modules/action-log.md +88 -88
- package/datasource-funifier-docs/knowledge/modules/action.md +80 -80
- package/datasource-funifier-docs/knowledge/modules/auth.md +104 -104
- package/datasource-funifier-docs/knowledge/modules/avatar.md +28 -28
- package/datasource-funifier-docs/knowledge/modules/backup.md +40 -40
- package/datasource-funifier-docs/knowledge/modules/challenge.md +91 -91
- package/datasource-funifier-docs/knowledge/modules/compact.md +40 -40
- package/datasource-funifier-docs/knowledge/modules/competition.md +149 -149
- package/datasource-funifier-docs/knowledge/modules/crossword.md +41 -41
- package/datasource-funifier-docs/knowledge/modules/csv-data.md +30 -30
- package/datasource-funifier-docs/knowledge/modules/custom-object.md +53 -53
- package/datasource-funifier-docs/knowledge/modules/database.md +241 -241
- package/datasource-funifier-docs/knowledge/modules/folder.md +111 -111
- package/datasource-funifier-docs/knowledge/modules/kpi-formulas.md +23 -23
- package/datasource-funifier-docs/knowledge/modules/lastmile.md +45 -45
- package/datasource-funifier-docs/knowledge/modules/leaderboard.md +98 -98
- package/datasource-funifier-docs/knowledge/modules/level.md +83 -83
- package/datasource-funifier-docs/knowledge/modules/lottery.md +112 -112
- package/datasource-funifier-docs/knowledge/modules/marketplace.md +27 -27
- package/datasource-funifier-docs/knowledge/modules/mystery.md +82 -82
- package/datasource-funifier-docs/knowledge/modules/notification.md +40 -40
- package/datasource-funifier-docs/knowledge/modules/patterns.md +1096 -1096
- package/datasource-funifier-docs/knowledge/modules/player.md +101 -101
- package/datasource-funifier-docs/knowledge/modules/point.md +67 -67
- package/datasource-funifier-docs/knowledge/modules/public.md +253 -253
- package/datasource-funifier-docs/knowledge/modules/question.md +136 -136
- package/datasource-funifier-docs/knowledge/modules/quiz.md +163 -163
- package/datasource-funifier-docs/knowledge/modules/scheduler.md +58 -58
- package/datasource-funifier-docs/knowledge/modules/security.md +169 -169
- package/datasource-funifier-docs/knowledge/modules/staging.md +28 -28
- package/datasource-funifier-docs/knowledge/modules/static-repo.md +41 -41
- package/datasource-funifier-docs/knowledge/modules/story.md +42 -42
- package/datasource-funifier-docs/knowledge/modules/studio-page.md +180 -180
- package/datasource-funifier-docs/knowledge/modules/swap.md +132 -132
- package/datasource-funifier-docs/knowledge/modules/team.md +75 -75
- package/datasource-funifier-docs/knowledge/modules/trigger.md +189 -189
- package/datasource-funifier-docs/knowledge/modules/upload.md +155 -155
- package/datasource-funifier-docs/knowledge/modules/virtual-good.md +99 -99
- package/datasource-funifier-docs/knowledge/modules/webhook.md +41 -41
- package/datasource-funifier-docs/knowledge/modules/websocket.md +41 -41
- package/datasource-funifier-docs/knowledge/modules/widget.md +42 -42
- package/datasource-funifier-docs/process-gtm-saas.md +143 -143
- package/datasource-funifier-docs/process-instagram.md +88 -88
- package/datasource-funifier-docs/process.md +1826 -1826
- package/datasource-funifier-docs/readme.md +132 -132
- package/dist/cli/config-writers.js +11 -11
- package/dist/mcp/bundle.js +82 -77
- package/package.json +70 -67
- package/skills/funifier-create-aggregate/SKILL.md +126 -126
- package/skills/funifier-create-custom-page/SKILL.md +126 -126
- package/skills/funifier-create-scheduler/SKILL.md +126 -126
- package/skills/funifier-create-trigger/SKILL.md +127 -127
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
# Action (Ação)
|
|
2
|
-
|
|
3
|
-
**Acesso Studio:** `/studio/action`
|
|
4
|
-
**API Endpoint:** `/v3/action`
|
|
5
|
-
|
|
6
|
-
## O que é
|
|
7
|
-
|
|
8
|
-
Cadastro das diferentes ações que os jogadores podem realizar na gamificação. Permite criar e configurar todas as ações possíveis dentro da experiência gamificada, como "vender", "comprar", "comentar", "compartilhar", entre outras. As ações são a base da estratégia de engajamento, pois definem o que é possível fazer na gamificação e servem para disparar regras e recompensas. É possível adicionar atributos extras a cada ação, por exemplo, "produto" e "valor" na ação de venda.
|
|
9
|
-
|
|
10
|
-
## Quando usar
|
|
11
|
-
|
|
12
|
-
- Em todo projeto de gamificação (obrigatório)
|
|
13
|
-
- Para definir os comportamentos que serão rastreados
|
|
14
|
-
- Para criar a base de eventos que disparam desafios e recompensas
|
|
15
|
-
|
|
16
|
-
## Checklist de Configuração no Studio
|
|
17
|
-
|
|
18
|
-
- [ ] Definir o _id da ação (letras minúsculas, sem espaços ou acentos)
|
|
19
|
-
- [ ] Definir o nome amigável da ação (inicial maiúscula)
|
|
20
|
-
- [ ] Definir atributos extras se necessário (name + type: String, Number ou Boolean)
|
|
21
|
-
- [ ] Ativar a ação (active: true)
|
|
22
|
-
- [ ] Boas práticas: criar ações genéricas e usar atributos para detalhar contexto
|
|
23
|
-
|
|
24
|
-
## API Endpoints
|
|
25
|
-
|
|
26
|
-
### Listar Ações
|
|
27
|
-
**Método:** GET
|
|
28
|
-
**Endpoint:** `/v3/action`
|
|
29
|
-
**Descrição:** Retorna a lista de ações configuradas na gamificação.
|
|
30
|
-
|
|
31
|
-
**Exemplo de Resposta:**
|
|
32
|
-
```json
|
|
33
|
-
[
|
|
34
|
-
{
|
|
35
|
-
"action": "Sell",
|
|
36
|
-
"attributes": [
|
|
37
|
-
{ "name": "product", "type": "String" },
|
|
38
|
-
{ "name": "price", "type": "Number" }
|
|
39
|
-
],
|
|
40
|
-
"active": true,
|
|
41
|
-
"_id": "sell"
|
|
42
|
-
}
|
|
43
|
-
]
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
### Criar Ação
|
|
47
|
-
**Método:** POST
|
|
48
|
-
**Endpoint:** `/v3/action`
|
|
49
|
-
**Descrição:** Cria uma nova ação com nome, atributos e status de ativação.
|
|
50
|
-
|
|
51
|
-
**Exemplo de Body:**
|
|
52
|
-
```json
|
|
53
|
-
{
|
|
54
|
-
"_id": "sell",
|
|
55
|
-
"active": true,
|
|
56
|
-
"action": "Sell",
|
|
57
|
-
"attributes": [
|
|
58
|
-
{ "name": "product", "type": "String" },
|
|
59
|
-
{ "name": "price", "type": "Number" }
|
|
60
|
-
]
|
|
61
|
-
}
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### Excluir Ação
|
|
65
|
-
**Método:** DELETE
|
|
66
|
-
**Endpoint:** `/v3/action/:id`
|
|
67
|
-
**Descrição:** Remove uma ação da gamificação.
|
|
68
|
-
|
|
69
|
-
## Boas Práticas
|
|
70
|
-
|
|
71
|
-
- Crie ações genéricas como "comprar", "vender", "responder", "visitar"
|
|
72
|
-
- Use os atributos para detalhar o contexto da ação (ex: produto, local, valor)
|
|
73
|
-
- Evite criar uma ação diferente para cada variação. Exemplo errado: "comprar sapato", "comprar camisa". Exemplo certo: ação "comprar" com atributo "produto"
|
|
74
|
-
|
|
75
|
-
## Validações e Testes
|
|
76
|
-
|
|
77
|
-
- [ ] Ação aparece na lista GET /v3/action
|
|
78
|
-
- [ ] Ação tem _id único e sem caracteres especiais
|
|
79
|
-
- [ ] Atributos estão com tipos corretos (String, Number, Boolean)
|
|
80
|
-
- [ ] Ação está ativa (active: true)
|
|
1
|
+
# Action (Ação)
|
|
2
|
+
|
|
3
|
+
**Acesso Studio:** `/studio/action`
|
|
4
|
+
**API Endpoint:** `/v3/action`
|
|
5
|
+
|
|
6
|
+
## O que é
|
|
7
|
+
|
|
8
|
+
Cadastro das diferentes ações que os jogadores podem realizar na gamificação. Permite criar e configurar todas as ações possíveis dentro da experiência gamificada, como "vender", "comprar", "comentar", "compartilhar", entre outras. As ações são a base da estratégia de engajamento, pois definem o que é possível fazer na gamificação e servem para disparar regras e recompensas. É possível adicionar atributos extras a cada ação, por exemplo, "produto" e "valor" na ação de venda.
|
|
9
|
+
|
|
10
|
+
## Quando usar
|
|
11
|
+
|
|
12
|
+
- Em todo projeto de gamificação (obrigatório)
|
|
13
|
+
- Para definir os comportamentos que serão rastreados
|
|
14
|
+
- Para criar a base de eventos que disparam desafios e recompensas
|
|
15
|
+
|
|
16
|
+
## Checklist de Configuração no Studio
|
|
17
|
+
|
|
18
|
+
- [ ] Definir o _id da ação (letras minúsculas, sem espaços ou acentos)
|
|
19
|
+
- [ ] Definir o nome amigável da ação (inicial maiúscula)
|
|
20
|
+
- [ ] Definir atributos extras se necessário (name + type: String, Number ou Boolean)
|
|
21
|
+
- [ ] Ativar a ação (active: true)
|
|
22
|
+
- [ ] Boas práticas: criar ações genéricas e usar atributos para detalhar contexto
|
|
23
|
+
|
|
24
|
+
## API Endpoints
|
|
25
|
+
|
|
26
|
+
### Listar Ações
|
|
27
|
+
**Método:** GET
|
|
28
|
+
**Endpoint:** `/v3/action`
|
|
29
|
+
**Descrição:** Retorna a lista de ações configuradas na gamificação.
|
|
30
|
+
|
|
31
|
+
**Exemplo de Resposta:**
|
|
32
|
+
```json
|
|
33
|
+
[
|
|
34
|
+
{
|
|
35
|
+
"action": "Sell",
|
|
36
|
+
"attributes": [
|
|
37
|
+
{ "name": "product", "type": "String" },
|
|
38
|
+
{ "name": "price", "type": "Number" }
|
|
39
|
+
],
|
|
40
|
+
"active": true,
|
|
41
|
+
"_id": "sell"
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Criar Ação
|
|
47
|
+
**Método:** POST
|
|
48
|
+
**Endpoint:** `/v3/action`
|
|
49
|
+
**Descrição:** Cria uma nova ação com nome, atributos e status de ativação.
|
|
50
|
+
|
|
51
|
+
**Exemplo de Body:**
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"_id": "sell",
|
|
55
|
+
"active": true,
|
|
56
|
+
"action": "Sell",
|
|
57
|
+
"attributes": [
|
|
58
|
+
{ "name": "product", "type": "String" },
|
|
59
|
+
{ "name": "price", "type": "Number" }
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Excluir Ação
|
|
65
|
+
**Método:** DELETE
|
|
66
|
+
**Endpoint:** `/v3/action/:id`
|
|
67
|
+
**Descrição:** Remove uma ação da gamificação.
|
|
68
|
+
|
|
69
|
+
## Boas Práticas
|
|
70
|
+
|
|
71
|
+
- Crie ações genéricas como "comprar", "vender", "responder", "visitar"
|
|
72
|
+
- Use os atributos para detalhar o contexto da ação (ex: produto, local, valor)
|
|
73
|
+
- Evite criar uma ação diferente para cada variação. Exemplo errado: "comprar sapato", "comprar camisa". Exemplo certo: ação "comprar" com atributo "produto"
|
|
74
|
+
|
|
75
|
+
## Validações e Testes
|
|
76
|
+
|
|
77
|
+
- [ ] Ação aparece na lista GET /v3/action
|
|
78
|
+
- [ ] Ação tem _id único e sem caracteres especiais
|
|
79
|
+
- [ ] Atributos estão com tipos corretos (String, Number, Boolean)
|
|
80
|
+
- [ ] Ação está ativa (active: true)
|
|
@@ -1,104 +1,104 @@
|
|
|
1
|
-
# Auth (Autenticação)
|
|
2
|
-
|
|
3
|
-
**Acesso Studio:** `/studio/auth`
|
|
4
|
-
**API Endpoint:** `/v3/auth`
|
|
5
|
-
|
|
6
|
-
## O que é
|
|
7
|
-
|
|
8
|
-
Gerenciamento de autenticação e critérios básicos de segurança. Permite configurar como será o processo de login dos jogadores, definindo exigência de senha, auto-criação de usuários, geração de tokens de acesso (incluindo tempo de expiração e revalidação). Também permite criar rotinas personalizadas de autenticação (Auth Module) para SSO, validação externa e logs de login.
|
|
9
|
-
|
|
10
|
-
## Quando usar
|
|
11
|
-
|
|
12
|
-
- Para configurar login de jogadores
|
|
13
|
-
- Para gerar tokens de acesso
|
|
14
|
-
- Para implementar SSO com sistemas corporativos
|
|
15
|
-
- Para criar validações customizadas de autenticação
|
|
16
|
-
|
|
17
|
-
## Checklist de Configuração no Studio
|
|
18
|
-
|
|
19
|
-
- [ ] Definir se senha é obrigatória
|
|
20
|
-
- [ ] Configurar auto-criação de usuários
|
|
21
|
-
- [ ] Definir tempo de expiração do token
|
|
22
|
-
- [ ] Configurar módulo de autenticação customizado (se necessário)
|
|
23
|
-
|
|
24
|
-
## API Endpoints
|
|
25
|
-
|
|
26
|
-
### Autenticar Jogador
|
|
27
|
-
**Método:** POST
|
|
28
|
-
**Endpoint:** `/v3/auth/token`
|
|
29
|
-
|
|
30
|
-
**Exemplo de Body:**
|
|
31
|
-
```json
|
|
32
|
-
{
|
|
33
|
-
"apiKey": "YOUR_API_KEY",
|
|
34
|
-
"grant_type": "password",
|
|
35
|
-
"username": "tom",
|
|
36
|
-
"password": "123"
|
|
37
|
-
}
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
**Exemplo de Resposta:**
|
|
41
|
-
```json
|
|
42
|
-
{
|
|
43
|
-
"access_token": "eyJhbGciOiJIUzUxMiIsImNhbGciOiJHWklQIn0...",
|
|
44
|
-
"token_type": "Bearer",
|
|
45
|
-
"expires_in": 1695751444626
|
|
46
|
-
}
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
### Listar Módulos de Autenticação
|
|
50
|
-
**Método:** GET
|
|
51
|
-
**Endpoint:** `/v3/auth/module`
|
|
52
|
-
|
|
53
|
-
### Criar Módulo de Autenticação
|
|
54
|
-
**Método:** POST
|
|
55
|
-
**Endpoint:** `/v3/auth/module`
|
|
56
|
-
|
|
57
|
-
## Roles e Permissões (Scopes)
|
|
58
|
-
|
|
59
|
-
As permissões do token de jogador são controladas por **Roles** configuradas em `Studio > Security > Roles`. Cada Role define:
|
|
60
|
-
|
|
61
|
-
- **Role:** nome da role (ex: `player`) — atribuída automaticamente ao jogador no login
|
|
62
|
-
- **Timeout:** tempo de expiração do token (ex: `1d` = 1 dia)
|
|
63
|
-
- **Scope:** lista de permissões separadas por vírgula
|
|
64
|
-
|
|
65
|
-
### Scopes disponíveis
|
|
66
|
-
|
|
67
|
-
| Scope | Descrição |
|
|
68
|
-
|-------|-----------|
|
|
69
|
-
| `read_all` | Leitura em todos os endpoints |
|
|
70
|
-
| `write_all` | Escrita em todos os endpoints |
|
|
71
|
-
| `delete_all` | Exclusão em todos os endpoints |
|
|
72
|
-
| `write_player` | Escrita no endpoint `/v3/player` |
|
|
73
|
-
| `write_actionlog` | Escrita no endpoint `/v3/action_log` |
|
|
74
|
-
| `write_upload` | Escrita no endpoint `/v3/upload` |
|
|
75
|
-
| `write_database_<collection>` | Escrita em uma coleção específica do database (ex: `write_database_task__c`) |
|
|
76
|
-
| `delete_database_<collection>` | Exclusão em uma coleção específica do database |
|
|
77
|
-
| `database` | **⚠️ OBRIGATÓRIO** para acessar o endpoint `/v3/database` — sem esta palavra no scope, o endpoint retorna dados vazios silenciosamente (sem erro) |
|
|
78
|
-
|
|
79
|
-
### ⚠️ Nota importante sobre o endpoint Database
|
|
80
|
-
|
|
81
|
-
O endpoint `/v3/database` exige que a palavra **`database`** esteja presente no scope da role, **independentemente** de `write_all` ou `read_all` já estarem configurados. Sem ela, as operações de escrita retornam `201` mas **não persistem os dados**, e as operações de leitura retornam **corpo vazio** — tudo sem mensagem de erro.
|
|
82
|
-
|
|
83
|
-
### Exemplo de scope completo para apps com database
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
read_all, write_all, delete_all, database
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### Configuração no Studio
|
|
90
|
-
|
|
91
|
-
1. Acesse `Studio > Security`
|
|
92
|
-
2. Na seção **Roles**, clique no botão `+` para criar uma nova role
|
|
93
|
-
3. Defina: Role = `player`, Timeout = `1d`, Scope = `read_all, write_all, delete_all, database`
|
|
94
|
-
4. Clique em **Salvar**
|
|
95
|
-
5. O jogador precisa **fazer login novamente** para obter um token com as novas permissões
|
|
96
|
-
|
|
97
|
-
## Validações e Testes
|
|
98
|
-
|
|
99
|
-
- [ ] Login retorna token válido
|
|
100
|
-
- [ ] Token expira no tempo configurado
|
|
101
|
-
- [ ] Jogador inválido recebe erro apropriado
|
|
102
|
-
- [ ] SSO funciona (se configurado)
|
|
103
|
-
- [ ] Role "player" está configurada com scope adequado
|
|
104
|
-
- [ ] Token do jogador tem permissão para os endpoints necessários
|
|
1
|
+
# Auth (Autenticação)
|
|
2
|
+
|
|
3
|
+
**Acesso Studio:** `/studio/auth`
|
|
4
|
+
**API Endpoint:** `/v3/auth`
|
|
5
|
+
|
|
6
|
+
## O que é
|
|
7
|
+
|
|
8
|
+
Gerenciamento de autenticação e critérios básicos de segurança. Permite configurar como será o processo de login dos jogadores, definindo exigência de senha, auto-criação de usuários, geração de tokens de acesso (incluindo tempo de expiração e revalidação). Também permite criar rotinas personalizadas de autenticação (Auth Module) para SSO, validação externa e logs de login.
|
|
9
|
+
|
|
10
|
+
## Quando usar
|
|
11
|
+
|
|
12
|
+
- Para configurar login de jogadores
|
|
13
|
+
- Para gerar tokens de acesso
|
|
14
|
+
- Para implementar SSO com sistemas corporativos
|
|
15
|
+
- Para criar validações customizadas de autenticação
|
|
16
|
+
|
|
17
|
+
## Checklist de Configuração no Studio
|
|
18
|
+
|
|
19
|
+
- [ ] Definir se senha é obrigatória
|
|
20
|
+
- [ ] Configurar auto-criação de usuários
|
|
21
|
+
- [ ] Definir tempo de expiração do token
|
|
22
|
+
- [ ] Configurar módulo de autenticação customizado (se necessário)
|
|
23
|
+
|
|
24
|
+
## API Endpoints
|
|
25
|
+
|
|
26
|
+
### Autenticar Jogador
|
|
27
|
+
**Método:** POST
|
|
28
|
+
**Endpoint:** `/v3/auth/token`
|
|
29
|
+
|
|
30
|
+
**Exemplo de Body:**
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"apiKey": "YOUR_API_KEY",
|
|
34
|
+
"grant_type": "password",
|
|
35
|
+
"username": "tom",
|
|
36
|
+
"password": "123"
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**Exemplo de Resposta:**
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"access_token": "eyJhbGciOiJIUzUxMiIsImNhbGciOiJHWklQIn0...",
|
|
44
|
+
"token_type": "Bearer",
|
|
45
|
+
"expires_in": 1695751444626
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Listar Módulos de Autenticação
|
|
50
|
+
**Método:** GET
|
|
51
|
+
**Endpoint:** `/v3/auth/module`
|
|
52
|
+
|
|
53
|
+
### Criar Módulo de Autenticação
|
|
54
|
+
**Método:** POST
|
|
55
|
+
**Endpoint:** `/v3/auth/module`
|
|
56
|
+
|
|
57
|
+
## Roles e Permissões (Scopes)
|
|
58
|
+
|
|
59
|
+
As permissões do token de jogador são controladas por **Roles** configuradas em `Studio > Security > Roles`. Cada Role define:
|
|
60
|
+
|
|
61
|
+
- **Role:** nome da role (ex: `player`) — atribuída automaticamente ao jogador no login
|
|
62
|
+
- **Timeout:** tempo de expiração do token (ex: `1d` = 1 dia)
|
|
63
|
+
- **Scope:** lista de permissões separadas por vírgula
|
|
64
|
+
|
|
65
|
+
### Scopes disponíveis
|
|
66
|
+
|
|
67
|
+
| Scope | Descrição |
|
|
68
|
+
|-------|-----------|
|
|
69
|
+
| `read_all` | Leitura em todos os endpoints |
|
|
70
|
+
| `write_all` | Escrita em todos os endpoints |
|
|
71
|
+
| `delete_all` | Exclusão em todos os endpoints |
|
|
72
|
+
| `write_player` | Escrita no endpoint `/v3/player` |
|
|
73
|
+
| `write_actionlog` | Escrita no endpoint `/v3/action_log` |
|
|
74
|
+
| `write_upload` | Escrita no endpoint `/v3/upload` |
|
|
75
|
+
| `write_database_<collection>` | Escrita em uma coleção específica do database (ex: `write_database_task__c`) |
|
|
76
|
+
| `delete_database_<collection>` | Exclusão em uma coleção específica do database |
|
|
77
|
+
| `database` | **⚠️ OBRIGATÓRIO** para acessar o endpoint `/v3/database` — sem esta palavra no scope, o endpoint retorna dados vazios silenciosamente (sem erro) |
|
|
78
|
+
|
|
79
|
+
### ⚠️ Nota importante sobre o endpoint Database
|
|
80
|
+
|
|
81
|
+
O endpoint `/v3/database` exige que a palavra **`database`** esteja presente no scope da role, **independentemente** de `write_all` ou `read_all` já estarem configurados. Sem ela, as operações de escrita retornam `201` mas **não persistem os dados**, e as operações de leitura retornam **corpo vazio** — tudo sem mensagem de erro.
|
|
82
|
+
|
|
83
|
+
### Exemplo de scope completo para apps com database
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
read_all, write_all, delete_all, database
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Configuração no Studio
|
|
90
|
+
|
|
91
|
+
1. Acesse `Studio > Security`
|
|
92
|
+
2. Na seção **Roles**, clique no botão `+` para criar uma nova role
|
|
93
|
+
3. Defina: Role = `player`, Timeout = `1d`, Scope = `read_all, write_all, delete_all, database`
|
|
94
|
+
4. Clique em **Salvar**
|
|
95
|
+
5. O jogador precisa **fazer login novamente** para obter um token com as novas permissões
|
|
96
|
+
|
|
97
|
+
## Validações e Testes
|
|
98
|
+
|
|
99
|
+
- [ ] Login retorna token válido
|
|
100
|
+
- [ ] Token expira no tempo configurado
|
|
101
|
+
- [ ] Jogador inválido recebe erro apropriado
|
|
102
|
+
- [ ] SSO funciona (se configurado)
|
|
103
|
+
- [ ] Role "player" está configurada com scope adequado
|
|
104
|
+
- [ ] Token do jogador tem permissão para os endpoints necessários
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
# Avatar (Avatar)
|
|
2
|
-
|
|
3
|
-
## O que é
|
|
4
|
-
|
|
5
|
-
Criação e customização de avatares para os jogadores. Permite aos jogadores criarem avatares personalizados, desbloqueando acessórios e itens de acordo com o desempenho na gamificação ou por compras na loja. Pode ser usado em ambientes 2D ou 3D.
|
|
6
|
-
|
|
7
|
-
## Quando usar
|
|
8
|
-
|
|
9
|
-
- Para personalização visual dos jogadores
|
|
10
|
-
- Para criar senso de identidade e pertencimento
|
|
11
|
-
- Para vincular recompensas a itens visuais
|
|
12
|
-
- Para ambientes virtuais com representação do jogador
|
|
13
|
-
|
|
14
|
-
## Dependências
|
|
15
|
-
|
|
16
|
-
- **Virtual Good** (opcional): acessórios podem ser vendidos na loja
|
|
17
|
-
|
|
18
|
-
## Checklist de Configuração
|
|
19
|
-
|
|
20
|
-
- [ ] Definir tipos de avatar disponíveis
|
|
21
|
-
- [ ] Criar acessórios e itens desbloqueáveis
|
|
22
|
-
- [ ] Vincular itens a desafios ou loja virtual
|
|
23
|
-
|
|
24
|
-
## Validações e Testes
|
|
25
|
-
|
|
26
|
-
- [ ] Avatar padrão é exibido para novos jogadores
|
|
27
|
-
- [ ] Acessórios desbloqueados aparecem disponíveis
|
|
28
|
-
- [ ] Personalização do avatar é salva corretamente
|
|
1
|
+
# Avatar (Avatar)
|
|
2
|
+
|
|
3
|
+
## O que é
|
|
4
|
+
|
|
5
|
+
Criação e customização de avatares para os jogadores. Permite aos jogadores criarem avatares personalizados, desbloqueando acessórios e itens de acordo com o desempenho na gamificação ou por compras na loja. Pode ser usado em ambientes 2D ou 3D.
|
|
6
|
+
|
|
7
|
+
## Quando usar
|
|
8
|
+
|
|
9
|
+
- Para personalização visual dos jogadores
|
|
10
|
+
- Para criar senso de identidade e pertencimento
|
|
11
|
+
- Para vincular recompensas a itens visuais
|
|
12
|
+
- Para ambientes virtuais com representação do jogador
|
|
13
|
+
|
|
14
|
+
## Dependências
|
|
15
|
+
|
|
16
|
+
- **Virtual Good** (opcional): acessórios podem ser vendidos na loja
|
|
17
|
+
|
|
18
|
+
## Checklist de Configuração
|
|
19
|
+
|
|
20
|
+
- [ ] Definir tipos de avatar disponíveis
|
|
21
|
+
- [ ] Criar acessórios e itens desbloqueáveis
|
|
22
|
+
- [ ] Vincular itens a desafios ou loja virtual
|
|
23
|
+
|
|
24
|
+
## Validações e Testes
|
|
25
|
+
|
|
26
|
+
- [ ] Avatar padrão é exibido para novos jogadores
|
|
27
|
+
- [ ] Acessórios desbloqueados aparecem disponíveis
|
|
28
|
+
- [ ] Personalização do avatar é salva corretamente
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
# Backup (Backup)
|
|
2
|
-
|
|
3
|
-
**Acesso Studio:** `/studio/backup`
|
|
4
|
-
**API Endpoint:** `/v3/backup`
|
|
5
|
-
|
|
6
|
-
## O que é
|
|
7
|
-
|
|
8
|
-
Backup e remoção controlada de dados antigos. Permite criar rotinas automáticas de backup de registros importantes, além de remover dados antigos de maneira controlada para manter a performance da plataforma.
|
|
9
|
-
|
|
10
|
-
## Quando usar
|
|
11
|
-
|
|
12
|
-
- Para fazer backup de logs antigos antes de atualizações
|
|
13
|
-
- Para remover registros históricos e otimizar consultas
|
|
14
|
-
- Para manter performance em grandes volumes de dados
|
|
15
|
-
|
|
16
|
-
## Checklist de Configuração no Studio
|
|
17
|
-
|
|
18
|
-
- [ ] Definir quais coleções serão backupeadas
|
|
19
|
-
- [ ] Configurar frequência do backup
|
|
20
|
-
- [ ] Definir critério de remoção de dados antigos
|
|
21
|
-
|
|
22
|
-
## API Endpoints
|
|
23
|
-
|
|
24
|
-
### Listar Backups
|
|
25
|
-
**Método:** GET
|
|
26
|
-
**Endpoint:** `/v3/backup`
|
|
27
|
-
|
|
28
|
-
### Criar Backup
|
|
29
|
-
**Método:** POST
|
|
30
|
-
**Endpoint:** `/v3/backup`
|
|
31
|
-
|
|
32
|
-
### Deletar Backup
|
|
33
|
-
**Método:** DELETE
|
|
34
|
-
**Endpoint:** `/v3/backup/:id`
|
|
35
|
-
|
|
36
|
-
## Validações e Testes
|
|
37
|
-
|
|
38
|
-
- [ ] Backup é executado com sucesso
|
|
39
|
-
- [ ] Dados antigos são removidos conforme critério
|
|
40
|
-
- [ ] Performance melhora após limpeza
|
|
1
|
+
# Backup (Backup)
|
|
2
|
+
|
|
3
|
+
**Acesso Studio:** `/studio/backup`
|
|
4
|
+
**API Endpoint:** `/v3/backup`
|
|
5
|
+
|
|
6
|
+
## O que é
|
|
7
|
+
|
|
8
|
+
Backup e remoção controlada de dados antigos. Permite criar rotinas automáticas de backup de registros importantes, além de remover dados antigos de maneira controlada para manter a performance da plataforma.
|
|
9
|
+
|
|
10
|
+
## Quando usar
|
|
11
|
+
|
|
12
|
+
- Para fazer backup de logs antigos antes de atualizações
|
|
13
|
+
- Para remover registros históricos e otimizar consultas
|
|
14
|
+
- Para manter performance em grandes volumes de dados
|
|
15
|
+
|
|
16
|
+
## Checklist de Configuração no Studio
|
|
17
|
+
|
|
18
|
+
- [ ] Definir quais coleções serão backupeadas
|
|
19
|
+
- [ ] Configurar frequência do backup
|
|
20
|
+
- [ ] Definir critério de remoção de dados antigos
|
|
21
|
+
|
|
22
|
+
## API Endpoints
|
|
23
|
+
|
|
24
|
+
### Listar Backups
|
|
25
|
+
**Método:** GET
|
|
26
|
+
**Endpoint:** `/v3/backup`
|
|
27
|
+
|
|
28
|
+
### Criar Backup
|
|
29
|
+
**Método:** POST
|
|
30
|
+
**Endpoint:** `/v3/backup`
|
|
31
|
+
|
|
32
|
+
### Deletar Backup
|
|
33
|
+
**Método:** DELETE
|
|
34
|
+
**Endpoint:** `/v3/backup/:id`
|
|
35
|
+
|
|
36
|
+
## Validações e Testes
|
|
37
|
+
|
|
38
|
+
- [ ] Backup é executado com sucesso
|
|
39
|
+
- [ ] Dados antigos são removidos conforme critério
|
|
40
|
+
- [ ] Performance melhora após limpeza
|