ข้ามไปที่เนื้อหา

ซิงค์กับรายการ

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

Note
  • API การขอรับ/กู้คืนรายการ ทำงานในลักษณะอะซิงโครนัสและตอบสนองเฉพาะการกำหนดความสำเร็จหรือความล้มเหลวของการลงทะเบียนข้อมูลคำขอเมื่อมีการเรียก API เท่านั้น
  • การตอบสนองต่อ การดำเนินการประมวลผลจริง เช่น การเรียก API ของเซิร์ฟเวอร์เกมสามารถตรวจสอบได้ในเมนู คอนโซล Hive ภายใต้การเรียกเก็บเงิน > Hive รายการ > คำขอรับ/กู้คืน หรือ บันทึกความสำเร็จในการรับ/กู้คืน โดยการค้นหาข้อมูลที่เกี่ยวข้องและคลิกที่รายการ สถานะ ในหน้าต่างป๊อปอัปผลการค้นหา
  • รายการ Hive ต้องการการจัดการการจราจรในขนาดใหญ่ ดังนั้นหากเวลาตอบสนองเฉลี่ยของเซิร์ฟเวอร์แอปของนักพัฒนามากกว่า 0.5 วินาที อาจทำงานในคิวแยกต่างหากแทนที่จะเป็นคิวหลัก ในกรณีนี้ อาจเกิดความล่าช้าอย่างมากในการประมวลผลการให้รายการ เพื่อให้การประมวลผลการให้รายการเป็นไปอย่างราบรื่น แนะนำให้รักษา เวลาเฉลี่ยในการตอบสนองของเซิร์ฟเวอร์แอปของนักพัฒนาต่ำกว่า 0.5 วินาที

ข้อกำหนดการเตรียมการรวม

ในการรวมเข้ากับสินค้า Hive คุณต้องลงทะเบียน URL ของเซิร์ฟเวอร์เกมและสินค้าก่อนในเมนู การจัดการสินค้าของ Hive

API การขอชำระเงิน/การกู้คืน

ตรวจสอบพื้นฐานของ API การขอชำระเงิน/คืนเงิน

วิธีการสื่อสาร API

  • API การขอรับเงินช่วยเหลือ/การกู้คืนให้บริการการสื่อสารสองประเภท: การสื่อสารผ่าน HTTP และการสื่อสารแบบ JSON String ผ่านซ็อกเก็ต.
  • มันขอรับเงินช่วยเหลือหรือการกู้คืนในรูปแบบ JSON String จากเซิร์ฟเวอร์เกมไปยัง Hive item.
  • เซิร์ฟเวอร์เกมจะส่งผลลัพธ์กลับในรูปแบบ JSON String ไปยัง Hive item.
  • ผลลัพธ์การตอบสนองรวมถึงรหัสการประมวลผลและข้อความ.
  • JSON String ทั้งหมดจะต้องเข้ารหัสในรูปแบบ UTF8.

วิธีการสมัครเกม

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

การปล่อยไฟร์วอลล์เซิร์ฟเวอร์เกม

ในการสื่อสารกับเซิร์ฟเวอร์ คุณต้องปิดกฎไฟร์วอลล์ขาเข้าสำหรับ IP ด้านล่างบนเซิร์ฟเวอร์เกม

  • 52.79.76.25
  • 3.37.22.75
  • 43.133.238.219 (เซิร์ฟเวอร์แซนด์บ็อกซ์)

การตรวจสอบสุขภาพเซิร์ฟเวอร์เกม

Hive รายการส่งรายละเอียดต่อไปนี้ไปยัง API ขออนุญาต/เพิกถอนเพื่อตรวจสอบสถานะของเซิร์ฟเวอร์เกม เซิร์ฟเวอร์รายการ Hive จะส่งสิ่งนี้ไปยังเซิร์ฟเวอร์เกมสองครั้งในช่วงเวลา 5 นาทีใน Request Body.

