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

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

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

กำหนดความสามารถของ API ที่ต้องการ

เริ่มจากการกระทำที่แอปต้องรองรับ การวิจัยคอลเลกชันต้องใช้ปลายทางและบันทึกต่างจากการสร้างข้อเสนอซื้อ การดำเนินการตามรายการขาย หรือการกระทบยอดพอร์ต การเรียกข้อมูลกำกับสำเร็จไม่ได้ยืนยันว่าส่วนอื่นของวงจรซื้อขายถูกพัฒนาครบแล้ว

แยกความสามารถที่ต้องการออกเป็นรายการ ได้แก่ ระบุคอลเลกชันและชิ้นงาน ตรวจคำสั่งที่เกี่ยวข้อง สร้างการกระทำที่อนุญาต ติดตามภาระ และตรวจผลลัพธ์ จากนั้นเชื่อมแต่ละความสามารถกับเอกสารทางการฉบับปัจจุบัน รวมถึงเครือข่ายหรือมาตรฐานสินทรัพย์ที่ความสามารถนั้นรองรับ

รายการความสามารถควรระบุข้อจำกัดด้วย แหล่งข้อมูลอาจแสดงสินทรัพย์โดยไม่รองรับการซื้อผ่านเส้นทางที่เลือก ปลายทางสำหรับดำเนินการอาจใช้กับคำสั่ง EVM ขณะที่อีกเชนต้องจัดการต่างออกไป

การระบุความแตกต่างเหล่านี้อย่างชัดเจนทำให้แผนเชื่อมต่อแม่นยำกว่าการมีตัวบ่งชี้กว้าง ๆ เพียงว่าเชื่อมต่อ API แล้ว ทุกการกระทำที่รองรับควรมีหลักฐานยืนยันพฤติกรรมที่ถูกต้องของตนเอง

การยืนยันตัวตนกับ API ของ OpenSea ไม่ใช่การลงนามของกระเป๋า

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

เอกสารคีย์ API ทางการอธิบายการเข้าถึงด้วยคีย์และส่วนหัวคำขอ X-API-KEY คีย์บริการไม่ควรปรากฏในชุดโค้ดที่เผยแพร่สาธารณะ ภาพหน้าจอ หรือข้อมูลวินิจฉัยทั่วไป ระบบเชื่อมต่อควรจัดการการหมดอายุหรือการเปลี่ยนคีย์ได้โดยไม่เปิดเผยค่าคีย์

ไม่ควรคัดลอกข้อมูลลับสำหรับลงนามของกระเป๋าลงในส่วนหัว API หรือส่งไปยังปลายทางข้อมูลตลาด การกระทำที่เตรียมไว้สามารถได้รับการตรวจและลงนามผ่านกระบวนการภายในเครื่องที่ควบคุมได้ หรือผ่านกระบวนการลงนามอื่นที่แยกออกอย่างเหมาะสม

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

ใช้เอกสารปัจจุบันเป็นข้อกำหนดของส่วนเชื่อมต่อ

ชื่อปลายทาง รูปแบบข้อมูลตอบกลับ และการดำเนินการที่รองรับอาจเปลี่ยนได้ อ่านเอกสารอ้างอิงที่ตรงกับการดำเนินการนั้นโดยตรง แทนการคัดลอกตัวอย่างเก่าเพียงเพราะมีชื่อแบรนด์ที่คุ้นเคย เส้นทางที่ใช้กับเชนหรือประเภทคำสั่งหนึ่งอาจไม่ครอบคลุมอีกประเภท

เก็บฉบับหรือวันที่ของเอกสารที่ใช้เป็นพื้นฐานของสมมติฐานสำคัญ การทดสอบควรแสดงให้เห็นเมื่อข้อมูลตอบกลับไม่ตรงกับสมมติฐานนั้นอีกต่อไป ช่องข้อมูลที่ไม่รู้จักอาจไม่ก่อปัญหา แต่ตัวระบุสินทรัพย์ที่ขาดไปหรือรูปแบบธุรกรรมที่เปลี่ยนไปอาจทำให้การกระทำใช้ไม่ได้

อย่าเดาค่าที่ขาดอย่างเงียบ ๆ หากข้อมูลตอบกลับไม่มีข้อมูลที่จำเป็นสำหรับระบุการชำระเงิน ผู้รับ หรือคุณสมบัติที่เข้าเกณฑ์ แอปควรรายงานว่าข้อเสนอการกระทำยังไม่ครบ แทนการเติมช่องว่างด้วยค่าเริ่มต้นที่ให้อำนาจใช้เงิน

