Musique et son de fond

BGM_021 — SSEQ file 20 (1:36) · Game theme (OST)
Volume35%
En boucle
Aller au contenu principal

API

Une API JSON gratuite en lecture seule et des widgets iframe pour les wikis et outils externes qui veulent afficher les données, images ou modèles 3D d'un monstre de ce site. Lisez les mentions légales avant d'utiliser des assets visuels dans un autre projet.

URL de base et versionnage

Tous les points d'entrée sont sous l'URL ci-dessous. Le préfixe v1 est un contrat stable : les champs existants ne sont jamais renommés ni supprimés sans passer à une nouvelle version.

https://dqmj1.wiki/api/v1/

Points d'entrée

GET/api/v1/metaAPI version, species count, supported languages
GET/api/v1/familiesThe 8 monster families, names in 5 languages
GET/api/v1/monstersPaginated list (filters: family, rank; params: cursor, limit)
GET/api/v1/monsters/{id}Full monster sheet (names, stats, images, model, resistances...)
GET/api/v1/monsters/{id}/model3D model metadata (glTF URL, embed URL)
GET/api/v1/monsters/{id}/fusionsSpecial recipes, generic fusion examples, used-as-parent list
GET/api/v1/skills/{id}Skill sheet (name, description, point tiers)
GET/api/v1/chestsChests loot tables (tiers A, B, C), 65 maps, 52 fixed rewards
GET/api/v1/chests/3d76 physical 3D chests extracted from map scripts with exact X, Y, Z world coordinates, yaw, and loot tiers (params: map)
GET/api/v1/wild-encountersComplete wild encounter tables across 66 maps with Day/Night/Rain/Storm weather cycles (.enct, params: map, monster)
GET/api/v1/battle-arenas83 distinct 3D battle arena stages (bd*, bf*, bh*, be*) linked to maps and monsters (params: map, monster)
GET/api/v1/itemsItem catalog (126 items, buy/sell prices, reward sources)
GET/api/v1/items/{id}Item sheet with detailed chest and fixed reward sources
GET/api/v1/scout-ratesScout / capture rates and ROM formula (params: monster, scoutable)
GET/api/v1/dropsPost-battle item drops and drop rate table (params: monster, item)
GET/api/v1/ai-patternsCombat AI behavior patterns (131 patterns, 256 actions, params: pattern, action)
GET/api/v1/animations3D animations catalogue and combat round timings (1,107 clips, 277 models, params: monster, model, role, slot)
GET/api/v1/musicMusiques du jeu reconstruites depuis les séquences SSEQ de la ROM (fichier SSEQ, numéro de BGM du moteur, contexte de carte, notes, pistes, archive d'échantillons) ; la ROM ne contient aucun titre de piste.
GET/api/v1/jinglesAuthentic fanfares and event jingles (ME, 19 tracks: ROM symbol, source type, duration, source audio URL)
GET/api/v1/sfxSound effects extracted from the ROM (292 sounds: combat spells & attacks, system menus, exploration, cutscenes; query params: category, subcategory, q)
GET/api/v1/sfx/categoriesList available SFX identifiers grouped by categories and subcategories (query param: category)
GET/api/v1/scenesScènes 3D interactives, arènes de combat et objets de décor (184 modèles avec noms authentiques, lieux et URL glTF)
GET/api/v1/artworksFullscreen game artworks and cinematics (.d16, 40 images; params: category, lang, q)
GET/api/v1/spell-effectsSpell visual effects (.efc) & combat calculation parameters (256 spells; params: ability_id, has_scaling, q)
GET/api/v1/monster-attacksCalculated attack curve per level (1-99) for all 211 monsters (AbilityTbl.bin & EnmyKindTbl.bin; params: monster, lang)
GET/api/v1/story-timelineChronological storyline across 5 narrative acts, chapters, maps, and unlocks (params: act, lang)
GET/api/v1/story-scriptsDecompiled .evt event scripts, 3,179 Japanese developer comments (0xaa), and scenario flags (params: map, category)
GET/api/v1/cutscenesDecompiled cutscenes (244 demo scripts, 644 3D camera shots, multilingual dialogues in 5 languages; params: id, act, category, has_dialogue, lang, q)
GET/api/v1/spells167 real spells and abilities: MP cost, damage range, wisdom thresholds, unlocking skills (params: lang)
GET/api/v1/spells/{id}One spell with the monsters that start with its skills
GET/api/v1/islandsThe 7 islands: zones, dungeons and wild monsters with day/night (params: lang)
GET/api/v1/shopsShop stock lists: items, prices and game progress window (params: lang)
GET/api/v1/battlesScripted boss, colosseum and shrine battles by map (params: map, lang)
GET/api/v1/resistancesResistance categories and the monsters vulnerable, immune, reflecting or healed (params: lang)

{id} est l'identifiant interne du monstre affiché dans les URL de ce site (ex. m000 pour Gluant). Aucune clé d'API n'est requise ; toutes les réponses autorisent les requêtes depuis n'importe quel site.

Exemple d'appel

curl https://dqmj1.wiki/api/v1/monsters/m000

Exemple de réponse

{
  "id": "m000",
  "speciesId": 1,
  "rank": "F",
  "family": "slime",
  "names": { "en": "Slime", "fr": "Gluant", "de": "Schleim", "it": "Slime", "es": "Limo" },
  "images": {
    "icon": "https://dqmj1.wiki/api/assets/images/icons/monsters/m000.png",
    "preview": "https://dqmj1.wiki/api/assets/models/previews/m000.webp"
  },
  "model": {
    "gltf": "https://dqmj1.wiki/api/assets/models/web-gltf/animated/m000/m000.gltf",
    "animated": true
  },
  "stats": {
    "caps": { "hp": 910, "mp": 600, "attack": 820, "defense": 900, "agility": 800, "wisdom": 840 },
    "source": "rom-verified"
  },
  "innateSkill": { "id": 102, "names": { "en": "Slimer", "fr": "Pot de glu", "...": "..." } },
  "resistances": [],
  "traits": ["Critical Massacre"],
  "nicknames": ["Slimer", "Slimo", "Mr Slim"],
  "slug": "slime",
  "wikiUrl": "https://dqmj1.wiki/monsters/m000-slime",
  "urls": {
    "en": "https://dqmj1.wiki/monsters/m000-slime",
    "fr": "https://dqmj1.wiki/fr/monstres/m000-slime",
    "de": "https://dqmj1.wiki/de/monster/m000-slime",
    "it": "https://dqmj1.wiki/it/mostri/m000-slime",
    "es": "https://dqmj1.wiki/es/monstruos/m000-slime"
  },
  "legal": {
    "notice": "Dragon Quest Monsters: Joker [...] property of Square Enix [...]",
    "attributionRequired": true,
    "termsUrl": "https://dqmj1.wiki/legal"
  }
}

Les erreurs suivent une forme uniforme (error), avec un code de statut HTTP standard (404, 400) et un champ code stable.

{ "error": { "code": "not_found", "message": "No monster with id \"m999\"." } }

Widgets iframe

Pour un bloc visuel prêt à l'emploi plutôt que du JSON brut, intégrez l'une de ces pages dans un <iframe>. Elles portent leur propre mention d'attribution permanente.

GET/embed/monster/{id}Compact card: name, rank/family, stats, innate skill
GET/embed/monster/{id}/model3D model viewer only (orbit controls)
GET/embed/fusion/{id}Fusion lineage diagram

Paramètres : ?lang= (en, fr, de, it, es) et ?compact=1 (carte compacte, uniquement sur le widget fiche monstre). Le widget signale sa vraie hauteur à la page parente via postMessage, pour dimensionner l'iframe sans barre de défilement interne :

<iframe id="dqmj1" src="https://dqmj1.wiki/embed/monster/m000" width="320" height="0" frameborder="0"></iframe>
<script>
  window.addEventListener("message", (e) => {
    if (e.data?.type === "dqmj1-wiki:resize") {
      document.getElementById("dqmj1").height = e.data.height;
    }
  });
</script>

Cache, limitation de débit, disponibilité

  • Les réponses sont mises en cache (les données ne changent qu'à un redéploiement) ; mettez-les en cache de votre côté si vous faites beaucoup de requêtes.
  • Pas de clé d'API, mais les requêtes peuvent être limitées par IP si l'usage pose problème.
  • C'est un projet personnel et non commercial, sans garantie de disponibilité.