{"transactionId":"","idCategory":"","id":"","detail":[{"action":"","assetCode":"","amount":0}],"reason":""}

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

การตรวจสอบค่า Apihash

เซิร์ฟเวอร์เกมสามารถตรวจสอบข้อมูลที่ได้รับจากเซิร์ฟเวอร์รายการ Hive ผ่านค่า Apihash ใน Header ก่อนที่จะตรวจสอบค่าแฮช จำเป็นต้องแปลงข้อมูล Request Body ที่ได้รับจากเซิร์ฟเวอร์รายการ Hive เป็น JSON encode หรือ unicode (ดูที่โค้ดตัวอย่าง)
โดยการผสมผสานพรีฟิกซ์ของข้อกำหนดการร้องขอและค่าข้อความ JSON ที่แปลงแล้ว (พรีฟิกซ์ + JSON String) จะสร้างค่าแฮชที่จัดรูปแบบ SHA1 และค่านี้จะถูกเปรียบเทียบกับค่า Apihash เพื่อการตรวจสอบ

  • โค้ดตัวอย่าง
    // Example of a transformed JSON String (add a line and spaces for readability)
 {
    "transactionId": "123456789",
    "idCategory": "vid",
    "id": "1004",
    "detail": [
        {
            "action": "p",
            "assetCode": "gem",
            "amount": 1,
            "method": ""
        }
    ],
    "reason": "td",
    "subReason": "",
    "userMessage": "",
    "templateMessage": {
        "ko": {
            "title": "HIVE Item uc9c0uae09 uba54uc138uc9c0 QA ud55cuad6d",
            "body": "HIVE Item uc9c0uae09 uba54uc138uc9c0 QA ud55cuad6duc5b4 ub178ucd9c"
        }
    },
    "serverId": "kr",
    "additionalinfo": "",
    "gameIndex": 539
}

API การขอชำระเงิน/คืนเงินสำหรับวิธีการสื่อสาร HTTP

API การชำระเงิน/การเรียกคืนข้อมูลสื่อสารกับเซิร์ฟเวอร์เกม (URL) ที่ตั้งค่าใน Hive คอนโซล > การเรียกเก็บเงิน > รายการ > การลงทะเบียนรายการ ผ่านโปรโตคอล HTTP และวิธีการส่งข้อมูลคำขอคือ POST.

ข้อกำหนดการร้องขอ (ไอเท็มรัง -> เซิร์ฟเวอร์เกม)