คู่มือการซื้อขาย NFT ผ่านสัญญาอัจฉริยะ อธิบายว่าทำไมความหมายของธุรกรรมจึงสำคัญกว่า JSON ที่มีรูปแบบถูกต้อง ข้อมูลตอบกลับที่แปลรูปแบบได้แล้วก็ยังต้องตรงกับการกระทำทางเศรษฐกิจที่ตั้งใจไว้

สร้างบันทึกตัวระบุที่คงที่

เก็บเครือข่าย ตัวระบุคอลเลกชัน ตัวระบุสินทรัพย์ที่เกี่ยวข้อง ปริมาณโทเคนหรือหน่วยของรุ่นที่ออก และข้อมูลอ้างอิงคำสั่ง ช่องข้อมูลเหล่านี้เชื่อมข้อสังเกตเข้ากับธุรกรรมเฉพาะและหลักฐานความเป็นเจ้าของในภายหลัง

slug ของคอลเลกชันมีประโยชน์ภายใน API ของตลาด แต่ไม่ควรใช้แทนตัวระบุบนเชนที่เส้นทางดำเนินการต้องใช้ ชื่อแสดงและสัญลักษณ์เปลี่ยนได้หรือถูกเลียนแบบได้ ระบบเชื่อมต่อต้องมีตัวระบุที่คงที่และเหมาะกับแต่ละชั้น

แยกแฮชคำสั่งออกจากตัวระบุธุรกรรมด้วย คำสั่งอาจถูกสังเกตหรืออัปเดตก่อนมีธุรกรรม และธุรกรรมเดียวอาจเกี่ยวข้องกับหลายเหตุการณ์ การใช้ช่อง ID ทั่วไปเพียงช่องเดียวทำให้ใช้ผิดได้ง่าย

แบบจำลองตัวระบุนี้ช่วยให้ตัดข้อมูลซ้ำและกู้คืนได้ แอปสามารถจำแนกหลักฐานที่ส่งซ้ำของภาระเดียวกัน โดยไม่ถือว่าข้อมูลตอบกลับทุกครั้งเป็นโอกาสซื้อขายใหม่หรือเป็นสินทรัพย์ที่ถือเพิ่ม

การแบ่งหน้าข้อมูลของ API ซื้อขาย OpenSea ต้องติดตามความครอบคลุม

การแบ่งหน้าข้อมูลของ API ซื้อขาย OpenSea ควรรักษาขอบเขตคำค้นและสถานะสำหรับเรียกหน้าถัดไปไว้ ข้อมูลตอบกลับหนึ่งหน้าอาจไม่ใช่รายการขายทั้งหมด จำนวนผลลัพธ์ที่น้อยอาจหมายถึงมีบันทึกอยู่เพียงเล็กน้อย แต่ก็อาจหมายถึงแอปหยุดก่อนเรียกหน้าที่เหลือครบเช่นกัน

เอกสารอ้างอิงรายการขายของคอลเลกชัน ฉบับปัจจุบันอธิบายการแบ่งหน้าโดยใช้จำนวนรายการสูงสุดต่อหน้าและพารามิเตอร์สำหรับเรียกหน้าต่อไป ใช้กลไกเรียกหน้าต่อไปตามที่เอกสารของปลายทางนั้นระบุ แทนการสมมติวิธีเลื่อนตำแหน่งข้อมูลขึ้นเอง

บันทึกว่าการเรียกข้อมูลครอบคลุมคอลเลกชัน ตัวกรอง และช่วงเวลาสังเกตใด หากชุดรายการขายเปลี่ยนระหว่างเรียกแต่ละหน้า ให้ตัดข้อมูลซ้ำโดยใช้ตัวระบุที่คงที่ และยอมรับว่าผลลัพธ์อาจไม่ได้แทนภาพข้อมูลที่เกิดขึ้นพร้อมกันอย่างสมบูรณ์

กระบวนการเรียกข้อมูลที่ใช้งานได้จริงยังต้องมีกฎหยุด งบจำนวนคำขอ และสถานะที่ระบุว่าข้อมูลยังครอบคลุมไม่ครบ การสแกนที่ถูกขัดจังหวะไม่ควรถูกนำเสนอเป็นหลักฐานว่าคำสั่งทุกรายการที่ไม่ได้ปรากฏในผลลัพธ์ไม่มีอยู่ในตลาด

