Enka.Network - API

July 30, 2025 · View on GitHub

การแปลภาษาไทยนี้อาจไม่ถูกต้อง 100% โปรดอ้างอิงจากข้อมูลต้นฉบับได้ที่ api.md

Enka.Network - API

เนื้อหา

เริ่มต้นการใช้งาน

คุณสามารถใช้ Wrapper ที่ถูกสร้างขึ้นโดยคนอื่น หรือใช้ API โดยตรงได้ ซึ่งเป็นเรื่องที่ง่ายมาก ดังนั้นจึงเป็นเรื่องที่ไม่ใช่ยากเลยที่จะต้องจัดข้อมูลหรือ Logic ของคุณโดยจากข้อมูลตอบกลับ โดยการท้ายที่ยิ่งใหญ่ที่สุดก็คือการสำรวจข้อมูลที่ขุดขึ้นมาและการแนบข้อมูลส่งคืนด้วยวิธีถูกต้อง

โปรดดู Wrappers สำหรับภาษาที่คุณต้องการ

ก่อนที่คุณจะส่งข้อมูล

กฏของการใช้งาน API มีอยู่ 3 ข้อ:

  1. โปรดอย่าแยก UIDs หรือพยามที่จะส่งข้อมูลเข้าฐานข้อมูลเป็นจำนวนมาก เนื่องจากมี UIDs เป็นจำนวนมาก และ API นี้ไม่มีความสามารถที่จะกระทำข้างต้นได้

  2. โปรดกำหนด User-Agent ไว้ที่ Header ของ requests เพื่อให้สามารถติดตามและให้ความช่วยเหลือในสิ่งที่เธอต้องการ

  3. ใน API นี้มีการจำกัดอัตราแบบ Dynamic บน UID - ถ้าหาก request ของคุณเร็ว คุณจะได้พบกับเวลาตอบกลับที่ช้า และส่งกลับมาด้วย 429 code นั้นหมายความว่าต้องลดความเร็วของการ request หรือติดต่อเราเพื่อให้เพิ่ม ratelimits ให้คุณ แต่ในกรณีส่วนใหญ่นั้นไม่มีความจำเป็นและเกิดจาก code ที่ส่งมานั้นไม่มีประสิทธิภาพมากพอ

  4. ในทุก UID request นั้นจะได้รับ ttl field - field นี้คือ "จำนวนวินาทีในการแสดงตู้ Showcase ในครั้งถัดไปจาก UID นี้ " จนกว่าจะหมด โดย endpoint จะส่งคืนข้อมูลที่แคชไว้ แต่คุณจะยังคงใช้ ratelimit ของคุณหากคุณกดซ้ำหลายครั้ง โปรดลอง cache ข้อมูลหลังจากหมดเวลาของ ttl หรือ prevent requests ไปยัง UID จนกว่า ttl จะหมด เราแนะนำให้ใช้ Redis สำหรับสิ่งนี้

หากคุณประสบปัญหาในการทำงานเกี่ยวข้องกับข้อมูล เซิร์ฟเวอร์ Discord เพื่อขอความช่วยเหลือ

รายการ API

UID endpoints

รับข้อมูลตู้ Showcase โดยข้อมูลผู้เล่นแบบเต็ม

https://enka.network/api/uid/618285856/

การตอบสนองจะมี playerInfo และ avatarInfoList playerInfo เป็นข้อมูลพื้นฐานเกี่ยวกับบัญชีเกม หากไม่มี avatarInfoList แสดงว่า Showcase ของบัญชีนี้ถูกปิดหรือไม่มีตัวละคร

รับข้อมูลรายละเอียดข้อมูลผู้เล่นเท่านั้น 

https://enka.network/api/uid/618285856/?info

การแนบ ?info ไปกับคำขอ คุณกำลังร้องขอเฉพาะ playerInfo คำขอหลักพยายามรับ avatarInfoList เสมอเช่นกัน หากคุณต้องการเพียง playerInfo โปรดใช้จุดสิ้นสุดนี้ - มันจะเร็วกว่าการรับข้อมูลทั้งหมด

นอกจากนี้คำขอทั้งสองจะมี object owner หาก:

  1. ผู้ใช้มีบัญชีบนเว็บไซต์
  2. ผู้ใช้เพิ่ม UID ลงในโปรไฟล์
  3. ผู้ใช้ได้ทำการ verified บัญชี
  4. ผู้ใช้ตั้งค่าการมองเห็นเป็น "สาธารณะ"

ข้อมูลเพิ่มเติมเกี่ยวกับบัญชีผู้ใช้ด้านล่าง

HTTP response codes

โปรดให้มั่นใจว่าคุณได้ Handle สิ่งเล่านี้ในแอพของคุณอย่างเหมาะสม

