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,111 +1,111 @@
|
|
|
1
|
-
# Folder (Pasta)
|
|
2
|
-
|
|
3
|
-
**Acesso Studio:** `/studio/folder`
|
|
4
|
-
**API Endpoint:** `/v3/folder`
|
|
5
|
-
|
|
6
|
-
## O que é
|
|
7
|
-
|
|
8
|
-
Organização de conteúdos e monitoramento do progresso em cursos ou trilhas. Permite criar pastas virtuais para agrupar conteúdos como quizzes, desafios, materiais de estudo e jogos, facilitando o acompanhamento do progresso dos jogadores em jornadas de aprendizagem ou trilhas gamificadas.
|
|
9
|
-
|
|
10
|
-
## Quando usar
|
|
11
|
-
|
|
12
|
-
- Para estruturar cursos online
|
|
13
|
-
- Para criar trilhas de capacitação
|
|
14
|
-
- Para acompanhar progresso em treinamentos
|
|
15
|
-
- Para organizar conteúdos em hierarquias (módulos → aulas → conteúdos)
|
|
16
|
-
|
|
17
|
-
## Checklist de Configuração no Studio
|
|
18
|
-
|
|
19
|
-
- [ ] Criar estrutura hierárquica de pastas
|
|
20
|
-
- [ ] Definir títulos das pastas
|
|
21
|
-
- [ ] Associar conteúdos às pastas (quizzes, desafios, textos)
|
|
22
|
-
- [ ] Definir tipos de conteúdo (folder_content_type)
|
|
23
|
-
- [ ] Configurar pasta-pai (parent) para hierarquia
|
|
24
|
-
|
|
25
|
-
## API Endpoints
|
|
26
|
-
|
|
27
|
-
### Listar Pastas
|
|
28
|
-
**Método:** GET
|
|
29
|
-
**Endpoint:** `/v3/database/folder`
|
|
30
|
-
|
|
31
|
-
### Criar Pasta
|
|
32
|
-
**Método:** POST
|
|
33
|
-
**Endpoint:** `/v3/folder`
|
|
34
|
-
|
|
35
|
-
**Exemplo de Body:**
|
|
36
|
-
```json
|
|
37
|
-
{
|
|
38
|
-
"title": "CoreDrives",
|
|
39
|
-
"parent": "D0MmmNf"
|
|
40
|
-
}
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### Deletar Pasta
|
|
44
|
-
**Método:** DELETE
|
|
45
|
-
**Endpoint:** `/v3/folder/:id`
|
|
46
|
-
|
|
47
|
-
### Obter Breadcrumb
|
|
48
|
-
**Método:** POST
|
|
49
|
-
**Endpoint:** `/v3/folder/breadcrumb`
|
|
50
|
-
|
|
51
|
-
**Exemplo de Body:**
|
|
52
|
-
```json
|
|
53
|
-
{
|
|
54
|
-
"folder": "CD1"
|
|
55
|
-
}
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### Listar Tipos de Conteúdo
|
|
59
|
-
**Método:** GET
|
|
60
|
-
**Endpoint:** `/v3/database/folder_content_type`
|
|
61
|
-
|
|
62
|
-
### Criar/Atualizar Tipo de Conteúdo
|
|
63
|
-
**Método:** PUT
|
|
64
|
-
**Endpoint:** `/v3/database/folder_content_type`
|
|
65
|
-
|
|
66
|
-
**Exemplo de Body:**
|
|
67
|
-
```json
|
|
68
|
-
{
|
|
69
|
-
"_id": "text",
|
|
70
|
-
"input": "formulary",
|
|
71
|
-
"form": [
|
|
72
|
-
{ "name": "title", "type": "string", "title": "Title" },
|
|
73
|
-
{ "name": "content", "type": "text", "title": "Content" }
|
|
74
|
-
],
|
|
75
|
-
"title": "Text",
|
|
76
|
-
"entity": "text__c"
|
|
77
|
-
}
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## Casos de Uso Comuns
|
|
81
|
-
|
|
82
|
-
- **Curso Online:** Pasta raiz "Curso de Vendas" → Subpastas "Módulo 1", "Módulo 2" → Conteúdos (textos, vídeos, quizzes)
|
|
83
|
-
- **Trilha de Capacitação:** Pastas representam etapas; cada etapa contém materiais e avaliações
|
|
84
|
-
- **Catálogo de Produtos:** Pastas como categorias; conteúdos como fichas de produto
|
|
85
|
-
- **Onboarding:** Pastas representam fases do onboarding; progresso monitora completude
|
|
86
|
-
|
|
87
|
-
## Progresso do Jogador
|
|
88
|
-
|
|
89
|
-
O Folder monitora automaticamente o progresso do jogador dentro da árvore de diretórios. Isso permite:
|
|
90
|
-
|
|
91
|
-
- Saber que um jogador completou X% de um curso
|
|
92
|
-
- Registrar action logs ao progredir (aciona técnicas de jogos)
|
|
93
|
-
- Criar desafios vinculados à completude de um folder (ex: "Complete o curso para ganhar 500 XP")
|
|
94
|
-
|
|
95
|
-
## Integração com Outras Técnicas
|
|
96
|
-
|
|
97
|
-
| Técnica | Integração |
|
|
98
|
-
|---------|-----------|
|
|
99
|
-
| **Challenge** | Desafio completado quando jogador termina todos os itens de um folder |
|
|
100
|
-
| **Quiz** | Quizzes podem ser conteúdos dentro de um folder |
|
|
101
|
-
| **Point** | Pontos concedidos ao progredir no folder |
|
|
102
|
-
| **Achievement** | Conquista desbloqueada ao completar 100% do folder |
|
|
103
|
-
|
|
104
|
-
## Validações e Testes
|
|
105
|
-
|
|
106
|
-
- [ ] Pasta aparece na lista
|
|
107
|
-
- [ ] Hierarquia pai-filho funciona
|
|
108
|
-
- [ ] Breadcrumb retorna caminho correto
|
|
109
|
-
- [ ] Conteúdos são associados corretamente
|
|
110
|
-
- [ ] Progresso do jogador é calculado corretamente
|
|
111
|
-
- [ ] Action log é gerado ao progredir
|
|
1
|
+
# Folder (Pasta)
|
|
2
|
+
|
|
3
|
+
**Acesso Studio:** `/studio/folder`
|
|
4
|
+
**API Endpoint:** `/v3/folder`
|
|
5
|
+
|
|
6
|
+
## O que é
|
|
7
|
+
|
|
8
|
+
Organização de conteúdos e monitoramento do progresso em cursos ou trilhas. Permite criar pastas virtuais para agrupar conteúdos como quizzes, desafios, materiais de estudo e jogos, facilitando o acompanhamento do progresso dos jogadores em jornadas de aprendizagem ou trilhas gamificadas.
|
|
9
|
+
|
|
10
|
+
## Quando usar
|
|
11
|
+
|
|
12
|
+
- Para estruturar cursos online
|
|
13
|
+
- Para criar trilhas de capacitação
|
|
14
|
+
- Para acompanhar progresso em treinamentos
|
|
15
|
+
- Para organizar conteúdos em hierarquias (módulos → aulas → conteúdos)
|
|
16
|
+
|
|
17
|
+
## Checklist de Configuração no Studio
|
|
18
|
+
|
|
19
|
+
- [ ] Criar estrutura hierárquica de pastas
|
|
20
|
+
- [ ] Definir títulos das pastas
|
|
21
|
+
- [ ] Associar conteúdos às pastas (quizzes, desafios, textos)
|
|
22
|
+
- [ ] Definir tipos de conteúdo (folder_content_type)
|
|
23
|
+
- [ ] Configurar pasta-pai (parent) para hierarquia
|
|
24
|
+
|
|
25
|
+
## API Endpoints
|
|
26
|
+
|
|
27
|
+
### Listar Pastas
|
|
28
|
+
**Método:** GET
|
|
29
|
+
**Endpoint:** `/v3/database/folder`
|
|
30
|
+
|
|
31
|
+
### Criar Pasta
|
|
32
|
+
**Método:** POST
|
|
33
|
+
**Endpoint:** `/v3/folder`
|
|
34
|
+
|
|
35
|
+
**Exemplo de Body:**
|
|
36
|
+
```json
|
|
37
|
+
{
|
|
38
|
+
"title": "CoreDrives",
|
|
39
|
+
"parent": "D0MmmNf"
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Deletar Pasta
|
|
44
|
+
**Método:** DELETE
|
|
45
|
+
**Endpoint:** `/v3/folder/:id`
|
|
46
|
+
|
|
47
|
+
### Obter Breadcrumb
|
|
48
|
+
**Método:** POST
|
|
49
|
+
**Endpoint:** `/v3/folder/breadcrumb`
|
|
50
|
+
|
|
51
|
+
**Exemplo de Body:**
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"folder": "CD1"
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Listar Tipos de Conteúdo
|
|
59
|
+
**Método:** GET
|
|
60
|
+
**Endpoint:** `/v3/database/folder_content_type`
|
|
61
|
+
|
|
62
|
+
### Criar/Atualizar Tipo de Conteúdo
|
|
63
|
+
**Método:** PUT
|
|
64
|
+
**Endpoint:** `/v3/database/folder_content_type`
|
|
65
|
+
|
|
66
|
+
**Exemplo de Body:**
|
|
67
|
+
```json
|
|
68
|
+
{
|
|
69
|
+
"_id": "text",
|
|
70
|
+
"input": "formulary",
|
|
71
|
+
"form": [
|
|
72
|
+
{ "name": "title", "type": "string", "title": "Title" },
|
|
73
|
+
{ "name": "content", "type": "text", "title": "Content" }
|
|
74
|
+
],
|
|
75
|
+
"title": "Text",
|
|
76
|
+
"entity": "text__c"
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Casos de Uso Comuns
|
|
81
|
+
|
|
82
|
+
- **Curso Online:** Pasta raiz "Curso de Vendas" → Subpastas "Módulo 1", "Módulo 2" → Conteúdos (textos, vídeos, quizzes)
|
|
83
|
+
- **Trilha de Capacitação:** Pastas representam etapas; cada etapa contém materiais e avaliações
|
|
84
|
+
- **Catálogo de Produtos:** Pastas como categorias; conteúdos como fichas de produto
|
|
85
|
+
- **Onboarding:** Pastas representam fases do onboarding; progresso monitora completude
|
|
86
|
+
|
|
87
|
+
## Progresso do Jogador
|
|
88
|
+
|
|
89
|
+
O Folder monitora automaticamente o progresso do jogador dentro da árvore de diretórios. Isso permite:
|
|
90
|
+
|
|
91
|
+
- Saber que um jogador completou X% de um curso
|
|
92
|
+
- Registrar action logs ao progredir (aciona técnicas de jogos)
|
|
93
|
+
- Criar desafios vinculados à completude de um folder (ex: "Complete o curso para ganhar 500 XP")
|
|
94
|
+
|
|
95
|
+
## Integração com Outras Técnicas
|
|
96
|
+
|
|
97
|
+
| Técnica | Integração |
|
|
98
|
+
|---------|-----------|
|
|
99
|
+
| **Challenge** | Desafio completado quando jogador termina todos os itens de um folder |
|
|
100
|
+
| **Quiz** | Quizzes podem ser conteúdos dentro de um folder |
|
|
101
|
+
| **Point** | Pontos concedidos ao progredir no folder |
|
|
102
|
+
| **Achievement** | Conquista desbloqueada ao completar 100% do folder |
|
|
103
|
+
|
|
104
|
+
## Validações e Testes
|
|
105
|
+
|
|
106
|
+
- [ ] Pasta aparece na lista
|
|
107
|
+
- [ ] Hierarquia pai-filho funciona
|
|
108
|
+
- [ ] Breadcrumb retorna caminho correto
|
|
109
|
+
- [ ] Conteúdos são associados corretamente
|
|
110
|
+
- [ ] Progresso do jogador é calculado corretamente
|
|
111
|
+
- [ ] Action log é gerado ao progredir
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
# KPI Formulas (Fórmulas de KPI)
|
|
2
|
-
|
|
3
|
-
## O que é
|
|
4
|
-
|
|
5
|
-
Configuração de regras e cálculos avançados para avaliar ações dos jogadores. Permite criar fórmulas customizadas para avaliação de desempenho e resultados, indo além das regras padrão dos outros módulos.
|
|
6
|
-
|
|
7
|
-
## Quando usar
|
|
8
|
-
|
|
9
|
-
- Para cálculos avançados de desempenho que os módulos padrão não atendem
|
|
10
|
-
- Para fórmulas considerando múltiplos critérios (quantidade, valor, tempo)
|
|
11
|
-
- Para regras avançadas de rankings
|
|
12
|
-
- **Importante:** usar com critério, apenas quando recursos padrão não atendem
|
|
13
|
-
|
|
14
|
-
## Checklist de Configuração
|
|
15
|
-
|
|
16
|
-
- [ ] Definir a fórmula de cálculo
|
|
17
|
-
- [ ] Vincular aos desafios ou rankings relevantes
|
|
18
|
-
- [ ] Testar com dados reais
|
|
19
|
-
|
|
20
|
-
## Validações e Testes
|
|
21
|
-
|
|
22
|
-
- [ ] Fórmula retorna resultados esperados
|
|
23
|
-
- [ ] Cálculo funciona com diferentes combinações de dados
|
|
1
|
+
# KPI Formulas (Fórmulas de KPI)
|
|
2
|
+
|
|
3
|
+
## O que é
|
|
4
|
+
|
|
5
|
+
Configuração de regras e cálculos avançados para avaliar ações dos jogadores. Permite criar fórmulas customizadas para avaliação de desempenho e resultados, indo além das regras padrão dos outros módulos.
|
|
6
|
+
|
|
7
|
+
## Quando usar
|
|
8
|
+
|
|
9
|
+
- Para cálculos avançados de desempenho que os módulos padrão não atendem
|
|
10
|
+
- Para fórmulas considerando múltiplos critérios (quantidade, valor, tempo)
|
|
11
|
+
- Para regras avançadas de rankings
|
|
12
|
+
- **Importante:** usar com critério, apenas quando recursos padrão não atendem
|
|
13
|
+
|
|
14
|
+
## Checklist de Configuração
|
|
15
|
+
|
|
16
|
+
- [ ] Definir a fórmula de cálculo
|
|
17
|
+
- [ ] Vincular aos desafios ou rankings relevantes
|
|
18
|
+
- [ ] Testar com dados reais
|
|
19
|
+
|
|
20
|
+
## Validações e Testes
|
|
21
|
+
|
|
22
|
+
- [ ] Fórmula retorna resultados esperados
|
|
23
|
+
- [ ] Cálculo funciona com diferentes combinações de dados
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
# LastMile (Última Milha)
|
|
2
|
-
|
|
3
|
-
**Acesso Studio:** `/studio/lastmile`
|
|
4
|
-
**API Endpoint:** `/v3/lastmile`
|
|
5
|
-
|
|
6
|
-
## O que é
|
|
7
|
-
|
|
8
|
-
Envio de mensagens motivacionais quando o jogador está próximo de uma meta. Permite configurar mensagens automáticas para engajar e lembrar os jogadores sobre metas e desafios que estão prestes a serem concluídos, aumentando a taxa de finalização.
|
|
9
|
-
|
|
10
|
-
## Quando usar
|
|
11
|
-
|
|
12
|
-
- Para lembrar jogadores que estão perto de completar desafios
|
|
13
|
-
- Para aumentar taxa de conclusão de metas
|
|
14
|
-
- Para enviar mensagens motivacionais personalizadas
|
|
15
|
-
- Para engajar jogadores que estão a 80-90% de uma meta
|
|
16
|
-
|
|
17
|
-
## Dependências
|
|
18
|
-
|
|
19
|
-
- **Challenge**: desafios devem existir para monitorar progresso
|
|
20
|
-
|
|
21
|
-
## Checklist de Configuração no Studio
|
|
22
|
-
|
|
23
|
-
- [ ] Definir condição de disparo (% de progresso)
|
|
24
|
-
- [ ] Definir mensagem motivacional
|
|
25
|
-
- [ ] Vincular ao desafio ou meta específica
|
|
26
|
-
|
|
27
|
-
## API Endpoints
|
|
28
|
-
|
|
29
|
-
### Listar LastMile
|
|
30
|
-
**Método:** GET
|
|
31
|
-
**Endpoint:** `/v3/lastmile`
|
|
32
|
-
|
|
33
|
-
### Criar LastMile
|
|
34
|
-
**Método:** POST
|
|
35
|
-
**Endpoint:** `/v3/lastmile`
|
|
36
|
-
|
|
37
|
-
### Deletar LastMile
|
|
38
|
-
**Método:** DELETE
|
|
39
|
-
**Endpoint:** `/v3/lastmile/:id`
|
|
40
|
-
|
|
41
|
-
## Validações e Testes
|
|
42
|
-
|
|
43
|
-
- [ ] Configuração de LastMile aparece na lista
|
|
44
|
-
- [ ] Mensagem é disparada ao atingir % configurado
|
|
45
|
-
- [ ] Jogador recebe notificação corretamente
|
|
1
|
+
# LastMile (Última Milha)
|
|
2
|
+
|
|
3
|
+
**Acesso Studio:** `/studio/lastmile`
|
|
4
|
+
**API Endpoint:** `/v3/lastmile`
|
|
5
|
+
|
|
6
|
+
## O que é
|
|
7
|
+
|
|
8
|
+
Envio de mensagens motivacionais quando o jogador está próximo de uma meta. Permite configurar mensagens automáticas para engajar e lembrar os jogadores sobre metas e desafios que estão prestes a serem concluídos, aumentando a taxa de finalização.
|
|
9
|
+
|
|
10
|
+
## Quando usar
|
|
11
|
+
|
|
12
|
+
- Para lembrar jogadores que estão perto de completar desafios
|
|
13
|
+
- Para aumentar taxa de conclusão de metas
|
|
14
|
+
- Para enviar mensagens motivacionais personalizadas
|
|
15
|
+
- Para engajar jogadores que estão a 80-90% de uma meta
|
|
16
|
+
|
|
17
|
+
## Dependências
|
|
18
|
+
|
|
19
|
+
- **Challenge**: desafios devem existir para monitorar progresso
|
|
20
|
+
|
|
21
|
+
## Checklist de Configuração no Studio
|
|
22
|
+
|
|
23
|
+
- [ ] Definir condição de disparo (% de progresso)
|
|
24
|
+
- [ ] Definir mensagem motivacional
|
|
25
|
+
- [ ] Vincular ao desafio ou meta específica
|
|
26
|
+
|
|
27
|
+
## API Endpoints
|
|
28
|
+
|
|
29
|
+
### Listar LastMile
|
|
30
|
+
**Método:** GET
|
|
31
|
+
**Endpoint:** `/v3/lastmile`
|
|
32
|
+
|
|
33
|
+
### Criar LastMile
|
|
34
|
+
**Método:** POST
|
|
35
|
+
**Endpoint:** `/v3/lastmile`
|
|
36
|
+
|
|
37
|
+
### Deletar LastMile
|
|
38
|
+
**Método:** DELETE
|
|
39
|
+
**Endpoint:** `/v3/lastmile/:id`
|
|
40
|
+
|
|
41
|
+
## Validações e Testes
|
|
42
|
+
|
|
43
|
+
- [ ] Configuração de LastMile aparece na lista
|
|
44
|
+
- [ ] Mensagem é disparada ao atingir % configurado
|
|
45
|
+
- [ ] Jogador recebe notificação corretamente
|
|
@@ -1,98 +1,98 @@
|
|
|
1
|
-
# Leaderboard (Ranking)
|
|
2
|
-
|
|
3
|
-
**Acesso Studio:** `/studio/leaderboard`
|
|
4
|
-
**API Endpoint:** `/v3/leaderboard`
|
|
5
|
-
|
|
6
|
-
## O que é
|
|
7
|
-
|
|
8
|
-
Criação e gestão de rankings. Permite comparar o desempenho dos jogadores utilizando diferentes critérios, como pontos, tempo, ou métricas customizadas. Rankings podem ser individuais, por equipes, por período ou por status.
|
|
9
|
-
|
|
10
|
-
## Quando usar
|
|
11
|
-
|
|
12
|
-
- Para criar competição saudável entre jogadores
|
|
13
|
-
- Para dar visibilidade ao desempenho
|
|
14
|
-
- Para motivar através de comparação social
|
|
15
|
-
- Para rankings semanais, mensais ou em tempo real
|
|
16
|
-
|
|
17
|
-
## Dependências
|
|
18
|
-
|
|
19
|
-
- **Point** ou **Action**: o critério de ranking deve estar configurado
|
|
20
|
-
|
|
21
|
-
## Checklist de Configuração no Studio
|
|
22
|
-
|
|
23
|
-
- [ ] Definir título e descrição
|
|
24
|
-
- [ ] Definir tipo de principal (0 = jogador, 1 = equipe)
|
|
25
|
-
- [ ] Definir operação (tipo de métrica, item, ordenação)
|
|
26
|
-
- [ ] Definir período (semanal, mensal, tempo real)
|
|
27
|
-
- [ ] Vincular técnicas de jogo
|
|
28
|
-
|
|
29
|
-
## API Endpoints
|
|
30
|
-
|
|
31
|
-
### Listar Leaderboards
|
|
32
|
-
**Método:** GET
|
|
33
|
-
**Endpoint:** `/v3/leaderboard`
|
|
34
|
-
|
|
35
|
-
**Exemplo de Resposta:**
|
|
36
|
-
```json
|
|
37
|
-
[
|
|
38
|
-
{
|
|
39
|
-
"title": "Top Players",
|
|
40
|
-
"description": "Players with the most points xp in the week",
|
|
41
|
-
"principalType": 0,
|
|
42
|
-
"operation": {
|
|
43
|
-
"type": 3,
|
|
44
|
-
"achievement_type": 0,
|
|
45
|
-
"item": "xp",
|
|
46
|
-
"filters": [],
|
|
47
|
-
"sort": -1,
|
|
48
|
-
"sub": false
|
|
49
|
-
},
|
|
50
|
-
"period": {
|
|
51
|
-
"type": 0,
|
|
52
|
-
"timeAmount": 1,
|
|
53
|
-
"timeScale": 6
|
|
54
|
-
},
|
|
55
|
-
"techniques": ["GT03"],
|
|
56
|
-
"_id": "DTjTvZ5"
|
|
57
|
-
}
|
|
58
|
-
]
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### Criar Leaderboard
|
|
62
|
-
**Método:** POST
|
|
63
|
-
**Endpoint:** `/v3/leaderboard`
|
|
64
|
-
(Body igual ao exemplo de resposta acima)
|
|
65
|
-
|
|
66
|
-
### Deletar Leaderboard
|
|
67
|
-
**Método:** DELETE
|
|
68
|
-
**Endpoint:** `/v3/leaderboard/:id`
|
|
69
|
-
|
|
70
|
-
### Obter Lista de Líderes
|
|
71
|
-
**Método:** POST
|
|
72
|
-
**Endpoint:** `/v3/leaderboard/:id/leader/aggregate?period=&live=true`
|
|
73
|
-
|
|
74
|
-
**Exemplo de Resposta:**
|
|
75
|
-
```json
|
|
76
|
-
[
|
|
77
|
-
{
|
|
78
|
-
"_id": "tom_D0zCMvq",
|
|
79
|
-
"total": 30,
|
|
80
|
-
"position": 1,
|
|
81
|
-
"move": "up",
|
|
82
|
-
"player": "tom",
|
|
83
|
-
"name": "Tom",
|
|
84
|
-
"boardId": "DTjTvZ5"
|
|
85
|
-
}
|
|
86
|
-
]
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### Resetar Cache
|
|
90
|
-
**Método:** GET
|
|
91
|
-
**Endpoint:** `/v3/leaderboard/reset`
|
|
92
|
-
|
|
93
|
-
## Validações e Testes
|
|
94
|
-
|
|
95
|
-
- [ ] Leaderboard aparece na lista GET /v3/leaderboard
|
|
96
|
-
- [ ] Lista de líderes retorna jogadores ordenados
|
|
97
|
-
- [ ] Período está configurado corretamente
|
|
98
|
-
- [ ] Cache pode ser resetado com sucesso
|
|
1
|
+
# Leaderboard (Ranking)
|
|
2
|
+
|
|
3
|
+
**Acesso Studio:** `/studio/leaderboard`
|
|
4
|
+
**API Endpoint:** `/v3/leaderboard`
|
|
5
|
+
|
|
6
|
+
## O que é
|
|
7
|
+
|
|
8
|
+
Criação e gestão de rankings. Permite comparar o desempenho dos jogadores utilizando diferentes critérios, como pontos, tempo, ou métricas customizadas. Rankings podem ser individuais, por equipes, por período ou por status.
|
|
9
|
+
|
|
10
|
+
## Quando usar
|
|
11
|
+
|
|
12
|
+
- Para criar competição saudável entre jogadores
|
|
13
|
+
- Para dar visibilidade ao desempenho
|
|
14
|
+
- Para motivar através de comparação social
|
|
15
|
+
- Para rankings semanais, mensais ou em tempo real
|
|
16
|
+
|
|
17
|
+
## Dependências
|
|
18
|
+
|
|
19
|
+
- **Point** ou **Action**: o critério de ranking deve estar configurado
|
|
20
|
+
|
|
21
|
+
## Checklist de Configuração no Studio
|
|
22
|
+
|
|
23
|
+
- [ ] Definir título e descrição
|
|
24
|
+
- [ ] Definir tipo de principal (0 = jogador, 1 = equipe)
|
|
25
|
+
- [ ] Definir operação (tipo de métrica, item, ordenação)
|
|
26
|
+
- [ ] Definir período (semanal, mensal, tempo real)
|
|
27
|
+
- [ ] Vincular técnicas de jogo
|
|
28
|
+
|
|
29
|
+
## API Endpoints
|
|
30
|
+
|
|
31
|
+
### Listar Leaderboards
|
|
32
|
+
**Método:** GET
|
|
33
|
+
**Endpoint:** `/v3/leaderboard`
|
|
34
|
+
|
|
35
|
+
**Exemplo de Resposta:**
|
|
36
|
+
```json
|
|
37
|
+
[
|
|
38
|
+
{
|
|
39
|
+
"title": "Top Players",
|
|
40
|
+
"description": "Players with the most points xp in the week",
|
|
41
|
+
"principalType": 0,
|
|
42
|
+
"operation": {
|
|
43
|
+
"type": 3,
|
|
44
|
+
"achievement_type": 0,
|
|
45
|
+
"item": "xp",
|
|
46
|
+
"filters": [],
|
|
47
|
+
"sort": -1,
|
|
48
|
+
"sub": false
|
|
49
|
+
},
|
|
50
|
+
"period": {
|
|
51
|
+
"type": 0,
|
|
52
|
+
"timeAmount": 1,
|
|
53
|
+
"timeScale": 6
|
|
54
|
+
},
|
|
55
|
+
"techniques": ["GT03"],
|
|
56
|
+
"_id": "DTjTvZ5"
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Criar Leaderboard
|
|
62
|
+
**Método:** POST
|
|
63
|
+
**Endpoint:** `/v3/leaderboard`
|
|
64
|
+
(Body igual ao exemplo de resposta acima)
|
|
65
|
+
|
|
66
|
+
### Deletar Leaderboard
|
|
67
|
+
**Método:** DELETE
|
|
68
|
+
**Endpoint:** `/v3/leaderboard/:id`
|
|
69
|
+
|
|
70
|
+
### Obter Lista de Líderes
|
|
71
|
+
**Método:** POST
|
|
72
|
+
**Endpoint:** `/v3/leaderboard/:id/leader/aggregate?period=&live=true`
|
|
73
|
+
|
|
74
|
+
**Exemplo de Resposta:**
|
|
75
|
+
```json
|
|
76
|
+
[
|
|
77
|
+
{
|
|
78
|
+
"_id": "tom_D0zCMvq",
|
|
79
|
+
"total": 30,
|
|
80
|
+
"position": 1,
|
|
81
|
+
"move": "up",
|
|
82
|
+
"player": "tom",
|
|
83
|
+
"name": "Tom",
|
|
84
|
+
"boardId": "DTjTvZ5"
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Resetar Cache
|
|
90
|
+
**Método:** GET
|
|
91
|
+
**Endpoint:** `/v3/leaderboard/reset`
|
|
92
|
+
|
|
93
|
+
## Validações e Testes
|
|
94
|
+
|
|
95
|
+
- [ ] Leaderboard aparece na lista GET /v3/leaderboard
|
|
96
|
+
- [ ] Lista de líderes retorna jogadores ordenados
|
|
97
|
+
- [ ] Período está configurado corretamente
|
|
98
|
+
- [ ] Cache pode ser resetado com sucesso
|