แยกข้อมูลตอบกลับดิบออกจากบันทึกที่ปรับให้อยู่ในรูปแบบเดียวกัน

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

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

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

เก็บบริบทจากแหล่งข้อมูลให้เพียงพอสำหรับตรวจสอบความคลาดเคลื่อนโดยไม่เก็บข้อมูลลับ การอ้างอิงข้อมูลตอบกลับที่ปกปิดข้อมูลอ่อนไหวแล้วและช่องข้อมูลทางเศรษฐกิจที่ตรวจสอบแล้วช่วยแก้ข้อผิดพลาดได้ โดยไม่ต้องเก็บบันทึกคำขอทั้งหมดที่มีข้อมูลรับรอง

ออกแบบให้เคารพขีดจำกัดคำขอ

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

เอกสารคีย์ API ของ OpenSea ฉบับปัจจุบันอธิบายส่วนหัวข้อมูลตอบกลับสำหรับขีดจำกัดและเวลาที่ควรลองใหม่ รวมถึงขีดจำกัดระดับบัญชีที่ใช้ร่วมกันระหว่างคีย์ ใช้คำแนะนำปัจจุบันที่ระบบส่งกลับมา แทนการฝังค่าอัตรารับส่งที่สมมติว่าใช้ได้ทั่วไป หรือสร้างคีย์เพิ่มเพื่อหลบขีดจำกัด

แยกข้อมูลที่เปลี่ยนบ่อยออกจากข้อมูลกำกับที่เก็บในแคชได้นานกว่า นโยบายรีเฟรชควรสอดคล้องกับวิธีใช้ข้อมูล คำอธิบายคอลเลกชันกับคำสั่งที่กำลังจะดำเนินการไม่จำเป็นต้องใช้กฎความสดใหม่เดียวกัน

วัดความต้องการส่งคำขอก่อนเพิ่มความครอบคลุม แอปที่ติดตามคอลเลกชันจำนวนน้อยได้อย่างเชื่อถือได้อาจมีประโยชน์กว่าแอปที่อ้างว่าครอบคลุมทุกอย่าง แต่ต้องทำงานกับข้อมูลตอบกลับที่ไม่ครบหรือล้าสมัยอยู่ตลอด

ตีความสตรีมว่าเป็นข้อสังเกต ไม่ใช่บัญชีรายการที่ครบถ้วน

เอกสารอ้างอิง Stream API อธิบายเหตุการณ์ของตลาดที่ส่งผ่าน WebSocket และระบุด้วยว่าเหตุการณ์อาจมาถึงไม่ตามลำดับ รวมถึงข้อความที่พลาดไประหว่างเกิดข้อผิดพลาดในการเชื่อมต่อจะไม่ถูกส่งย้อนหลัง ข้อจำกัดเหล่านี้มีผลต่อวิธีกู้คืนแบบจำลองสถานะภายในระบบ

ใช้เวลาของเหตุการณ์และตัวระบุที่คงที่เพื่อป้องกันไม่ให้ข้อสังเกตที่มาช้าหรือซ้ำทำให้บันทึกปัจจุบันผิดเพี้ยน ลำดับที่รับข้อมูลไม่ได้ตรงกับลำดับเหตุการณ์ในตลาดเสมอไป เมื่อเชื่อมต่อใหม่ ระบบควรกระทบยอดตามความเหมาะสม แทนการสมมติว่าไม่มีข้อมูลตกหล่น

ภาพข้อมูลปัจจุบันอาจช่วยคืนข้อมูลคำสั่งหรือสินทรัพย์ที่ถืออยู่ในขณะนี้ได้ โดยไม่สามารถสร้างเหตุการณ์ทั้งหมดระหว่างช่วงข้อมูลขาดหายขึ้นใหม่ แอปควรแยกการกู้คืนเพื่อให้ทำงานต่อได้ออกจากการมีข้อมูลย้อนหลังที่ครอบคลุมครบถ้วน

ความแตกต่างนี้สำคัญต่อการวิเคราะห์ด้วย แนวโน้มที่คำนวณคร่อมช่วงเวลาซึ่งไม่ได้สังเกตข้อมูลต้องมีคำเตือนเรื่องความครอบคลุม การแทนเหตุการณ์ที่หายไปด้วยค่าศูนย์อาจสร้างสัญญาณตลาดที่ผิด

ข้อมูลดำเนินการตามคำสั่งจาก API ซื้อขาย OpenSea ยังเป็นขั้นเตรียมการ

