Musica e audio di sottofondo

BGM_021 — SSEQ file 20 (1:36) · Game theme (OST)
Volume35%
In loop
Vai al contenuto principale

API

Un'API JSON gratuita in sola lettura e widget iframe per wiki e strumenti esterni che vogliono mostrare dati, immagini o modelli 3D di un mostro di questo sito. Leggi le note legali prima di usare asset visivi in un altro progetto.

URL di base e versionamento

Tutti gli endpoint si trovano sotto l'URL qui sotto. Il prefisso v1 è un contratto stabile: i campi esistenti non vengono mai rinominati né rimossi senza passare a una nuova versione.

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

Endpoint

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/musicMusiche del gioco ricostruite dalle sequenze SSEQ della ROM (file SSEQ, numero di BGM del motore, contesto della mappa, note, tracce, archivio di campioni); la ROM non contiene titoli.
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/scenesScene 3D interattive, campi di battaglia e oggetti di scena (184 modelli con nomi autentici, posizioni e 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} è l'id interno del mostro mostrato negli URL di questo sito (es. m000 per Slime). Non è richiesta alcuna chiave API; tutte le risposte consentono richieste da qualsiasi sito.

Esempio di chiamata

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

Esempio di risposta

{
  "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"
  }
}

Gli errori seguono una forma uniforme (error), con un codice di stato HTTP standard (404, 400) e un campo code stabile.

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

Widget iframe

Per un blocco visivo già pronto invece di JSON grezzo, incorpora una di queste pagine in un <iframe>. Portano una propria menzione di attribuzione 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

Parametri: ?lang= (en, fr, de, it, es) e ?compact=1 (scheda compatta, solo sul widget della scheda mostro). Il widget comunica la sua altezza reale alla pagina genitore tramite postMessage, per dimensionare l'iframe senza barra di scorrimento interna:

<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, limiti di frequenza, disponibilità

  • Le risposte sono memorizzabili nella cache (i dati cambiano solo con un nuovo deploy); mettile in cache dal tuo lato se fai molte richieste.
  • Nessuna chiave API, ma le richieste possono essere limitate per IP se l'uso causa problemi.
  • Questo è un progetto personale e non commerciale, senza garanzia di disponibilità.