HTTP Header : Apihash

  • เพื่อยืนยันข้อมูล ให้ส่งค่าแฮชพร้อมกับคีย์ Apihash.
  • ใช้ SHA1 สำหรับค่าแฮช (เพิ่มคำนำหน้า !@#COM2US!@# ไปยังสตริง JSON ของร่าง)

เนื้อหาคำขอ (Hive item -> เซิร์ฟเวอร์เกม)

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น (จำเป็น: M, ไม่จำเป็น: O)
transactionId ตัวระบุเพื่อแยกแยะคำขอแต่ละรายการ (สำหรับการตรวจสอบคำขอซ้ำ) รายละเอียด สตริง M
idCategory ID
  • Authentication v4: playerid
สตริง M
id ค่าของ ID ที่ตรงกับ idCategory สตริง M
detail อาร์เรย์ของวัตถุสำหรับสามรายการด้านล่าง อาร์เรย์ M
ㄴaction ว่าจะอนุญาต/เพิกถอน
  • s หรือ p: อนุญาต
  • w หรือ r: เพิกถอน
สตริง M
ㄴassetCode รหัสสำหรับรายการที่จะอนุญาต สตริง M
ㄴamount จำนวนที่จะอนุญาต จำนวนเต็ม M
reason เหตุผลสำหรับคำขอ รายละเอียด สตริง M
subReason เหตุผลสำหรับคำขอ รายละเอียด สตริง O
serverId เซิร์ฟเวอร์ที่ผู้ใช้เป้าหมายเชื่อมต่ออยู่ (ตัวระบุเซิร์ฟเวอร์) สตริง M
additionalinfo ข้อมูลเพิ่มเติมที่ส่งจากไคลเอนต์ไปยังเซิร์ฟเวอร์เกม (ทั้งหมดเป็นตัวพิมพ์เล็ก) (ในรูปแบบ JSON String) สตริง O
duration ระยะเวลาการเก็บรักษาในกล่องจดหมาย (ไม่จำเป็น) รายละเอียด
  • 1-9999: จำนวนวันในการเก็บรักษา
  • -1: ค่าสูงสุดที่สามารถตั้งโดยเซิร์ฟเวอร์เกม
จำนวนเต็ม O
userMessage ข้อความการอนุญาตรายการ (ข้อความคงที่)
เข้ากันได้กับเกมเก่าที่ไม่ใช้ templateMessage
สตริง O
templateMessage ข้อความที่ตั้งไว้สำหรับข้อความการอนุญาตรายการ
คีย์ข้อมูลคือรหัสภาษา, ค่าประกอบด้วยข้อความ (หัวเรื่อง) และเนื้อหา
(อย่างไรก็ตาม หากมีข้อมูลอยู่ รูปแบบเริ่มต้นคือ Object และถ้าไม่มีจะถูกส่งเป็น String ว่าง)
อ็อบเจ็กต์ O
gameIndex หมายเลขประจำสำหรับแต่ละเกมใน Hive app center จำนวนเต็ม M

transactionid

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

เหตุผล

Note

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

ชื่อฟิลด์ คำอธิบาย
pe ข้อผิดพลาดในการชำระเงิน
rge ข้อผิดพลาดในการเล่นเกมรางวัล
rcd ความไม่พอใจของผู้บริโภครางวัล
rce ข้อผิดพลาดคูปองรางวัล
ro รางวัลต่างประเทศ
ae การแลกเปลี่ยนสินทรัพย์
e เหตุการณ์
ea เหตุการณ์อัตโนมัติ
mc คูปองจำนวนมาก
uc คูปองเฉพาะ
b การเรียกเก็บเงิน * HIVE IAP v2
lb การเรียกเก็บเงิน Lebi
co Cpi Offerwall
p โปรโมชั่น * ใช้เหมือนกันสำหรับ Cross Banner, Offerwall, UA
sr รางวัลสตรีมมิ่ง
tcs ทดสอบ CS
tgm ทดสอบ GM
tpm ทดสอบ PM
tqa ทดสอบ QA
td ทดสอบนักพัฒนา
tg ทดสอบตลาด, ธุรกิจ
tmb ทดสอบต่างประเทศ (ทดสอบนักพัฒนา)
re ดึงข้อมูล ฯลฯ
rr ดึงข้อมูลการคืนเงิน
mr คำขอจำนวนมาก
etc ฯลฯ

เหตุผลย่อย

เหตุผล เหตุผลย่อย คำอธิบาย
p รายละเอียดการขอโปรโมชันย่อย
1 แบนเนอร์ทั่วไปข้าม CPI
2 แบนเนอร์ทั่วไปข้าม CPA
3 แบนเนอร์ด้านหน้า CPI ข้าม
4 แบนเนอร์ด้านหน้า CPA ข้าม
5 แบนเนอร์เสนอทั่วไป CPI
6 แบนเนอร์เสนอทั่วไป CPA
7 แบนเนอร์เสนอพิเศษ CPI
8 แบนเนอร์เสนอพิเศษ CPA
9 UA CPI
10 UA CPA
11 UC CPI

การจำแนกฟีเจอร์โปรโมชั่น

  • การโปรโมตข้าม: ผู้ใช้สามารถโฆษณาเกมอื่นในเกมปัจจุบันที่พวกเขากำลังเล่นในรูปแบบของแบนเนอร์และกำแพงข้อเสนอ (สถานีชาร์จฟรี) แบ่งออกเป็นแบนเนอร์ปกติและแบนเนอร์แบบเต็มหน้าจอ
  • กำแพงข้อเสนอ: กำแพงข้อเสนอจะแสดงรายการเกมที่ยังไม่ได้ติดตั้งบนอุปกรณ์ของผู้ใช้ในรูปแบบของแบนเนอร์ ผู้ใช้จะได้รับรางวัลเมื่อพวกเขาสัมผัสแบนเนอร์และติดตั้งเกมจากตลาดที่เชื่อมต่อ แบ่งออกเป็นกำแพงข้อเสนอปกติและกำแพงข้อเสนอพิเศษ
  • UA/UC: ฟีเจอร์เชิญเกมที่ใช้โซเชียลมีเดียและรหัส QR UA เกี่ยวข้องกับผู้ใช้ที่เชิญและผู้ใช้ที่รับ ในขณะที่ UC รวมเฉพาะผู้ใช้ที่รับ UC สามารถใช้ในระหว่างการลงทะเบียนล่วงหน้า

วิธีการให้รางวัล

  • CPI: รางวัลจะได้รับหลังจากเริ่มเกมหลังการติดตั้ง
  • CPA: รางวัลจะได้รับสำหรับการบรรลุเป้าหมายที่กำหนดในระหว่างเกม สำหรับรายละเอียดเพิ่มเติม โปรดตรวจสอบที่ คู่มือการดำเนินการส่งเสริมการขาย.

ระยะเวลา

  • ระยะเวลาที่รายการที่ร้องขอถูกเก็บไว้ในกล่องจดหมายหลังจากถูกออกสามารถตั้งค่าได้เป็นรายบุคคลสำหรับแต่ละรายการในสำนักงานหลัง
  • เซิร์ฟเวอร์เกมจัดการในสามกรณีตามสถานการณ์
    • หากกุญแจไม่มีอยู่: จะใช้ค่าดีฟอลต์ที่ตั้งโดยเซิร์ฟเวอร์เกม (เช่น ค่าดีฟอลต์คือการเก็บ 7 วัน)
    • 1~9999: จำนวนที่ระบุจะถูกใช้เป็นจำนวนวัน (เช่น หากค่าคือ 14 หมายถึงการเก็บ 14 วัน)
    • -1: จะใช้ค่ามากสุดที่สามารถตั้งโดยเซิร์ฟเวอร์เกม (เช่น การเก็บถาวร)

ข้อกำหนดการตอบสนอง (เซิร์ฟเวอร์เกม -> ไอเทมในฮีฟ)

การตอบสนอง (เซิร์ฟเวอร์เกม -> Hive รายการ)

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น (จำเป็น: M, ไม่จำเป็น: O)
รหัส รหัสผลลัพธ์การประมวลผล รายละเอียด จำนวนเต็ม M
ข้อความ ข้อความผลลัพธ์การประมวลผล สตริง M
  • รหัสข้อผิดพลาด
รหัสโค้ด คำอธิบาย
2xxxx ไม่มีปัญหากับคำขอ การประมวลผลสำเร็จ
20000 ไม่มีปัญหากับคำขอ การประมวลผลสำเร็จ
20001 ไม่มีปัญหากับคำขอ
ประมวลผลสำเร็จแล้ว (คำขอซ้ำ)
หากมี transactionId ที่ประมวลผลปกติอยู่แล้ว
4xxxx ข้อผิดพลาดของพารามิเตอร์คำขอ
40001 ข้อผิดพลาด JSON ของคำขอ
40002 ข้อผิดพลาดของแฮช
40003 ขาดคีย์พารามิเตอร์ที่จำเป็น
40004 ข้อผิดพลาดประเภทคีย์พารามิเตอร์ที่จำเป็น
40005 ค่าพารามิเตอร์ที่จำเป็นว่างเปล่า
40006 ค่าพารามิเตอร์ที่จำเป็นไม่ถูกต้อง (เช่น ลบ)
5xxxx ข้อผิดพลาดในการประมวลผลของเซิร์ฟเวอร์
50001 ผู้ใช้ที่ไม่มีอยู่
50004 ข้อผิดพลาดในการลงทะเบียน DB
50005 ข้อผิดพลาดของพารามิเตอร์ (เช่น รหัสรายการที่ไม่มีอยู่)
  • ตัวอย่างคำขอ
curl -L -v 
-d '{"transactionId":"27905","idCategory":"vid","id":"828292","detail":[{"action":"p","assetCode":"gold","amount":500,"method":""},{"action":"p","assetCode":"gem","amount":200,"method":""}],"reason":"td","subReason":"","userMessage":"","templateMessage":{"ko":{"title":"ud55cuae00 uba54uc138uc9c0","body":"ud55cuae00 ub0b4uc6a9"},"en":{"title":"English Message","body":"English Contents"}},"serverId":"kr","additionalinfo":"","gameIndex":539}' 
-H "Content-Type: text/html" 
-H "Apihash: e9d7307948ff0134fb59c5f96e68f5ae21e3e47f" 
https://sandbox-misample.com2us.net/hive/item
  • ตัวอย่างคำขอ
> POST /hive/item HTTP/2
> Host: sandbox-misample.com2us.net
> user-agent: curl/7.68.0
> accept: */*
> content-type: text/html
> apihash: e9d7307948ff0134fb59c5f96e68f5ae21e3e47f
> content-length: 447
  • ตัวอย่างการตอบกลับ
< HTTP/2 200
< server: nginx
< date: Tue, 12 Jul 2022 11:29:21 GMT
< content-type: application/json; charset=utf-8
<
* Connection #0 to host sandbox-misample.com2us.net left intact
{"status":"200","code":"20001","message":"this request has already been processed"}

ตัวอย่างคำขอ(PHP)

    // data request
$data = array(
    'transactionId'     => '12321',
    'idCategory'        => 'vid',
    'id'                => '828292',
    'detail'            => array(
        array(
            'action'    => 's',
            'assetCode' => 'gold',
            'amount'    => 500,
        ),
        array(
            'action'    => 's',
            'assetCode' => 'gem',
            'amount'    => 200,
        ),
    ),
    'reason'            => 'p',
    'subReason'         => '3',
    'userMessage'       => '',
    'templateMessage'   => array(
        'ko' => array(
            'title' => '한글 메세지',
            'body'  => '한글 내용'
        ),
        'en' => array(
            'title' => 'English Message',
            'body'  => 'English Contents'
        ),
    ),
    'serverId'          => 'GLOBAL',
    'additionalinfo'    => '{"character":1}',
    'gameIndex'         => 539
);
$jsonData = json_encode($data); // convert to JSON
/******************************************************************** 
    Conversion result (add a line and spaces for readability) :
{
    "transactionId": "12321",
    "idCategory": "vid",
    "id": "828292",
    "detail": [
        {
            "action": "s",
            "assetCode": "gold",
            "amount": 500
        },
        {
            "action": "s",
            "assetCode": "gem",
            "amount": 200
        }
    ],
    "reason": "p",
    "subReason": "3",
    "userMessage": "",
    "templateMessage": {
        "ko": {
            "title": "한글 메세지",
            "body": "한글 내용"
        },
        "en": {
            "title": "English Message",
            "body": "English Contents"
        }
    },
    "serverId": "GLOBAL",
    "additionalinfo": "{"character":1}",
    "gameIndex": 539
}
********************************************************************/
// set header as application/json &amp; set hash 
$hash = sha1('!@#COM2US!@#' . $jsonData); 
$header = array(
    'Content-type: application/json',
    'Apihash: ' . $hash
);
$url = 'http://game.com2us.com/gms.php'; // game server url
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, $header); 
curl_setopt($curl, CURLOPT_URL, $url); 
curl_setopt($curl, CURLOPT_POST, true); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonData); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
$result = curl_exec( $curl );
curl_close( $curl );
// process the result data
$response = json_decode($result);