400 = รูปแบบ UID ไม่ถูกต้อง
404 = ไม่พบผู้เล่น (เซิฟ MHY บอกแบบนี้อ่ะนะ)
424 = บำรุงรักษาเกมส์ / ทุกอย่างจะพังลงหลังจากอัพเดตตัวเกมส์
429 = ถูกจำกัด (ทั้งเซิฟของฉันและเซิฟ MHY)
500 = ข้อผิดพลาดทั่วไป
503 = ฉันเมามากมาย

Endpoint โปรไฟล์

สามารถสร้างบัญชี (โปรไฟล์) บนเว็บไซต์และแนบบัญชีที่มีหลาย ๆ เกม จากนั้น ผู้ใช้จะต้องยืนยันว่าบัญชีนั้นเป็นของพวกเขาผ่านรหัสยืนยันที่อยู่ในลายเซ็น วิธีนี้ทำให้เรามั่นใจได้ว่าบัญชีนั้นเป็นของพวกเขา

ผู้ใช้สามารถสร้าง "snapshot" ภายใต้ชื่อที่กำหนดเอง ซึ่งเรียกว่า "saved builds"

https://dev.enka.network/api/profile/Algoinde/

รับข้อมูลผู้ใช้

https://dev.enka.network/api/profile/Algoinde/hoyos/

รับรายการ "hoyos" - บัญชี Genshin และข้อมูลเมตาของพวกเขา วิธีนี้ส่งคืนเฉพาะบัญชีที่ ยืนยันแล้ว และ สาธารณะ เท่านั้น (ผู้ใช้สามารถซ่อนบัญชีได้ บัญชีที่ไม่ได้รับการยืนยันจะถูกซ่อนโดยค่าเริ่มต้น) แต่ละคีย์ในการตอบกลับคือตัวระบุเฉพาะของ hoyo ซึ่งคุณต้องใช้สำหรับคำขอที่ตามมาเพื่อรับข้อมูลตัวละคร/builds information

https://dev.enka.network/api/profile/Algoinde/hoyos/4Wjv2e/

ส่งคืนข้อมูลเมตาสำหรับ single hoyo

https://dev.enka.network/api/profile/Algoinde/hoyos/4Wjv2e/builds/

ส่งคืน saved build สำหรับ hoyo ที่กำหนด นี่คือออบเจ็กต์ของอาร์เรย์ โดยที่คีย์คือ avatarId ของตัวละคร และออบเจ็กต์ในอาร์เรย์เป็นโครงสร้างที่แตกต่างกันสำหรับตัวละครที่กำหนด โดยไม่เรียงลำดับเฉพาะเจาะจง (แต่พวกมันมีฟิลด์ order ที่คุณต้องเรียงลำดับสำหรับ แสดง).

หากการ build มี live: true แสดงว่าไม่ใช่การ build ที่ "บันทึกไว้" แต่เป็นเพียงงานสร้างที่ดึงมาจากงานแสดงเมื่อพวกเขาคลิก "รีเฟรช" เมื่อรีเฟรช build live เก่าทั้งหมดจะหายไปและสร้างใหม่ มีเพียงผู้ใช้เท่านั้นที่ตัดสินใจว่าจะทำการรีเฟรชเมื่อใด - ข้อมูลนี้จะไม่เป็นปัจจุบัน

ตามที่ระบุไว้ใน UID endpoints เมื่อคุณส่งคำขอ UID คุณจะได้รับวัตถุ owner คุณสามารถสร้าง URL โดยใช้ฟิลด์เหล่านี้ในวัตถุ:

https://dev.enka.network/api/profile/{owner.username}/hoyos/{owner.hash}/builds/

โครงสร้างข้อมูล

ชื่อคำอธิบาย
playerInfoข้อมูลโปรไฟล์
avatarInfoListลิสข้อมูลรายละเอียดของหน้าตู้ตัวละคร

playerInfo

สำหรับข้อมูลเบื้องต้นของตัวละครโดยไอดีนั้น, ไปที่ store/characters.json.
สำหรับข้อมูลเพิ่มเติม ตรวจสอบได้ที่ Characters Data.

ชื่อคำอธิบาย
nicknameชื่อเล่นของผู้เล่น
signatureลายเซ็นโปรไฟล์
worldLevelระดับโลกของผู้เล่น
namecardIdเลขนามบัตร
finishAchievementNumจำนวนความสำเร็จที่ได้รับ
towerFloorIndexชั้น Abyss
towerLevelIndexห้อง Abyss
showAvatarInfoListลิสไอดีตัวละครและเลเวล
showNameCardIdListลิสนามบัตร
profilePicture.avatarIDไอดีตัวละครของรูปโปรไฟล์

showAvatarInfoList

ชื่อคำอธิบาย
avatarIdไอดีตัวละคร
levelเลเวลตัวละคร
costumeIdไอดีชุดคอสตูมของตัวละคร ตรวจสอบได้ที่ "Costumes" ใน store/characters.json

