Files
dofus-manager/docs/prd/dofusdb-api-reference.md
2026-01-19 08:52:38 +01:00

78 lines
2.4 KiB
Markdown

# DofusDB API Reference
Documentation de l'API externe utilisée pour l'Epic 6.
## Base URL
`https://api.dofusdb.fr/`
## Caractéristiques techniques
- **Framework:** FeathersJS (REST API)
- **Pagination:** `$limit`, `$skip` (défaut: limit=10)
- **Filtrage:** Style MongoDB (`$regex`, `$in`, `$gt`, etc.)
- **Multilingue:** `name.fr`, `name.en`, `name.de`, `name.es`, `name.pt`
- **Authentification:** Aucune (API publique)
## Endpoints disponibles
| Endpoint | Total | Champs clés |
|----------|-------|-------------|
| `/dungeons` | 187 | id, name, optimalPlayerLevel, monsters[], subarea |
| `/quests` | 1978 | id, name, categoryId, levelMin, levelMax, steps[], rewards[] |
| `/achievements` | 2788 | id, name, description, level, points, categoryId, rewards[] |
| `/monsters` | 5093 | id, name, level, isBoss, stats, drops[], subareas[] |
| `/items` | — | id, name, typeId (23 = Dofus trophées) |
| `/quest-categories` | 43+ | id, name (régions, types de quêtes) |
| `/achievement-categories` | 129 | id, name, parentId |
## Mapping pour le PRD
| Besoin PRD | Endpoint DofusDB | Query |
|------------|------------------|-------|
| **Donjons** | `/dungeons` | `?$limit=200` |
| **Recherchés** | `/quests` | `?categoryId=6` |
| **Items Dofus** | `/items` | `?typeId=23&name.fr[$regex]=Dofus` |
| **Succès donjons** | `/achievements` | `?categoryId=3` |
## Dofus identifiés
| ID Item | Nom |
|---------|-----|
| 739 | Dofus Turquoise |
| 694 | Dofus Pourpre |
| 737 | Dofus Émeraude |
| 7043 | Dofus des Glaces |
| 18043 | Dofus Abyssal |
| 8698 | Dofus Nébuleux |
| 7112 | Dofus Tacheté |
| 6980 | Dofus Vulbis |
| 7754 | Dofus Ocre |
| 7114 | Dofus Ébène |
| 7115 | Dofus Ivoire |
## Exemples de requêtes
```bash
# Tous les donjons
curl "https://api.dofusdb.fr/dungeons?$limit=200"
# Quêtes de recherchés (Avis de recherche)
curl "https://api.dofusdb.fr/quests?categoryId=6"
# Items Dofus
curl "https://api.dofusdb.fr/items?typeId=23&name.fr[\$regex]=Dofus"
# Monstres boss
curl "https://api.dofusdb.fr/monsters?isBoss=true&$limit=50"
```
## Notes d'implémentation
- Les quêtes Dofus ne sont pas directement liées aux items Dofus dans l'API → nécessite un mapping manuel
- Les recherchés sont sous `categoryId=6` dans `/quests`
- Les noms sont multilingues : utiliser `name.fr` pour le français
- Pagination recommandée pour les gros volumes (achievements, monsters)
---