กลับไปยังคู่มือ

คู่มือ API (Sender Token)

ภาพรวม

ใช้ Sender Token เพื่อส่งการแจ้งเตือนผ่าน API ของระบบหลังบ้าน (ควรใช้ฝั่งเซิร์ฟเวอร์เท่านั้น และเก็บโทเค็นนี้เป็นความลับ)

Endpoint

POST https://notipush.app/api/send-push

รายละเอียด Payload

Key ความหมาย
sender_token
String (Required)
Sender Token ที่ได้จากแอป (เก็บเป็นความลับ)
title
String (Required)
หัวข้อของการแจ้งเตือน
body
String (Required)
เนื้อหาของการแจ้งเตือน
target_id
String (Optional)
ระบุ ID ผู้รับเจาะจงที่ได้ลงทะเบียนไว้ (หากไม่ใส่จะส่งหาทุกคนที่ติดตาม)

ตัวอย่าง


        

การตอบกลับ

ตัวอย่าง Response

{
  "success": true,
  "results": {
    "successCount": 1,
    "failureCount": 0
  }
}
หากเปิดใช้ Firebase จะได้ค่า successCount/failureCount; หากไม่เปิดใช้งาน อาจได้ simulated=true

สร้าง QR Code จากลิงก์

นำลิงก์ที่สร้างด้านบนไปสร้าง QR Code ด้วยเว็บไซต์ เช่น qr-code-generator.com หรือ Library ในภาษาโปรแกรมของคุณ ผู้รับสแกน QR Code แล้วจะเปิดแอป Receiver พร้อมลงทะเบียนอัตโนมัติ

ตัวอย่าง: สร้าง QR Code ด้วย Python

import qrcode

notify_token = "YOUR_NOTIFY_TOKEN"
target_id = "room-101"  # Optional

url = f"https://notipush.app/r/?t={notify_token}&tg={target_id}"
img = qrcode.make(url)
img.save("notipush_qr.png")
print(f"QR Code saved: {url}")

ตัวอย่าง: สร้าง QR Code ด้วย JavaScript (Node.js)

const QRCode = require('qrcode');

const notifyToken = "YOUR_NOTIFY_TOKEN";
const targetId = "room-101"; // Optional

const url = `https://notipush.app/r/?t=${notifyToken}&tg=${targetId}`;
QRCode.toFile('notipush_qr.png', url, (err) => {
  if (err) throw err;
  console.log(`QR Code saved: ${url}`);
});
คุณสามารถสร้าง QR Code แบบ Dynamic ได้ — เช่น พิมพ์ QR คนละใบสำหรับลูกค้าแต่ละราย หรือวางไว้ตามห้องต่างๆ ในอาคาร โดยเปลี่ยน Target ID ให้แตกต่างกัน

การใช้ Target ID (ส่งเจาะจงอุปกรณ์/กลุ่ม)

Target ID คือค่าที่ระบบของคุณ (Sender) เป็นคนกำหนดขึ้นมา ฝังไว้ในลิงก์หรือ QR Code ตอนที่ผู้รับลงทะเบียน เมื่อจำเป็นต้องส่งแจ้งเตือนเจาะจง คุณระบุ target_id ใน API call แล้วเฉพาะอุปกรณ์ที่ลงทะเบียนด้วย ID นั้นเท่านั้นที่จะได้รับ

ขั้นตอนการใช้งาน

1
Sender กำหนด Target ID

ออกแบบ Target ID ตามโครงสร้างของระบบคุณ เช่น รหัสลูกค้า, ชื่อห้อง, แผนก, สาขา เป็นต้น

2
สร้าง Link / QR Code พร้อม Target ID

ใส่ Target ID ลงในลิงก์ แล้วสร้าง QR Code หรือส่งลิงก์ให้ผู้รับ

3
ผู้รับสแกน QR / กดลิงก์

แอป Receiver จะลงทะเบียนพร้อมผูก Target ID ไว้กับอุปกรณ์โดยอัตโนมัติ

4
ส่ง Push เจาะจงด้วย target_id

เรียก API พร้อมใส่ target_id จะส่งเฉพาะอุปกรณ์ที่ลงทะเบียนด้วย ID นั้น ถ้าไม่ใส่จะส่งหาทุกคน (Broadcast)

ตัวอย่างการใช้งานจริง

สถานการณ์ Target ID ลิงก์ตัวอย่าง
🏨 แจ้งเตือนเฉพาะห้อง room-101 .../r/?t=TOKEN&tg=room-101
👤 แจ้งเตือนลูกค้ารายบุคคล cust-5678 .../r/?t=TOKEN&tg=cust-5678
🏢 แจ้งเตือนเฉพาะแผนก dept-sales .../r/?t=TOKEN&tg=dept-sales
🏪 แจ้งเตือนเฉพาะสาขา branch-bkk01 .../r/?t=TOKEN&tg=branch-bkk01
📢 ส่งทุกคน (Broadcast) ไม่ต้องใส่ .../r/?t=TOKEN

ตัวอย่าง API: ส่งเจาะจงกลุ่ม

curl -X POST "https://notipush.app/api/send-push" \
     -H "Content-Type: application/json" \
     -d '{
           "sender_token": "YOUR_SENDER_TOKEN",
           "title": "ห้อง 101 — อาหารพร้อมเสิร์ฟ",
           "body": "กรุณามารับที่เคาน์เตอร์ชั้น 1",
           "target_id": "room-101"
         }'

💡 ไม่ใส่ target_id = ส่งหาทุกคนที่ติดตามช่องนี้ (Broadcast)  |  ใส่ target_id = ส่งเฉพาะอุปกรณ์ที่ลงทะเบียนด้วย ID นั้น

สิ่งที่ระบบของ Sender ต้องเตรียม:
1. กำหนดรูปแบบ Target ID ให้ชัดเจน (เช่น room-{หมายเลข}, cust-{รหัส})
2. สร้าง Link/QR Code โดยใส่ tg=TARGET_ID ที่แตกต่างกันสำหรับแต่ละอุปกรณ์หรือกลุ่ม
3. บันทึก Mapping ของ Target ID ↔ ลูกค้า/ห้อง/กลุ่ม ไว้ในระบบของคุณ
4. เมื่อต้องการส่ง Push ให้ระบุ target_id ใน API call ตาม Mapping ที่เก็บไว้