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

ส่งข้อมูลการบริโภค

เรามี API สำหรับส่งข้อมูลการบริโภคของผู้ใช้ไปยัง App Store เมื่อผู้ใช้แอปขอคืนเงิน

API 'ส่งข้อมูลการบริโภค' ทำงานผ่านการสื่อสารแบบ Server-to-Server ระหว่างเซิร์ฟเวอร์ Hive และเซิร์ฟเวอร์แอป โดยเซิร์ฟเวอร์ Hive จะส่งคำขอส่งข้อมูลการบริโภคไปยังเซิร์ฟเวอร์แอป และเซิร์ฟเวอร์แอปจะส่งค่าตอบกลับกลับไปยังเซิร์ฟเวอร์ Hive

จะหยุดให้บริการเร็วๆ นี้

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

การเปลี่ยนแปลงจาก V1 เป็น V2

สรุปการเปลี่ยนแปลงที่ต้องเชื่อมต่อใน V2 API เมื่อเทียบกับการส่งข้อมูลการบริโภค V1แบบเดิม

รายการ V1 V2
Request body gameindex, appid, user_seq gameindex, appid, server_id, player_id (=user_seq), transaction_id
สถานะการบริโภค consumption_status (จำนวนเต็ม 0/3) delivery_status (สตริง enum 5 ค่า)
play_time มี (จำเป็น) ลบออก
อัตราส่วนการบริโภค ไม่มี เพิ่ม consumption_percentage (millipercent 0-100000)
refund_preference จำนวนเต็ม, จำเป็น สตริง enum, ไม่บังคับ
sample_content_provided จำเป็น ไม่บังคับ
รูปแบบการตอบกลับ code/message/data code/message/data (โครงสร้างเหมือนเดิม เปลี่ยนรหัสตอบกลับเมื่อสำเร็จจาก 100 เป็น 200)
IP ไฟร์วอลล์ IP เดี่ยวสำหรับ Production/Sandbox IP เซิร์ฟเวอร์ Hive 6 รายการ
Note

ขณะนี้ การส่งข้อมูลการบริโภคสนับสนุนเฉพาะโดย Apple App Store เท่านั้น

ขั้นตอนการทำงาน

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

  1. แอป: เตรียม URL เซิร์ฟเวอร์โดยกำหนดค่า API endpoint
  2. แอป: เลือกเปิดใช้งานการส่งข้อมูลการบริโภคในคอนโซล Hive และลงทะเบียน URL เซิร์ฟเวอร์
  3. ไคลเอนต์แอป: ยินยอมให้ส่งข้อมูลการบริโภคสินค้าในแอปขณะที่แอปกำลังทำงานอยู่
  4. ผู้ใช้แอป: ขอคืนเงินในแอป
  5. เซิร์ฟเวอร์ Hive: ส่งคำขอ POST API ไปยัง URL เซิร์ฟเวอร์ที่แอปลงทะเบียนไว้ และรับข้อมูลการบริโภคเป็นค่าตอบกลับจากเซิร์ฟเวอร์แอป
  6. เซิร์ฟเวอร์ Hive: ส่งข้อมูลการบริโภคไปยัง App Store
Warning

หากไคลเอนต์แอปไม่ยินยอมให้ส่งข้อมูลในหน้าต่างการยินยอม เซิร์ฟเวอร์ Hive จะไม่สามารถส่งข้อมูลไปยัง App Store ได้ แม้จะได้รับข้อมูลจากเซิร์ฟเวอร์แอปแล้วก็ตาม

ข้อมูลการบริโภคที่จะส่งไปยัง App Store บางส่วนมีอยู่เฉพาะบนเซิร์ฟเวอร์แอปเท่านั้น ในกรณีนี้ หากต้องการให้เซิร์ฟเวอร์ Hive ส่งข้อมูลการบริโภคไปยัง App Store เซิร์ฟเวอร์แอปต้องส่งข้อมูลไปยังเซิร์ฟเวอร์ Hive ก่อน

URL เซิร์ฟเวอร์แอปคือ API endpoint ที่เซิร์ฟเวอร์แอปเปิดไว้เพื่อส่งข้อมูลไปยังเซิร์ฟเวอร์ Hive หลังจากกำหนดค่า API endpoint แล้วลงทะเบียนเป็น URL เซิร์ฟเวอร์แอป ทุกครั้งที่ผู้ใช้ขอคืนเงิน เซิร์ฟเวอร์ Hive จะส่งคำขอ POST ไปยัง API endpoint นี้และรับข้อมูลที่จำเป็นจากเซิร์ฟเวอร์แอป เซิร์ฟเวอร์ Hive จะรวบรวมข้อมูลนี้และดำเนินการส่งข้อมูลการบริโภคไปยัง App Store แทนแอป


