From a46c9316a6110227cd6a65ca34893b5a787a5b74 Mon Sep 17 00:00:00 2001 From: "M307 (Mac)" Date: Fri, 24 Feb 2023 00:17:30 +0700 Subject: [PATCH 1/2] Update Thai language --- api_th.md | 103 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 94 insertions(+), 9 deletions(-) diff --git a/api_th.md b/api_th.md index 2db0395..2644b97 100644 --- a/api_th.md +++ b/api_th.md @@ -13,8 +13,86 @@ ## เริ่มต้นการใช้งาน -คุณสามารถดึงข้อมูล JSON โดยการเข้าจากลิ้งก์ - `https://enka.network/u/[UID]/__data.json`
-ยกตัวอย่างเช่น https://enka.network/u/700378769/__data.json +คุณสามารถใช้ Wrapper ที่ถูกสร้างขึ้นโดยคนอื่น หรือใช้ API โดยตรงได้ ซึ่งเป็นเรื่องที่ง่ายมาก ดังนั้นจึงเป็นเรื่องที่ไม่ใช่ยากเลยที่จะต้องจัดข้อมูลหรือ Logic ของคุณโดยจากข้อมูลตอบกลับ โดยการท้ายที่ยิ่งใหญ่ที่สุดก็คือการสำรวจข้อมูลที่ขุดขึ้นมาและการแนบข้อมูลส่งคืนด้วยวิธีถูกต้อง + +โปรดดู [Wrappers](#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](https://discord.gg/PcSZr5sbn3) เพื่อขอความช่วยเหลือ + +## รายการ 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-endpoints) เมื่อคุณส่งคำขอ UID คุณจะได้รับวัตถุ `owner` คุณสามารถสร้าง URL โดยใช้ฟิลด์เหล่านี้ในวัตถุ: + +`https://dev.enka.network/api/profile/{owner.username}/hoyos/{owner.hash}/builds/` ## โครงสร้างข้อมูล @@ -165,13 +243,13 @@ | 54 | ความต้านทานลม | | 55 | ความต้านทานหิน | | 56 | ความต้านทานนํ้าแข็ง | -| 70 | Pyro Enegry Cost | -| 71 | Electro Energy Cost | -| 72 | Hydro Energy Cost | -| 73 | Dendro Energy Cost | -| 74 | Anemo Energy Cost | -| 75 | Cryo Energy Cost | -| 76 | Geo Energy Cost | +| 70 | อนุธาตุไฟ | +| 71 | อนุธาตุไฟฟ้า | +| 72 | อนุธาตุนํ้า | +| 73 | อนุธาตุไม้ | +| 74 | อนุธาตุลม | +| 75 | อนุธาตุนํ้าแข็ง | +| 76 | อนุธาตุหิน | | 2000 | พลังชีวิตสูงสุด | | 2001 | พลังโจมตี | | 2002 | พลังป้องกัน | @@ -239,3 +317,10 @@ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับชื่อ, คำอธิบาย และ อื่น ๆ นั้น ตรวจสอบได้ที่ [TextMap Data](https://github.com/Dimbreath/GenshinData/tree/master/TextMap) เฉพาะภาษาที่เกมส์รองรับเท่านั้น +## Wrappers + +TS/JS - https://www.npmjs.com/package/enkanetwork.js - [Jelosus1](https://github.com/Jelosus2) + +TS/JS - https://github.com/yuko1101/enka-network-api - [yuko1101](https://github.com/yuko1101) + +Python - https://github.com/mrwan200/enkanetwork.py - [mrwan200](https://github.com/mrwan200) \ No newline at end of file From eff05b72549c9b7d71896014bf39f6daee2f0848 Mon Sep 17 00:00:00 2001 From: "M307 (Mac)" Date: Fri, 24 Feb 2023 11:23:42 +0700 Subject: [PATCH 2/2] Fix typo --- api_th.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/api_th.md b/api_th.md index 2644b97..1339493 100644 --- a/api_th.md +++ b/api_th.md @@ -60,7 +60,7 @@ ``` 400 = รูปแบบ UID ไม่ถูกต้อง 404 = ไม่พบผู้เล่น (เซิฟ MHY บอกแบบนี้อ่ะนะ) -424 = บำรุงรักษาเกมส์ / ทุกอย่างจะพังลงหลังจากเกมส์ +424 = บำรุงรักษาเกมส์ / ทุกอย่างจะพังลงหลังจากอัพเดตตัวเกมส์ 429 = ถูกจำกัด (ทั้งเซิฟของฉันและเซิฟ MHY) 500 = ข้อผิดพลาดทั่วไป 503 = ฉันเมามากมาย @@ -323,4 +323,6 @@ TS/JS - https://www.npmjs.com/package/enkanetwork.js - [Jelosus1](https://github TS/JS - https://github.com/yuko1101/enka-network-api - [yuko1101](https://github.com/yuko1101) +Rust - https://github.com/eratou/enkanetwork-rs - [eratou](https://github.com/eratou) + Python - https://github.com/mrwan200/enkanetwork.py - [mrwan200](https://github.com/mrwan200) \ No newline at end of file