avatarInfoList

สำหรับข้อมูลเบื้องต้นของตัวละครโดยไอดีนั้น, ไปที่ store/characters.json.
สำหรับข้อมูลเพิ่มเติม ตรวจสอบได้ที่ Characters Data.

ชื่อคำอธิบาย
avatarIDไอดีตัวละคร
talentIdListลำดับกลุ่มดาว
หากเป็น 0 ก็คือไม่มีข้อมูล
propMapคุณสมบัติของตัวละคร
fightPropMap -> {id: value}ข้อมูลตัวละคร
โปรดตรวจสอบได้ที่ คำนิยามสำหรับไอดี
skillDepotIdเซ็ทไอดีสกิลตัวละคร
Skills Data -> "id"
inherentProudSkillListระดับการปลดล็อกพรรสวรรค์
Skills Data -> "inherentProudSkillOpens"
skillLevelMap -> {skill_id: level}เลเวลพรรสวรรค์
Skills Data -> "inherentProudSkillOpens"
equipListรายชื่ออาวุธและอาติแฟส
fetterInfo.expLevelเลเวลความประทับใจของตัวละคร

propMap

ชื่อคำอธิบาย
typeไอดีชนิดคุณสมบัติ ตรวจสอบได้ที่ Definitions for IDs
ivalไม่ต้องสนใจ
valค่าคุณสมบัติ

equipList

ชื่อคำอธิบาย
itemIdไอดีไอเทม
Artifacts Data -> "id"
Weapons Data -> "id"
weapon [Weapon Only]ข้อมูลพื้นฐานของอาวุธ
reliquary [Artifact Only]ข้อมูลพื้นฐานของอาติแฟส
flatรายละเอียดข้อมูลของไอเทม

weapon

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับอาวุธนั้น ตรวจสอบได้ที่ Weapons Data

ชื่อคำอธิบาย
levelเลเวลอาวุธ
promoteLevelระดับเลเวลอาวุธ
affixMapระดับขัดเกลา [0-4]

reliquary

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับอาติแฟสนั้น ตรวจสอบได้ที่ Artifacts Data

ชื่อคำอธิบาย
levelเลเวลอาติแฟส [1-21]
mainPropIdStats อาติแฟสหลัก
MainProps Data
appendPropIdListลิสไอดี Stats อาติแฟสรอง
AppendProp Data

flat

ชื่อคำอธิบาย
nameTextHashMapไอดีชื่อไอเทม
ตรวจสอบได้ที่ ภาษา
setNameTextHashMap [Artifact Only]ไอดีชื่อของอาติแฟส
ตรวจสอบได้ที่ ภาษา
rankLevelระดับความหายากของไอเทม
reliquaryMainstat [Artifact Only]Stats อาติแฟสหลัก
reliquarySubstats [Artifact Only]ลิส Stats อาติแฟสรอง
weaponStats [Weapon Only]ลิส Stats อาวุธ
itemTypeชนิดไอเทม (อาวุธ หรือ อาติแฟส)
iconไอคอนไอเทม
ไอคอน และรูปภาพ
equipType [Artifact Only]ชนิดอาติแฟส

reliquaryMainstat, reliquarySubstats, weaponStats

ชื่อคำอธิบาย
mainPropId / appendPropIDชื่อคุณสมบัติของไอเทม ตรวจสอบใน คำนิยามสำหรับชื่อ
propValueค่าคุณสมบัติ

คำนิยาม

Prop

ชนิดคำอธิบาย
1001XP
1002ระดับ
4001เลเวล

FightProp

ชนิดคำอธิบาย
1พลังชีวิตพื้นฐาน
4พลังโจมตีพื้นฐาน
7พลังป้องกันพื้นฐาน
20อัตราคริ
22ความแรงคริ
23ฟื้นฟูพลังงาน
26โบนัสรักษา
27โบนัสการถูกรักษา
28ความชำนาญธาตุ
29ความต้านทานกายภาพ
30โบนัสความเสียหายกายภาพ
40โบนัสความเสียหายไฟ
41โบนัสความเสียหายไฟฟ้า
42โบนัสความเสียหายนํ้า
43โบนัสความเสียหายไม้
44โบนัสความเสียหายลม
45โบนัสความเสียหายหิน
46โบนัสความเสียหายนํ้าแข็ง
50ความต้านทานไฟ
51ความต้านทานไฟฟ้า
52ความต้านทานนํ้า
53ความต้านทานไม้
54ความต้านทานลม
55ความต้านทานหิน
56ความต้านทานนํ้าแข็ง
70อนุธาตุไฟ
71อนุธาตุไฟฟ้า
72อนุธาตุนํ้า
73อนุธาตุไม้
74อนุธาตุลม
75อนุธาตุนํ้าแข็ง
76อนุธาตุหิน
2000พลังชีวิตสูงสุด
2001พลังโจมตี
2002พลังป้องกัน