ตัวอย่างการตอบสนอง (PHP)

// php header declaration
header('Content-type: application/json');
// json Data
$rawData = file_get_contents('php://input');
//confirm Hash value
$hash = sha1('!@#COM2US!@#' . $rawData);
$requestHash = $_SERVER['Apihash'];
if ($requestHash != $hash) {
/*****************************************************************
Process if the hash value differs (optional to use hash)
*****************************************************************/
}
// Decode requested JSON data 
$requestData = json_decode($rawData, TRUE);
foreach ($requestData['detail'] as $item) {
/*****************************************************************
Process the asset as requested
*****************************************************************/
}
$returnData = array(
'code' => 50001,
'message' => 'user not exists',
);
//To avoid adding UTF-8BOM
ob_clean()
//Convert to JSON and send the response
echo json_encode($returnData);
/*****************************************************************
Conversion result (insert a line) :
{
"code" : 50001,
"message" : "user not exists"
}
*****************************************************************/

วิธีการสื่อสารซ็อกเก็ตสำหรับ API การขอชำระเงิน/คืนเงิน

API การชำระเงิน/การเรียกคืนที่ใช้ Socket ทำงานบน TCP/IP ซึ่งเป็นโปรโตคอลสำหรับการสื่อสารข้อมูลแบบแพ็กเก็ต โดยมีพอร์ตเริ่มต้นที่ 20080 ข้อมูลอยู่ในรูปแบบ JSON เดียวกันกับที่ใช้ในการสื่อสารผ่าน HTTP และลำดับไบต์เป็นลำดับไบต์เครือข่าย (Big-endian)

