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

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

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

Note
  • API การขอรับ/กู้คืนรายการ ทำงานในลักษณะอะซิงโครนัสและตอบสนองเพียงการกำหนดความสำเร็จหรือความล้มเหลวของการลงทะเบียนข้อมูลคำขอเมื่อมีการเรียก API.
  • การตอบสนองต่อ การดำเนินการประมวลผลจริง เช่น การเรียก API ของเซิร์ฟเวอร์เกมสามารถตรวจสอบได้ในเมนู Hive console ภายใต้การเรียกเก็บเงิน > 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 String (พรีฟิกซ์ + JSON String) จะสร้างค่าแฮชในรูปแบบ SHA1 และค่านี้จะถูกเปรียบเทียบกับค่า Apihash เพื่อการตรวจสอบ

  • ตัวอย่างโค้ด
    // Example of a transformed JSON String (add a line and spaces for readability)
 {
    "transactionId": "123456789",
    "idCategory": "player_id",
    "id": "1004",
    "detail": [
        {
            "action": "p",
            "assetCode": "gem",
            "amount": 1
        }
    ],
    "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 Console > Billing > Items > Item Registration เมนูผ่านโปรโตคอล HTTP และวิธีการส่งข้อมูลคำขอคือ POST.

ข้อกำหนดการร้องขอ (hive item -> game server)

HTTP Header : Apihash

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

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

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น (จำเป็น: M, ไม่จำเป็น: O)
transactionId ตัวระบุเพื่อแยกแยะคำขอแต่ละรายการ (สำหรับการตรวจสอบคำขอซ้ำ) รายละเอียด String M
idCategory ประเภทผู้ใช้ Hive (ใช้ค่าคงที่ player_id) String M
id รหัสผู้ใช้ Hive (player_id) String M
detail อาร์เรย์ของวัตถุสำหรับสามรายการด้านล่าง Array M
ㄴaction ว่าจะอนุญาต/เพิกถอน
  • s หรือ p: อนุญาต
  • w หรือ r: เพิกถอน
String M
ㄴassetCode รหัสสำหรับรายการที่จะอนุญาต String M
ㄴamount จำนวนที่จะอนุญาต Integer M
reason เหตุผลสำหรับคำขอ รายละเอียด String M
subReason เหตุผลสำหรับคำขอ รายละเอียด String O
serverId เซิร์ฟเวอร์ที่ผู้ใช้เป้าหมายเชื่อมต่ออยู่ (ตัวระบุเซิร์ฟเวอร์) String M
additionalinfo ข้อมูลเพิ่มเติมที่ส่งจากไคลเอนต์ไปยังเซิร์ฟเวอร์เกม (ทั้งหมดเป็นตัวพิมพ์เล็ก) (ในรูปแบบ JSON String) String O
duration ระยะเวลาการเก็บรักษาในกล่องจดหมาย (ไม่จำเป็น) รายละเอียด
  • 1-9999: จำนวนวันในการเก็บรักษา
  • -1: ค่าสูงสุดที่สามารถตั้งค่าได้โดยเซิร์ฟเวอร์เกม
Integer O
userMessage ข้อความการอนุญาตรายการ (ข้อความคงที่)
เข้ากันได้กับเกมเก่าที่ไม่ใช้ templateMessage
String O
templateMessage ข้อความที่ตั้งไว้สำหรับข้อความการอนุญาตรายการ
คีย์ข้อมูลคือรหัสภาษา ค่าเป็นข้อความ (หัวข้อ) และเนื้อหา
(อย่างไรก็ตาม หากมีข้อมูลอยู่ รูปแบบเริ่มต้นคือ Object และหากว่างเปล่าจะแสดงเป็น String ว่าง)
Object O
gameIndex หมายเลขประจำสำหรับแต่ละเกมในศูนย์แอป Hive Integer 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":"player_id","id":"828292","detail":[{"action":"p","assetCode":"gold","amount":500},{"action":"p","assetCode":"gem","amount":200}],"reason":"td","subReason":"","userMessage":"","templateMessage":{"ko":{"title":"\ud55c\uae00 \uba54\uc138\uc9c0","body":"\ud55c\uae00 \ub0b4\uc6a9"},"en":{"title":"English Message","body":"English Contents"}},"serverId":"GLOBAL","additionalinfo":"{\"character\":1}","gameIndex":539}' 
-H "Content-Type: text/html" 
-H "Apihash: 54e7a0fc8abfdba398e30213496c2d85ec6e0e06" 
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: 54e7a0fc8abfdba398e30213496c2d85ec6e0e06
> 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'        => 'player_id',
    '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": "player_id",
    "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.