ต้องตีความข้อมูลตอบกลับสำหรับดำเนินการตามคำสั่งจาก API ซื้อขาย OpenSea อย่างรอบคอบ ปลายทางสำหรับเตรียมดำเนินการตามรายการขาย ฉบับปัจจุบันส่งข้อมูลที่ต้องใช้เพื่อดำเนินการตามรายการขายที่รองรับบนเชน การได้รับข้อมูลนี้ไม่ได้โอน NFT ด้วยตัวมันเอง และไม่ได้พิสูจน์ว่าบัญชีชำระเงินให้ผู้ขายแล้ว

ตรวจเชน โปรโตคอล ผู้รับ ปริมาณ การชำระเงิน และค่าธรรมเนียมที่จำเป็นเทียบกับข้อเสนอการกระทำที่ได้รับอนุมัติ เอกสารอ้างอิงปัจจุบันของปลายทางระบุข้อจำกัดเกี่ยวกับ EVM และ Seaport ที่รองรับ ผู้เรียกใช้จึงไม่ควรนำรูปแบบนั้นไปใช้เป็นรูปแบบธุรกรรม Solana ที่ใช้ได้ทั่วไป

การปฏิเสธค่าธรรมเนียมผู้สร้างส่วนที่เลือกจ่ายได้ไม่ได้ทำให้ค่าธรรมเนียมผู้สร้างที่บังคับจ่ายหายไป การกระทำสุดท้ายต้องเป็นไปตามเงื่อนไขจริงของคำสั่งและเส้นทาง แทนการถือว่าพารามิเตอร์อำนวยความสะดวกให้อำนาจข้ามสิ่งตอบแทนที่ต้องชำระ

หลังเตรียมข้อมูลแล้ว กระบวนการยังต้องผ่านการลงนามที่ควบคุมได้ การส่งธุรกรรม และการยืนยัน แต่ละขั้นควรรักษาเจตนาเดิมไว้ เพื่อให้บัญชีตรวจพบการเปลี่ยนแปลงที่ไม่คาดหมายก่อนผูกพันเงินทุน

รักษาความแตกต่างระหว่างบทบาทของกระเป๋า

ในบางกระบวนการที่รองรับ บัญชีที่ชำระเงิน บัญชีที่รับ NFT และบัญชีที่ลงนามอนุญาตอาจมีบทบาทต่างกัน แอปควรระบุบทบาทที่ตั้งใจใช้ให้ชัดเจน แทนการสมมติว่าช่องที่อยู่ทุกช่องใช้แทนกันได้

การเปลี่ยนผู้รับมีนัยสำคัญทางเศรษฐกิจ แม้ธุรกรรมยังถูกต้องตามรูปแบบก็ตาม เปรียบเทียบผู้รับกับปลายทางที่ได้รับอนุมัติ เช่นเดียวกับกรณีที่โทเคนชำระเงินหรือที่อยู่ผู้มีสิทธิ์ใช้จ่ายต่างจากที่ผู้ใช้คาดไว้

คู่มือวิธีใช้ WETH ซื้อขายบน OpenSea อธิบายยอดโทเคนชำระเงินและยอดสินทรัพย์สำหรับค่าธรรมเนียมเครือข่ายในกระบวนการข้อเสนอซื้อบน Ethereum การตรวจบัญชีของระบบเชื่อมต่อควรสะท้อนความแตกต่างเหล่านั้นด้วย

ข้อมูลตอบกลับจากบริการไม่ควรได้รับอำนาจแบบครอบคลุมให้เลือกปลายทางที่ไม่คาดหมาย ผู้เรียกใช้ยังคงรับผิดชอบประเมินว่าการกระทำที่เตรียมไว้ตรงกับการซื้อขายและขีดจำกัดที่ผู้ใช้ตั้งใจไว้หรือไม่

คำนึงถึงการเปลี่ยนชิ้นงานในการกวาดซื้อและลำดับการกระทำ

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

พฤติกรรมนี้ทำให้นโยบายเปลี่ยนชิ้นงานมีความสำคัญ ชิ้นงานที่นำมาแทนอาจอยู่ในคอลเลกชันตามที่ระบุ แต่ไม่ผ่านเหตุผลการลงทุนที่อิงคุณลักษณะเดิมหรือเงื่อนไขที่ทำให้ขายออกได้ ตรวจชุดสินทรัพย์ที่ได้จากการเตรียมการและต้นทุนรวมอีกครั้ง ก่อนอนุญาตให้ลำดับการกระทำที่เตรียมไว้ใช้การอนุมัติเดิม