ข้อมูลจำเพาะของแพ็กเกจคำขอ (ไอเท็มฮีฟ -> เซิร์ฟเวอร์เกม)

ขนาดแพ็กเกจ 4 ไบต์ 4 ไบต์ ตัวแปร 4 ไบต์ ตัวแปร
คำอธิบาย ความยาวแพ็กเกจทั้งหมด ความยาวส่วนหัว เนื้อหาส่วนหัว ความยาวเนื้อหา เนื้อหาหลัก
  • 4 ไบต์แรกแสดงถึงความยาวรวมของแพ็กเกจรวมถึง 4 ไบต์นี้
    ตัวอย่างเช่น หากส่วนหัวมีขนาด 46 ไบต์และเนื้อหามีขนาด 100 ไบต์ ดังนั้น 4+4+46+4+100 = 158 ไบต์
  • 4 ไบต์ถัดไปแสดงถึงความยาวของส่วนหัวที่ตามมา
  • ส่วนหัวอยู่ในรูปแบบสตริง JSON เดียวกันกับค่าแฮชในการสื่อสาร HTTP
    ตัวอย่างเช่น, {"Apihash":"912ec803b2ce49e4a541068d495ab570"}
  • 4 ไบต์สุดท้ายแสดงถึงความยาวของเนื้อหาที่ตามมา
  • เนื้อหาอยู่ในรูปแบบสตริง JSON เดียวกันกับค่าคำขอในการสื่อสาร HTTP.

ข้อกำหนดแพ็กเกจการตอบกลับ (เซิร์ฟเวอร์เกม -> ไอเท็มฮีฟ)

ขนาดแพ็กเกจ 4 ไบต์ ตัวแปร
เนื้อหา ความยาวทั้งหมดของแพ็กเกจ เนื้อหา
  • 4 ไบต์แรกระบุความยาวของแพ็กเก็ตทั้งหมด รวมถึง 4 ไบต์นั้น
  • เนื้อหาอยู่ในรูปแบบสตริง JSON เดียวกันกับค่าการตอบกลับในการสื่อสาร HTTP.