ภาพรวมของ REST API

ข้อจำกัดพื้นฐาน

  • การออกแบบ API สอดคล้องกับข้อกำหนด HTTP และ REST ตัวอย่างเช่น การร้องขอข้อมูลใช้วิธี GET และการส่งข้อมูลใช้วิธี POST หากคำขอไม่สอดคล้องกับวิธี HTTP ที่เหมาะสม จะส่งคืนข้อผิดพลาด
  • เว้นแต่จะระบุไว้เป็นอย่างอื่น ค่าพารามิเตอร์ของคำขอควรเข้ารหัสเป็น UTF-8 และเข้ารหัส URL

ข้อจำกัดอัตราการร้องขอ

API ของเรามีการจำกัดความถี่ในการเรียกใช้งานเพื่อให้มั่นใจถึงความเสถียรและความเป็นธรรมของบริการ ข้อจำกัด QPS (จำนวนคำขอต่อวินาที) ของแต่ละ AppKey มีดังนี้:

  • ข้อจำกัดมาตรฐาน: สูงสุด 500 คำขอต่อวินาที
  • ข้อจำกัดขั้นสูง: หากคุณเป็นสมาชิกแผนการชำระเงินของเรา และ AppKey ที่ชำระเงินของคุณต้องการ QPS ที่สูงกว่า โปรดติดต่อทีมธุรกิจของเรา: Sales@engagelab.com

ศูนย์ข้อมูลและ URL พื้นฐาน

ตั้งแต่วันที่ 19 มีนาคม 2025 เป็นต้นไป นักพัฒนาที่เริ่มใช้งาน Engagelab Push API จะต้องใช้โดเมนต่อไปนี้ URL พื้นฐานที่ลงท้ายด้วย .cc ยังคงใช้งานได้ แต่แนะนำให้นักพัฒนาเปลี่ยนไปใช้โดเมนล่าสุด

ศูนย์ข้อมูล URL พื้นฐาน
สิงคโปร์ https://pushapi-sgp.engagelab.com
เวอร์จิเนีย, สหรัฐอเมริกา https://pushapi-usva.engagelab.com
แฟรงก์เฟิร์ต, เยอรมนี https://pushapi-defra.engagelab.com
ฮ่องกง https://pushapi-hk.engagelab.com

เมื่อใช้ REST API คุณต้องรวม URL พื้นฐานที่เลือกกับเส้นทาง API เฉพาะเพื่อให้ได้ endpoint ที่สมบูรณ์

{base URL}/{API path}
              
              {base URL}/{API path}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

โดยที่ {base URL} หมายถึง URL พื้นฐานของศูนย์ข้อมูลที่เลือก และ {API path} หมายถึงเส้นทาง endpoint API เฉพาะ เช่น v4/devices/{registration_id}

ตัวอย่าง:

  • สมมติว่าเลือกศูนย์ข้อมูลสิงคโปร์ URL พื้นฐานคือ https://pushapi-sgp.engagelab.com
  • หากเป้าหมายคือการลบข้อมูลการลงทะเบียนของอุปกรณ์เฉพาะ เส้นทาง API คือ v4/devices/{registration_id} endpoint API ที่สมบูรณ์คือ:
https://pushapi-sgp.engagelab.com/v4/devices/{registration_id}
              
              https://pushapi-sgp.engagelab.com/v4/devices/{registration_id}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

โดยที่ {registration_id} หมายถึง ID การลงทะเบียนของอุปกรณ์เฉพาะ

ด้วยวิธีนี้ คุณสามารถสร้าง URL endpoint API ที่สมบูรณ์สำหรับการเข้าถึงศูนย์ข้อมูลต่างๆ

วิธีการรับรองความถูกต้อง

Engagelab REST API ใช้การรับรองความถูกต้องแบบ HTTP Basic วิธีพื้นฐานคือการเพิ่ม Authorization ในส่วนหัวของ HTTP:

Authorization: Basic base64_auth_string
              
              Authorization: Basic base64_auth_string

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

อัลกอริทึมการสร้าง base64_auth_string: base64(appKey:masterSecret)
ประกอบด้วยสตริงที่สร้างจาก appKey, เครื่องหมายโคลอน และ masterSecret และแปลงเป็น base64
ไปที่หน้า AppPush และรับข้อมูล AppKey และ Master Secret ในหน้าข้อมูล APP
image.png

ตัวอย่างการรับรองความถูกต้อง

appKey ของคุณคือ "c96f42e0d2e662e45d035ab1" และ masterSecret คือ "df4d59e84eac2f9d53b36f12" การเรียกใช้ Push API v4 ผ่านคำสั่ง curl ดังนี้:

curl --insecure -X POST -v https://pushapi-sgp.engagelab.com/v4/push -H "Content-Type: application/json" -u "c96f42e0d2e662e45d035ab1:df4d59e84eac2f9d53b36f12" -d '{ "from": "push", "to": "all", "body": { "platform": ["android","ios"], "notification": { "alert": "Hi,MTPush !", "notification": { "alert" :"Hello, Push!", "android": { "alert": "Hi, Push!", "title": "Send to Android", "builder_id": 1, "extras": { "newsid": 321 } }, "ios": { "alert": "Hi, MTPush!", "sound": "default", "badge": "+1", "extras": { "newsid": 321 } } } } }, "request_id": "12345678", "custom_args": "business info" }'
              
               curl --insecure -X POST -v https://pushapi-sgp.engagelab.com/v4/push 
-H "Content-Type: application/json" 
-u "c96f42e0d2e662e45d035ab1:df4d59e84eac2f9d53b36f12" 
-d '{
    "from": "push",
    "to": "all",
    "body": {
        "platform": ["android","ios"],
        "notification": {
            "alert": "Hi,MTPush !",
            "notification": {
                "alert" :"Hello, Push!",
                "android": {
                    "alert": "Hi, Push!",
                    "title": "Send to Android",
                    "builder_id": 1,
                    "extras": {
                        "newsid": 321
                    }
                },
                "ios": {
                    "alert": "Hi, MTPush!",
                    "sound": "default",
                    "badge": "+1",
                    "extras": {
                        "newsid": 321
                    }
                }
            }
        }
    },
    "request_id": "12345678",
    "custom_args": "business info"
}'

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

ตัวอย่างคำขอ HTTP:

> POST /v4/push HTTP/1.1 > Authorization: Basic Yzk2ZjQyZTBkMmU2NjJlNDVkMDM1YWIxOmRmNGQ1OWU4NGVhYzJmOWQ1M2IzNmYxMg==
              
              > POST /v4/push HTTP/1.1
> Authorization: Basic Yzk2ZjQyZTBkMmU2NjJlNDVkMDM1YWIxOmRmNGQ1OWU4NGVhYzJmOWQ1M2IzNmYxMg==

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
icon
ติดต่อฝ่ายขาย