รายการธุรกรรมที่เรียงลำดับไม่ได้รับประกันโดยทั่วไปว่าตะกร้าทั้งหมดจะสำเร็จพร้อมกันแบบแบ่งแยกไม่ได้ แอปต้องทราบผลจริงของแต่ละการกระทำและมีนโยบายสำหรับกรณีที่สำเร็จเพียงบางส่วน

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

แยกเส้นทาง EVM ออกจาก Solana

OpenSea อาจแสดงสินทรัพย์จากหลายเครือข่าย ขณะที่แต่ละปลายทางรองรับการดำเนินการที่แคบกว่านั้น การที่คอลเลกชันปรากฏในข้อมูลตอบกลับไม่ได้พิสูจน์ว่าปลายทางดำเนินการทุกแห่งยอมรับเชนหรือมาตรฐานของคอลเลกชันนั้น

บทความบอตซื้อขาย Solana Web3 พิจารณาข้อกำหนดด้านบัญชีและธุรกรรมที่เฉพาะต่อเชน ควรตรวจวิธีจัดเงินสำหรับข้อเสนอซื้อของ Solana มาตรฐาน NFT ที่รองรับ และหลักฐานยืนยันตามเงื่อนไขของระบบนั้นเอง แทนการแปลงแนวคิด EVM Seaport มาใช้ตามตัวอักษร

ประกาศความสามารถในระดับการกระทำ เช่น ดูข้อมูลกำกับ ตรวจคำสั่ง เตรียมซื้อ สร้างข้อเสนอซื้อ หรือยกเลิกภาระ เส้นทางหนึ่งอาจรองรับการดำเนินการบางอย่างในรายการนี้ แต่ไม่รองรับอย่างอื่น

กรณีที่ไม่รองรับควรถูกระบุอย่างชัดเจนในส่วนติดต่อและการทดสอบ การเดารูปแบบธุรกรรมเพียงเพราะสินทรัพย์ใช้ชื่อคอลเลกชันที่คุ้นเคยไม่ใช่วิธีขยายความครอบคลุมที่เชื่อถือได้

แยกการลองอ่านข้อมูลใหม่ออกจากการลองกระทำที่มีผลทางเศรษฐกิจใหม่

การอ่านข้อมูลซ้ำหลังเกิดข้อผิดพลาดชั่วคราวต่างจากการส่งคำสั่งหรือธุรกรรมอีกครั้ง ระบบเชื่อมต่อควรจำแนกการดำเนินการตามผลทางเศรษฐกิจที่อาจเกิดขึ้น และเก็บตัวระบุให้เพียงพอสำหรับกู้คืนผลลัพธ์ที่ยังไม่แน่ชัด

เมื่อคำขอส่งคำสั่งหมดเวลารอ ผู้เรียกใช้อาจยังไม่ทราบว่าบริการยอมรับคำสั่งแล้วหรือไม่ หลังส่งธุรกรรมเข้าเชนก็อาจหมดเวลารอได้ แม้ธุรกรรมนั้นจะดำเนินการสำเร็จในภายหลัง การสร้างการกระทำใหม่ที่เป็นอิสระจากครั้งเดิมทันทีอาจทำให้มีความเสี่ยงซ้ำซ้อน

หากผลลัพธ์ยังไม่แน่ชัด ให้เรียกข้อมูลและกระทบยอดความพยายามครั้งเดิมผ่านหลักฐานที่ระบบรองรับ คงยอดงบที่กันไว้สำหรับภาระนั้นจนกว่าจะทราบข้อยุติ การไม่ได้รับคำตอบทันทีไม่ใช่หลักฐานว่าไม่มีอะไรเกิดขึ้น

กฎนี้ควรปรากฏในการทดสอบและข้อความถึงผู้ปฏิบัติงาน แอปสามารถอธิบายว่ากำลังตรวจสอบความพยายามครั้งก่อน แทนการแสดงข้อผิดพลาดทั่วไปที่ชวนให้ผู้ใช้กดปุ่มซื้อซ้ำหลายครั้ง

แยกการลองอ่านข้อมูลใหม่ออกจากการลองกระทำที่มีผลทางเศรษฐกิจใหม่API ResponseObservationUnsigned DataOrder StatusTRADING FIELD NOTESEDUCATIONAL RESOURCE
ข้อมูลตอบกลับ HTTP ที่สำเร็จต้องได้รับการตีความตามการดำเนินการที่ข้อมูลนั้นแทนอยู่จริง