ItemType

ชื่อคำอธิบาย
ITEM_WEAPONอาวุธ
ITEM_RELIQUARYอาติแฟส

EquipType

ชื่อคำอธิบาย
EQUIP_BRACERดอกไม้
EQUIP_NECKLACEขนนก
EQUIP_SHOESนาฬิกาทราย
EQUIP_RINGถ้วย
EQUIP_DRESSมงกุฏ

AppendProp

ชื่อคำอธิบาย
FIGHT_PROP_BASE_ATTACK [Weapon]พลังโจมตีพื้นฐาน
FIGHT_PROP_HPพลังชีวิต
FIGHT_PROP_ATTACKพลังโจมตี
FIGHT_PROP_DEFENSEพลังป้องกัน
FIGHT_PROP_HP_PERCENTพลังชีวิต%
FIGHT_PROP_ATTACK_PERCENTพลังโจมตี%
FIGHT_PROP_DEFENSE_PERCENTพลังป้องกัน%
FIGHT_PROP_CRITICALอัตราคริ
FIGHT_PROP_CRITICAL_HURTความแรงคริ
FIGHT_PROP_CHARGE_EFFICIENCYฟื้นฟูพลังงาน
FIGHT_PROP_HEAL_ADDโบนัสรักษา
FIGHT_PROP_ELEMENT_MASTERYความชำนาญธาตุ
FIGHT_PROP_PHYSICAL_ADD_HURTโบนัสความเสียหายกายภาพ
FIGHT_PROP_FIRE_ADD_HURTโบนัสความเสียหายไฟ
FIGHT_PROP_ELEC_ADD_HURTโบนัสความเสียหายไฟฟ้า
FIGHT_PROP_WATER_ADD_HURTโบนัสความเสียหายนํ้า
FIGHT_PROP_WIND_ADD_HURTโบนัสความเสียหายลม
FIGHT_PROP_ICE_ADD_HURTโบนัสความเสียหายนํ้าแข็ง
FIGHT_PROP_ROCK_ADD_HURTโบนัสความเสียหายหิน
FIGHT_PROP_GRASS_ADD_HURTโบนัสความเสียหายไม้

ไอคอน และรูปภาพ

คุณสามารถดึงรูปไอคอนจาก ตัวละคร, อาวุธ และ อาติแฟสจาก Enka ได้โดยใช้ลิ้งก์ https://enka.network/ui/[icon_name].png โดยปกติแล้วชื่อไอคอนจะขึ้นต้นด้วย "UI_" หรือ "Skill_" จาก พรรสวรรค์ตัวละคร ยกตัวอย่างเช่น https://enka.network/ui/UI_AvatarIcon_Side_Ambor.png

อาวุธ และอาติแฟส

ไปที่ flat และมองหาคำว่า icon.

ตัวละคร, พรรสวรรค์ และกลุ่มดาว

ไปที่ store/characters.json และมองหาข้อมูลสิ่งที่เกี่ยวข้องอย่าง "UI_XXXXXX" หรือ "Skill_XXXXXX" จากไอดีตัวละคร

ภาษา

คุณอางสังเกตุเห็น "NameTextMapHash" ในข้อมูล store/characters.json, "nameTextHashMap" และ "setNameTextHashMap" จาก flat นั้นที่จะสามารถใช้เป็นคีย์สำหรับในการหาข้อมูลภาษาจากตัวละคร, อาวุธ และ อาติแฟสจาก store/loc.json.
นอกจากนี้คุณยังสามารถใช้ข้อมูลภาษาจาก AppendProp โดยใช้ชื่อคีย์คุณสมบัติอย่าง - "FIGHT_PROP_HP", "FIGHT_PROP_HEAL_ADD" และอิ่น ๆ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับชื่อ, คำอธิบาย และ อื่น ๆ นั้น ตรวจสอบได้ที่ TextMap Data เฉพาะภาษาที่เกมส์รองรับเท่านั้น

Wrappers

TS/JS - https://www.npmjs.com/package/enkanetwork.js - Jelosus1

TS/JS - https://github.com/yuko1101/enka-network-api - yuko1101

Rust - https://github.com/eratou/enkanetwork-rs - eratou

Python - https://github.com/mrwan200/enkanetwork.py - mrwan200

Python - https://github.com/seriaati/enka-py - seriaati

Java - https://github.com/kazuryyx/EnkaNetworkAPI - kazury

C# - https://github.com/aliafuji/EnkaDotnet - aliafuji

C# - https://github.com/Carried520/EnkaSharp - Carried520

Go - https://github.com/kirinyoku/enkanetwork-go - kirinyoku