funifier-mcp 0.2.0 → 0.2.3
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 +55 -52
- 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,83 +1,83 @@
|
|
|
1
|
-
# Level (Nível)
|
|
2
|
-
|
|
3
|
-
**Acesso Studio:** `/studio/level`
|
|
4
|
-
**API Endpoint:** `/v3/level`
|
|
5
|
-
|
|
6
|
-
## O que é
|
|
7
|
-
|
|
8
|
-
Sistema de progressão por níveis. Permite definir a progressão dos jogadores com base em pontos acumulados ou outros critérios, atribuindo títulos ou benefícios a cada nível. Pode-se exigir desafios específicos para desbloquear certos níveis.
|
|
9
|
-
|
|
10
|
-
## Quando usar
|
|
11
|
-
|
|
12
|
-
- Para criar senso de progressão e conquista
|
|
13
|
-
- Para desbloquear funcionalidades por nível
|
|
14
|
-
- Para segmentar jogadores por experiência
|
|
15
|
-
- Exemplos: Júnior → Pleno → Sênior; faixas coloridas
|
|
16
|
-
|
|
17
|
-
## Dependências
|
|
18
|
-
|
|
19
|
-
- **Point**: a categoria de ponto usada para progressão deve existir antes
|
|
20
|
-
- **Configuração global**: definir qual ponto controla os níveis via `/v3/database/level_config`
|
|
21
|
-
|
|
22
|
-
## Checklist de Configuração no Studio
|
|
23
|
-
|
|
24
|
-
- [ ] Definir _id do nível (ex: L0, L1, L2)
|
|
25
|
-
- [ ] Definir nome do nível (ex: "Apprentice", "Master")
|
|
26
|
-
- [ ] Definir descrição motivadora
|
|
27
|
-
- [ ] Definir minPoints (pontuação mínima crescente)
|
|
28
|
-
- [ ] Definir position (ordem sequencial, iniciando em 0)
|
|
29
|
-
- [ ] Configurar categoria de ponto global (level_config)
|
|
30
|
-
|
|
31
|
-
## API Endpoints
|
|
32
|
-
|
|
33
|
-
### Listar Níveis
|
|
34
|
-
**Método:** GET
|
|
35
|
-
**Endpoint:** `/v3/level`
|
|
36
|
-
|
|
37
|
-
### Criar Nível
|
|
38
|
-
**Método:** POST
|
|
39
|
-
**Endpoint:** `/v3/level`
|
|
40
|
-
|
|
41
|
-
**Exemplo de Body:**
|
|
42
|
-
```json
|
|
43
|
-
{
|
|
44
|
-
"level": "Apprentice",
|
|
45
|
-
"position": 0,
|
|
46
|
-
"description": "It indicates that you are learning and growing.",
|
|
47
|
-
"minPoints": 10,
|
|
48
|
-
"notifications": [],
|
|
49
|
-
"requirements": [],
|
|
50
|
-
"i18n": {},
|
|
51
|
-
"extra": {},
|
|
52
|
-
"techniques": ["GT85"],
|
|
53
|
-
"_id": "L0"
|
|
54
|
-
}
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### Excluir Nível
|
|
58
|
-
**Método:** DELETE
|
|
59
|
-
**Endpoint:** `/v3/level/:id`
|
|
60
|
-
|
|
61
|
-
### Configurar Ponto Global para Níveis
|
|
62
|
-
**Método:** PUT
|
|
63
|
-
**Endpoint:** `/v3/database/level_config`
|
|
64
|
-
|
|
65
|
-
**Exemplo de Body:**
|
|
66
|
-
```json
|
|
67
|
-
{
|
|
68
|
-
"_id": "global",
|
|
69
|
-
"pointCategory": "xp"
|
|
70
|
-
}
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### Atualizar Posições dos Níveis
|
|
74
|
-
**Método:** PUT
|
|
75
|
-
**Endpoint:** `/v3/level/position`
|
|
76
|
-
**Descrição:** Recalcula posições com base no minPoints.
|
|
77
|
-
|
|
78
|
-
## Validações e Testes
|
|
79
|
-
|
|
80
|
-
- [ ] Níveis aparecem na lista GET /v3/level
|
|
81
|
-
- [ ] minPoints é crescente entre níveis
|
|
82
|
-
- [ ] level_config aponta para o ponto correto
|
|
83
|
-
- [ ] Ao ganhar pontos suficientes, jogador sobe de nível automaticamente
|
|
1
|
+
# Level (Nível)
|
|
2
|
+
|
|
3
|
+
**Acesso Studio:** `/studio/level`
|
|
4
|
+
**API Endpoint:** `/v3/level`
|
|
5
|
+
|
|
6
|
+
## O que é
|
|
7
|
+
|
|
8
|
+
Sistema de progressão por níveis. Permite definir a progressão dos jogadores com base em pontos acumulados ou outros critérios, atribuindo títulos ou benefícios a cada nível. Pode-se exigir desafios específicos para desbloquear certos níveis.
|
|
9
|
+
|
|
10
|
+
## Quando usar
|
|
11
|
+
|
|
12
|
+
- Para criar senso de progressão e conquista
|
|
13
|
+
- Para desbloquear funcionalidades por nível
|
|
14
|
+
- Para segmentar jogadores por experiência
|
|
15
|
+
- Exemplos: Júnior → Pleno → Sênior; faixas coloridas
|
|
16
|
+
|
|
17
|
+
## Dependências
|
|
18
|
+
|
|
19
|
+
- **Point**: a categoria de ponto usada para progressão deve existir antes
|
|
20
|
+
- **Configuração global**: definir qual ponto controla os níveis via `/v3/database/level_config`
|
|
21
|
+
|
|
22
|
+
## Checklist de Configuração no Studio
|
|
23
|
+
|
|
24
|
+
- [ ] Definir _id do nível (ex: L0, L1, L2)
|
|
25
|
+
- [ ] Definir nome do nível (ex: "Apprentice", "Master")
|
|
26
|
+
- [ ] Definir descrição motivadora
|
|
27
|
+
- [ ] Definir minPoints (pontuação mínima crescente)
|
|
28
|
+
- [ ] Definir position (ordem sequencial, iniciando em 0)
|
|
29
|
+
- [ ] Configurar categoria de ponto global (level_config)
|
|
30
|
+
|
|
31
|
+
## API Endpoints
|
|
32
|
+
|
|
33
|
+
### Listar Níveis
|
|
34
|
+
**Método:** GET
|
|
35
|
+
**Endpoint:** `/v3/level`
|
|
36
|
+
|
|
37
|
+
### Criar Nível
|
|
38
|
+
**Método:** POST
|
|
39
|
+
**Endpoint:** `/v3/level`
|
|
40
|
+
|
|
41
|
+
**Exemplo de Body:**
|
|
42
|
+
```json
|
|
43
|
+
{
|
|
44
|
+
"level": "Apprentice",
|
|
45
|
+
"position": 0,
|
|
46
|
+
"description": "It indicates that you are learning and growing.",
|
|
47
|
+
"minPoints": 10,
|
|
48
|
+
"notifications": [],
|
|
49
|
+
"requirements": [],
|
|
50
|
+
"i18n": {},
|
|
51
|
+
"extra": {},
|
|
52
|
+
"techniques": ["GT85"],
|
|
53
|
+
"_id": "L0"
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Excluir Nível
|
|
58
|
+
**Método:** DELETE
|
|
59
|
+
**Endpoint:** `/v3/level/:id`
|
|
60
|
+
|
|
61
|
+
### Configurar Ponto Global para Níveis
|
|
62
|
+
**Método:** PUT
|
|
63
|
+
**Endpoint:** `/v3/database/level_config`
|
|
64
|
+
|
|
65
|
+
**Exemplo de Body:**
|
|
66
|
+
```json
|
|
67
|
+
{
|
|
68
|
+
"_id": "global",
|
|
69
|
+
"pointCategory": "xp"
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Atualizar Posições dos Níveis
|
|
74
|
+
**Método:** PUT
|
|
75
|
+
**Endpoint:** `/v3/level/position`
|
|
76
|
+
**Descrição:** Recalcula posições com base no minPoints.
|
|
77
|
+
|
|
78
|
+
## Validações e Testes
|
|
79
|
+
|
|
80
|
+
- [ ] Níveis aparecem na lista GET /v3/level
|
|
81
|
+
- [ ] minPoints é crescente entre níveis
|
|
82
|
+
- [ ] level_config aponta para o ponto correto
|
|
83
|
+
- [ ] Ao ganhar pontos suficientes, jogador sobe de nível automaticamente
|
|
@@ -1,112 +1,112 @@
|
|
|
1
|
-
# Lottery (Sorteio)
|
|
2
|
-
|
|
3
|
-
**Acesso Studio:** `/studio/lottery`
|
|
4
|
-
**API Endpoint:** `/v3/lottery`
|
|
5
|
-
|
|
6
|
-
## O que é
|
|
7
|
-
|
|
8
|
-
Configuração de sorteios e concursos. Permite criar sorteios nos quais os jogadores participam com cupons obtidos em outras mecânicas, como desafios. É possível definir datas, limites de ganhadores e prêmios para os sorteados.
|
|
9
|
-
|
|
10
|
-
## Quando usar
|
|
11
|
-
|
|
12
|
-
- Para criar campanhas promocionais com prêmios
|
|
13
|
-
- Para sorteios de viagens, produtos ou experiências
|
|
14
|
-
- Para incentivar participação em desafios (cupons como recompensa)
|
|
15
|
-
|
|
16
|
-
## Dependências
|
|
17
|
-
|
|
18
|
-
- **Virtual Good** (opcional): itens podem ser usados como prêmio do sorteio
|
|
19
|
-
|
|
20
|
-
## Checklist de Configuração no Studio
|
|
21
|
-
|
|
22
|
-
- [ ] Definir título e descrição do sorteio
|
|
23
|
-
- [ ] Definir data do sorteio (drawDate)
|
|
24
|
-
- [ ] Definir método de escolha (random_ticket)
|
|
25
|
-
- [ ] Definir número máximo de ganhadores (maxWinners)
|
|
26
|
-
- [ ] Definir limite por jogador (maxPerPlayer)
|
|
27
|
-
- [ ] Configurar recompensas (rewards)
|
|
28
|
-
- [ ] Definir se executa automaticamente (autoExecute)
|
|
29
|
-
|
|
30
|
-
## API Endpoints
|
|
31
|
-
|
|
32
|
-
### Listar Sorteios
|
|
33
|
-
**Método:** GET
|
|
34
|
-
**Endpoint:** `/v3/lottery`
|
|
35
|
-
|
|
36
|
-
**Exemplo de Resposta:**
|
|
37
|
-
```json
|
|
38
|
-
[
|
|
39
|
-
{
|
|
40
|
-
"title": "Travel to Cancun",
|
|
41
|
-
"description": "Travel with a companion to Cancun, with airfare and accommodation, for 7 days.",
|
|
42
|
-
"drawDate": 1690824650503,
|
|
43
|
-
"autoExecute": true,
|
|
44
|
-
"choiceMethod": "random_ticket",
|
|
45
|
-
"maxWinners": 1,
|
|
46
|
-
"maxPerPlayer": 1,
|
|
47
|
-
"techniques": ["GT74"],
|
|
48
|
-
"rewards": [
|
|
49
|
-
{
|
|
50
|
-
"total": 1,
|
|
51
|
-
"type": 2,
|
|
52
|
-
"item": "flight_ticket"
|
|
53
|
-
}
|
|
54
|
-
],
|
|
55
|
-
"_id": "DTj0x5z"
|
|
56
|
-
}
|
|
57
|
-
]
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Criar Sorteio
|
|
61
|
-
**Método:** POST
|
|
62
|
-
**Endpoint:** `/v3/lottery`
|
|
63
|
-
(Body igual ao exemplo de resposta acima)
|
|
64
|
-
|
|
65
|
-
### Deletar Sorteio
|
|
66
|
-
**Método:** DELETE
|
|
67
|
-
**Endpoint:** `/v3/lottery/:id`
|
|
68
|
-
|
|
69
|
-
### Listar Cupons
|
|
70
|
-
**Método:** GET
|
|
71
|
-
**Endpoint:** `/v3/lottery/ticket?lottery=:id`
|
|
72
|
-
|
|
73
|
-
### Criar Cupom
|
|
74
|
-
**Método:** POST
|
|
75
|
-
**Endpoint:** `/v3/lottery/ticket`
|
|
76
|
-
|
|
77
|
-
**Exemplo de Body:**
|
|
78
|
-
```json
|
|
79
|
-
{
|
|
80
|
-
"lottery": "DTj0x5z",
|
|
81
|
-
"player": "tom"
|
|
82
|
-
}
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### Deletar Cupom
|
|
86
|
-
**Método:** DELETE
|
|
87
|
-
**Endpoint:** `/v3/lottery/ticket/:id`
|
|
88
|
-
|
|
89
|
-
### Executar Sorteio
|
|
90
|
-
**Método:** GET
|
|
91
|
-
**Endpoint:** `/v3/lottery/:id/execute`
|
|
92
|
-
**Descrição:** Executa o sorteio e seleciona os vencedores aleatoriamente.
|
|
93
|
-
|
|
94
|
-
### Reverter Execução do Sorteio
|
|
95
|
-
**Método:** DELETE
|
|
96
|
-
**Endpoint:** `/v3/lottery/:id/execute`
|
|
97
|
-
|
|
98
|
-
### Listar Vencedores
|
|
99
|
-
**Método:** GET
|
|
100
|
-
**Endpoint:** `/v3/lottery/winner?lottery=:id`
|
|
101
|
-
|
|
102
|
-
### Listar Participantes
|
|
103
|
-
**Método:** GET
|
|
104
|
-
**Endpoint:** `/v3/lottery/participants?lottery=:id`
|
|
105
|
-
|
|
106
|
-
## Validações e Testes
|
|
107
|
-
|
|
108
|
-
- [ ] Sorteio aparece na lista GET /v3/lottery
|
|
109
|
-
- [ ] Cupom é criado corretamente para jogador
|
|
110
|
-
- [ ] Ao executar sorteio, vencedor é selecionado
|
|
111
|
-
- [ ] Lista de vencedores retorna dados corretos
|
|
112
|
-
- [ ] Reverter execução funciona
|
|
1
|
+
# Lottery (Sorteio)
|
|
2
|
+
|
|
3
|
+
**Acesso Studio:** `/studio/lottery`
|
|
4
|
+
**API Endpoint:** `/v3/lottery`
|
|
5
|
+
|
|
6
|
+
## O que é
|
|
7
|
+
|
|
8
|
+
Configuração de sorteios e concursos. Permite criar sorteios nos quais os jogadores participam com cupons obtidos em outras mecânicas, como desafios. É possível definir datas, limites de ganhadores e prêmios para os sorteados.
|
|
9
|
+
|
|
10
|
+
## Quando usar
|
|
11
|
+
|
|
12
|
+
- Para criar campanhas promocionais com prêmios
|
|
13
|
+
- Para sorteios de viagens, produtos ou experiências
|
|
14
|
+
- Para incentivar participação em desafios (cupons como recompensa)
|
|
15
|
+
|
|
16
|
+
## Dependências
|
|
17
|
+
|
|
18
|
+
- **Virtual Good** (opcional): itens podem ser usados como prêmio do sorteio
|
|
19
|
+
|
|
20
|
+
## Checklist de Configuração no Studio
|
|
21
|
+
|
|
22
|
+
- [ ] Definir título e descrição do sorteio
|
|
23
|
+
- [ ] Definir data do sorteio (drawDate)
|
|
24
|
+
- [ ] Definir método de escolha (random_ticket)
|
|
25
|
+
- [ ] Definir número máximo de ganhadores (maxWinners)
|
|
26
|
+
- [ ] Definir limite por jogador (maxPerPlayer)
|
|
27
|
+
- [ ] Configurar recompensas (rewards)
|
|
28
|
+
- [ ] Definir se executa automaticamente (autoExecute)
|
|
29
|
+
|
|
30
|
+
## API Endpoints
|
|
31
|
+
|
|
32
|
+
### Listar Sorteios
|
|
33
|
+
**Método:** GET
|
|
34
|
+
**Endpoint:** `/v3/lottery`
|
|
35
|
+
|
|
36
|
+
**Exemplo de Resposta:**
|
|
37
|
+
```json
|
|
38
|
+
[
|
|
39
|
+
{
|
|
40
|
+
"title": "Travel to Cancun",
|
|
41
|
+
"description": "Travel with a companion to Cancun, with airfare and accommodation, for 7 days.",
|
|
42
|
+
"drawDate": 1690824650503,
|
|
43
|
+
"autoExecute": true,
|
|
44
|
+
"choiceMethod": "random_ticket",
|
|
45
|
+
"maxWinners": 1,
|
|
46
|
+
"maxPerPlayer": 1,
|
|
47
|
+
"techniques": ["GT74"],
|
|
48
|
+
"rewards": [
|
|
49
|
+
{
|
|
50
|
+
"total": 1,
|
|
51
|
+
"type": 2,
|
|
52
|
+
"item": "flight_ticket"
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"_id": "DTj0x5z"
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Criar Sorteio
|
|
61
|
+
**Método:** POST
|
|
62
|
+
**Endpoint:** `/v3/lottery`
|
|
63
|
+
(Body igual ao exemplo de resposta acima)
|
|
64
|
+
|
|
65
|
+
### Deletar Sorteio
|
|
66
|
+
**Método:** DELETE
|
|
67
|
+
**Endpoint:** `/v3/lottery/:id`
|
|
68
|
+
|
|
69
|
+
### Listar Cupons
|
|
70
|
+
**Método:** GET
|
|
71
|
+
**Endpoint:** `/v3/lottery/ticket?lottery=:id`
|
|
72
|
+
|
|
73
|
+
### Criar Cupom
|
|
74
|
+
**Método:** POST
|
|
75
|
+
**Endpoint:** `/v3/lottery/ticket`
|
|
76
|
+
|
|
77
|
+
**Exemplo de Body:**
|
|
78
|
+
```json
|
|
79
|
+
{
|
|
80
|
+
"lottery": "DTj0x5z",
|
|
81
|
+
"player": "tom"
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Deletar Cupom
|
|
86
|
+
**Método:** DELETE
|
|
87
|
+
**Endpoint:** `/v3/lottery/ticket/:id`
|
|
88
|
+
|
|
89
|
+
### Executar Sorteio
|
|
90
|
+
**Método:** GET
|
|
91
|
+
**Endpoint:** `/v3/lottery/:id/execute`
|
|
92
|
+
**Descrição:** Executa o sorteio e seleciona os vencedores aleatoriamente.
|
|
93
|
+
|
|
94
|
+
### Reverter Execução do Sorteio
|
|
95
|
+
**Método:** DELETE
|
|
96
|
+
**Endpoint:** `/v3/lottery/:id/execute`
|
|
97
|
+
|
|
98
|
+
### Listar Vencedores
|
|
99
|
+
**Método:** GET
|
|
100
|
+
**Endpoint:** `/v3/lottery/winner?lottery=:id`
|
|
101
|
+
|
|
102
|
+
### Listar Participantes
|
|
103
|
+
**Método:** GET
|
|
104
|
+
**Endpoint:** `/v3/lottery/participants?lottery=:id`
|
|
105
|
+
|
|
106
|
+
## Validações e Testes
|
|
107
|
+
|
|
108
|
+
- [ ] Sorteio aparece na lista GET /v3/lottery
|
|
109
|
+
- [ ] Cupom é criado corretamente para jogador
|
|
110
|
+
- [ ] Ao executar sorteio, vencedor é selecionado
|
|
111
|
+
- [ ] Lista de vencedores retorna dados corretos
|
|
112
|
+
- [ ] Reverter execução funciona
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
# Marketplace (Mercado)
|
|
2
|
-
|
|
3
|
-
**Acesso Studio:** `/market`
|
|
4
|
-
|
|
5
|
-
## O que é
|
|
6
|
-
|
|
7
|
-
Compartilhamento e reutilização de componentes prontos para gamificações. Disponibiliza um catálogo de componentes já configurados — como desafios, rankings, widgets, modelos de gamificação — que podem ser reutilizados em diferentes projetos, acelerando a implementação.
|
|
8
|
-
|
|
9
|
-
## Quando usar
|
|
10
|
-
|
|
11
|
-
- Para reutilizar modelos de gamificação validados
|
|
12
|
-
- Para compartilhar componentes entre departamentos
|
|
13
|
-
- Para acelerar implementação com templates prontos
|
|
14
|
-
- Para padronizar gamificações na organização
|
|
15
|
-
|
|
16
|
-
## Checklist de Configuração
|
|
17
|
-
|
|
18
|
-
- [ ] Acessar o marketplace via /market
|
|
19
|
-
- [ ] Selecionar componente desejado
|
|
20
|
-
- [ ] Importar para a gamificação atual
|
|
21
|
-
- [ ] Customizar conforme necessidade
|
|
22
|
-
|
|
23
|
-
## Validações e Testes
|
|
24
|
-
|
|
25
|
-
- [ ] Componente é importado com sucesso
|
|
26
|
-
- [ ] Configurações importadas estão corretas
|
|
27
|
-
- [ ] Componente funciona na gamificação atual
|
|
1
|
+
# Marketplace (Mercado)
|
|
2
|
+
|
|
3
|
+
**Acesso Studio:** `/market`
|
|
4
|
+
|
|
5
|
+
## O que é
|
|
6
|
+
|
|
7
|
+
Compartilhamento e reutilização de componentes prontos para gamificações. Disponibiliza um catálogo de componentes já configurados — como desafios, rankings, widgets, modelos de gamificação — que podem ser reutilizados em diferentes projetos, acelerando a implementação.
|
|
8
|
+
|
|
9
|
+
## Quando usar
|
|
10
|
+
|
|
11
|
+
- Para reutilizar modelos de gamificação validados
|
|
12
|
+
- Para compartilhar componentes entre departamentos
|
|
13
|
+
- Para acelerar implementação com templates prontos
|
|
14
|
+
- Para padronizar gamificações na organização
|
|
15
|
+
|
|
16
|
+
## Checklist de Configuração
|
|
17
|
+
|
|
18
|
+
- [ ] Acessar o marketplace via /market
|
|
19
|
+
- [ ] Selecionar componente desejado
|
|
20
|
+
- [ ] Importar para a gamificação atual
|
|
21
|
+
- [ ] Customizar conforme necessidade
|
|
22
|
+
|
|
23
|
+
## Validações e Testes
|
|
24
|
+
|
|
25
|
+
- [ ] Componente é importado com sucesso
|
|
26
|
+
- [ ] Configurações importadas estão corretas
|
|
27
|
+
- [ ] Componente funciona na gamificação atual
|
|
@@ -1,82 +1,82 @@
|
|
|
1
|
-
# Mystery (Mistério / Caixa Surpresa)
|
|
2
|
-
|
|
3
|
-
**Acesso Studio:** `/studio/mystery`
|
|
4
|
-
**API Endpoint:** `/v3/mystery`
|
|
5
|
-
|
|
6
|
-
## O que é
|
|
7
|
-
|
|
8
|
-
Jogos de probabilidade e recompensas aleatórias. Permite criar experiências como caixas surpresa, rodas da fortuna, raspadinhas e outros jogos baseados em sorte, definindo as chances e prêmios disponíveis.
|
|
9
|
-
|
|
10
|
-
## Quando usar
|
|
11
|
-
|
|
12
|
-
- Para criar rodas da fortuna
|
|
13
|
-
- Para raspadinhas premiadas
|
|
14
|
-
- Para jogos de cara ou coroa
|
|
15
|
-
- Para recompensas aleatórias com probabilidades definidas
|
|
16
|
-
|
|
17
|
-
## Checklist de Configuração no Studio
|
|
18
|
-
|
|
19
|
-
- [ ] Definir título da mystery box
|
|
20
|
-
- [ ] Definir opções com probabilidades (devem somar 1.0)
|
|
21
|
-
- [ ] Definir número de colunas para exibição
|
|
22
|
-
- [ ] Configurar combinações vencedoras (win_chart)
|
|
23
|
-
- [ ] Definir recompensas para cada combinação
|
|
24
|
-
- [ ] Configurar requisitos para jogar (requirements)
|
|
25
|
-
|
|
26
|
-
## API Endpoints
|
|
27
|
-
|
|
28
|
-
### Listar Mystery Boxes
|
|
29
|
-
**Método:** GET
|
|
30
|
-
**Endpoint:** `/v3/mystery`
|
|
31
|
-
|
|
32
|
-
### Criar Mystery Box
|
|
33
|
-
**Método:** POST
|
|
34
|
-
**Endpoint:** `/v3/mystery`
|
|
35
|
-
|
|
36
|
-
**Exemplo de Body:**
|
|
37
|
-
```json
|
|
38
|
-
{
|
|
39
|
-
"title": "Heads or Tails",
|
|
40
|
-
"options": [
|
|
41
|
-
{ "title": "Heads", "value": "heads", "probability": 0.5 },
|
|
42
|
-
{ "title": "Tails", "value": "tails", "probability": 0.5 }
|
|
43
|
-
],
|
|
44
|
-
"columns": 1,
|
|
45
|
-
"requirements": [],
|
|
46
|
-
"win_chart": [
|
|
47
|
-
{
|
|
48
|
-
"combination": ["heads"],
|
|
49
|
-
"orderSensitive": false,
|
|
50
|
-
"reward": {
|
|
51
|
-
"total": 1,
|
|
52
|
-
"type": 0,
|
|
53
|
-
"item": "coin"
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
],
|
|
57
|
-
"techniques": ["GT72"],
|
|
58
|
-
"_id": "64a5b464d8dcca49bcf7edd0"
|
|
59
|
-
}
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### Deletar Mystery Box
|
|
63
|
-
**Método:** DELETE
|
|
64
|
-
**Endpoint:** `/v3/mystery/:id`
|
|
65
|
-
|
|
66
|
-
### Avaliar Condições
|
|
67
|
-
**Método:** GET
|
|
68
|
-
**Endpoint:** `/v3/mystery/evaluate/:id?player=:player_id`
|
|
69
|
-
**Descrição:** Verifica se o jogador está apto a executar a Mystery Box.
|
|
70
|
-
|
|
71
|
-
### Executar Mystery Box
|
|
72
|
-
**Método:** GET
|
|
73
|
-
**Endpoint:** `/v3/mystery/execute/:id?player=:player_id`
|
|
74
|
-
**Descrição:** Executa o sorteio e retorna o resultado.
|
|
75
|
-
|
|
76
|
-
## Validações e Testes
|
|
77
|
-
|
|
78
|
-
- [ ] Mystery Box aparece na lista
|
|
79
|
-
- [ ] Soma das probabilidades é 1.0
|
|
80
|
-
- [ ] Jogador consegue executar a mystery box
|
|
81
|
-
- [ ] Combinação vencedora entrega recompensa corretamente
|
|
82
|
-
- [ ] Requisitos são validados antes da execução
|
|
1
|
+
# Mystery (Mistério / Caixa Surpresa)
|
|
2
|
+
|
|
3
|
+
**Acesso Studio:** `/studio/mystery`
|
|
4
|
+
**API Endpoint:** `/v3/mystery`
|
|
5
|
+
|
|
6
|
+
## O que é
|
|
7
|
+
|
|
8
|
+
Jogos de probabilidade e recompensas aleatórias. Permite criar experiências como caixas surpresa, rodas da fortuna, raspadinhas e outros jogos baseados em sorte, definindo as chances e prêmios disponíveis.
|
|
9
|
+
|
|
10
|
+
## Quando usar
|
|
11
|
+
|
|
12
|
+
- Para criar rodas da fortuna
|
|
13
|
+
- Para raspadinhas premiadas
|
|
14
|
+
- Para jogos de cara ou coroa
|
|
15
|
+
- Para recompensas aleatórias com probabilidades definidas
|
|
16
|
+
|
|
17
|
+
## Checklist de Configuração no Studio
|
|
18
|
+
|
|
19
|
+
- [ ] Definir título da mystery box
|
|
20
|
+
- [ ] Definir opções com probabilidades (devem somar 1.0)
|
|
21
|
+
- [ ] Definir número de colunas para exibição
|
|
22
|
+
- [ ] Configurar combinações vencedoras (win_chart)
|
|
23
|
+
- [ ] Definir recompensas para cada combinação
|
|
24
|
+
- [ ] Configurar requisitos para jogar (requirements)
|
|
25
|
+
|
|
26
|
+
## API Endpoints
|
|
27
|
+
|
|
28
|
+
### Listar Mystery Boxes
|
|
29
|
+
**Método:** GET
|
|
30
|
+
**Endpoint:** `/v3/mystery`
|
|
31
|
+
|
|
32
|
+
### Criar Mystery Box
|
|
33
|
+
**Método:** POST
|
|
34
|
+
**Endpoint:** `/v3/mystery`
|
|
35
|
+
|
|
36
|
+
**Exemplo de Body:**
|
|
37
|
+
```json
|
|
38
|
+
{
|
|
39
|
+
"title": "Heads or Tails",
|
|
40
|
+
"options": [
|
|
41
|
+
{ "title": "Heads", "value": "heads", "probability": 0.5 },
|
|
42
|
+
{ "title": "Tails", "value": "tails", "probability": 0.5 }
|
|
43
|
+
],
|
|
44
|
+
"columns": 1,
|
|
45
|
+
"requirements": [],
|
|
46
|
+
"win_chart": [
|
|
47
|
+
{
|
|
48
|
+
"combination": ["heads"],
|
|
49
|
+
"orderSensitive": false,
|
|
50
|
+
"reward": {
|
|
51
|
+
"total": 1,
|
|
52
|
+
"type": 0,
|
|
53
|
+
"item": "coin"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
],
|
|
57
|
+
"techniques": ["GT72"],
|
|
58
|
+
"_id": "64a5b464d8dcca49bcf7edd0"
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Deletar Mystery Box
|
|
63
|
+
**Método:** DELETE
|
|
64
|
+
**Endpoint:** `/v3/mystery/:id`
|
|
65
|
+
|
|
66
|
+
### Avaliar Condições
|
|
67
|
+
**Método:** GET
|
|
68
|
+
**Endpoint:** `/v3/mystery/evaluate/:id?player=:player_id`
|
|
69
|
+
**Descrição:** Verifica se o jogador está apto a executar a Mystery Box.
|
|
70
|
+
|
|
71
|
+
### Executar Mystery Box
|
|
72
|
+
**Método:** GET
|
|
73
|
+
**Endpoint:** `/v3/mystery/execute/:id?player=:player_id`
|
|
74
|
+
**Descrição:** Executa o sorteio e retorna o resultado.
|
|
75
|
+
|
|
76
|
+
## Validações e Testes
|
|
77
|
+
|
|
78
|
+
- [ ] Mystery Box aparece na lista
|
|
79
|
+
- [ ] Soma das probabilidades é 1.0
|
|
80
|
+
- [ ] Jogador consegue executar a mystery box
|
|
81
|
+
- [ ] Combinação vencedora entrega recompensa corretamente
|
|
82
|
+
- [ ] Requisitos são validados antes da execução
|