ตีความข้อผิดพลาดตามการดำเนินการนั้น

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

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

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

ระบบเชื่อมต่อที่ทนต่อปัญหาจะเก็บกรณีที่ยังหาข้อยุติไม่ได้ไว้ตรวจสอบ ไม่ควรแต่งเติมว่าเสร็จสำเร็จแล้ว หรือว่าล้มเหลวโดยไม่มีต้นทุน เพียงเพราะตัวแปลข้อผิดพลาดไม่มีหมวดที่แม่นยำกว่านั้น

กระทบยอดความเป็นเจ้าของ คำสั่ง และการชำระเงินร่วมกัน

บันทึกการซื้อขายจะครบถ้วนก็ต่อเมื่อการเคลื่อนย้ายสินทรัพย์ ผลของคำสั่ง และผลทางการเงินที่เกี่ยวข้องสอดคล้องกัน สถานะจากตลาดอาจเป็นหลักฐานส่วนหนึ่ง แต่ไม่ควรใช้แทนการตรวจอื่นทั้งหมดเมื่อผลลัพธ์ยังไม่แน่ชัด

สำหรับการซื้อ ให้ตรวจว่าสินทรัพย์และปริมาณที่ตั้งใจซื้ออยู่ภายใต้การควบคุมของบัญชีที่ถูกต้อง สำหรับการขาย ให้เชื่อมการจำหน่ายสินทรัพย์กับเงินรับและค่าใช้จ่ายจริง เหตุการณ์ที่ส่งซ้ำไม่ควรสร้างบันทึกสินทรัพย์คงเหลือหรือกำไรซ้ำ

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

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

ทดสอบข้อกำหนดของการเชื่อมต่อโดยไม่สมมติว่าข้อมูลตอบกลับสมบูรณ์แบบ

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

การทดสอบควรตรวจขอบเขตที่สำคัญทางเศรษฐกิจ หากผู้รับเปลี่ยนไป การตรวจข้อเสนอการกระทำควรไม่ผ่าน รายการขายที่ไม่พร้อมซื้อไม่ควรกลายเป็นชิ้นงานอื่นที่ได้รับอนุมัติอย่างเงียบ ๆ ตะกร้าที่สำเร็จบางส่วนควรสร้างบันทึกการถือครองเฉพาะสินทรัพย์ที่ได้รับจริง

ซ้อมกรณีถูกจำกัดอัตราและการเรียกหน้าข้อมูลที่ถูกขัดจังหวะควบคู่กับกรณีเรียกสำเร็จ แอปควรรายงานว่าข้อมูลครอบคลุมไม่ครบ แทนการตีความชุดข้อมูลบางส่วนว่าเป็นภาพตลาดที่ครบถ้วน

ก่อนอ้างว่าเส้นทางหนึ่งพร้อมใช้งาน ให้ตรวจวงจรทั้งหมดภายใต้การอนุญาตที่เหมาะสมและเงื่อนไขที่มีขอบเขต การเรียกข้อมูลสำเร็จยืนยันได้เฉพาะการเรียกข้อมูลครั้งนั้น ไม่ได้ยืนยันการลงนาม การดำเนินการ การยกเลิก หรือการชำระบัญชี

ตรวจหน่วยด้วยตัวอย่างขนาดเล็กที่ทราบคำตอบ

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

สำหรับโทเคนสมมติที่มีสิบแปดตำแหน่งทศนิยม หน่วยย่อยที่สุดจำนวน 27000000000000000 หน่วยแทนโทเคน 0.027 หน่วย สำหรับอีกโทเคนที่มีหกตำแหน่งทศนิยม หน่วยย่อยที่สุดจำนวน 27000000 หน่วยแทนโทเคน 27 หน่วย การทิ้งข้อมูลกำกับจำนวนทศนิยมหรือสมมติว่าสินทรัพย์ทุกชนิดใช้หลักเดียวกับโทเคนแรกทำให้เกิดข้อผิดพลาดการชำระเงินอย่างร้ายแรงได้ แม้แปลค่าดิบสำเร็จ

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

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

ทำให้ตรวจติดตามระบบเชื่อมต่อได้โดยไม่เปิดเผยข้อมูลลับ

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

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

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

เรียนรู้ต่อ

สำรวจทรัพยากรทั้งหมด