การกำหนดค่า API endpoint (URL เซิร์ฟเวอร์)

เมื่อเซิร์ฟเวอร์แอปได้รับคำขอผ่าน API endpoint ที่จะลงทะเบียนเป็น URL เซิร์ฟเวอร์ ต้องรวบรวมข้อมูลรายผู้ใช้แอป (consumption_status, play_time, refund_preference, sample_content_provided) และตอบกลับด้วยข้อมูลที่รวบรวมแล้วซึ่งสามารถค้นหาได้ด้วยข้อมูลผู้ใช้ (CS_CODE) ที่อยู่ในพารามิเตอร์คำขอ

ปิดกฎไฟร์วอลล์

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

Hive ประเภทเซิร์ฟเวอร์ ที่อยู่ IP
IP เชิงพาณิชย์ 43.201.165.236
IP Sandbox 43.155.181.83

หลังจากปิดกฎไฟร์วอลล์แล้ว โปรดดูข้อมูลด้านล่างเพื่อกำหนดค่า API endpoint


การกำหนดค่า API request (เซิร์ฟเวอร์ Hive → เซิร์ฟเวอร์แอป)

นี่คือข้อมูลคำขอ POST ที่ส่งจากเซิร์ฟเวอร์ Hive ไปยังเซิร์ฟเวอร์แอป

ข้อมูล API คำอธิบาย
วิธีการ POST
รูปแบบการตอบสนอง JSON
ประเภทเนื้อหา application/json

Request body

ข้อมูล Request body มีดังนี้

ชื่อ ประเภท จำเป็น (จำเป็น: M, ไม่จำเป็น: O) คำอธิบาย
gameindex สตริง M Hive App Center Game Index
appid สตริง M Hive App Center AppID
user_seq สตริง M รหัสผู้ใช้ในแอป

ตัวอย่าง Request body มีดังนี้

{
    "gameindex": "539",
    "appid": "com.com2us.hivesdk.normal.freefull.apple.global.ios.universal",
    "user_seq": "222333"
}

การกำหนดค่า API response (เซิร์ฟเวอร์แอป → เซิร์ฟเวอร์ Hive)

นี่คือข้อมูลที่เซิร์ฟเวอร์แอปส่งกลับไปยังเซิร์ฟเวอร์ Hive

Response body

ข้อมูลค่าการตอบสนองที่เซิร์ฟเวอร์แอปต้องส่งไปยังเซิร์ฟเวอร์ Hive เมื่อการตอบสนองสำเร็จ มีดังนี้

ชื่อ ประเภท จำเป็น (จำเป็น: M, ไม่จำเป็น: O) คำอธิบาย
รหัส จำนวนเต็ม M รหัสการตอบกลับ (100: สำเร็จ)
ข้อความ สตริง M ข้อความผลลัพธ์ตามรหัสการตอบกลับ
ข้อมูล วัตถุ M ข้อมูลการตอบกลับ
(จะส่งคืนเฉพาะเมื่อการตอบกลับสำเร็จ ไม่ส่งคืนในกรณีเกิดข้อผิดพลาด)
┕ สถานะการบริโภค จำนวนเต็ม M สถานะการบริโภคของรายการที่บริโภคได้ ("0" หรือ "3" ต้องเลือกเป็นค่าตอบกลับที่คงที่)
┕ เวลาเล่น จำนวนเต็ม M เวลาเล่นเกม
┕ ความชอบการคืนเงิน จำนวนเต็ม M ความชอบการคืนเงิน
┕ สถานะเนื้อหาตัวอย่างที่ให้ จำนวนเต็ม M สถานะเนื้อหาตัวอย่างที่ให้


ตัวอย่างการตอบกลับสำเร็จมีดังนี้

// success
{
    "code": 100,
    "message": "OK",
    "data": {
        "consumption_status": 0,
        "play_time": 1,
        "refund_preference": 2,
        "sample_content_provided": 0
    }
}

ตัวอย่างการตอบกลับล้มเหลวมีดังนี้

// Errors due to wrong parameters
{
    "code": 400,
    "message": "No parameter, or invalid parameter name."
}
// Errors due to invalid user information
{
    "code": 200,
    "message": "No data, or invalid cs_code."
}

รหัสการตอบกลับ

รหัส คำอธิบาย
100 สำเร็จ
200 ข้อมูลผู้ใช้ไม่ถูกต้อง (CS_CODE)
400 ข้อผิดพลาดของพารามิเตอร์คำขอ
401 ข้อผิดพลาด JSON ของคำขอ
500 ข้อผิดพลาดในการประมวลผลเซิร์ฟเวอร์
501 ข้อผิดพลาดในการสื่อสารกับฐานข้อมูล