ช่องทาง
การให้สิทธิ์ Telegram
เชื่อมต่อ Telegram ด้วยรหัสยืนยัน การสแกน QR หรือเซสชันที่มีอยู่ เลือกวิธีแล้วทำตามขั้นตอนอนุญาตด้านล่าง
เลือกวิธีอนุญาตบัญชี
code
ไหลรหัสยืนยัน: เซิร์ฟเวอร์ขอรหัสจาก Telegram ผู้ใช้รับผ่าน SMS หรือในแอปแล้วส่งกลับมา
- 1. เรียก POST /v1/accounts โดยระบุ provider=telegram, auth_mode=code และ provider_data.phone ส่วน api_id และ api_hash ใน provider_data เป็นฟิลด์ทางเลือก หากไม่ระบุ แพลตฟอร์มจะใช้ข้อมูลรับรองแอปเริ่มต้น
- 2. POST /v1/accounts/{account_id}/auth/start เพื่อขอให้ Telegram ส่งรหัสยืนยัน
- 3. เมื่อผู้ใช้ได้รหัส POST /v1/accounts/{account_id}/auth/code พร้อมรหัส
- 4. หากบัญชีเปิด 2FA ค่า status จะเป็น awaiting_password — POST /v1/accounts/{account_id}/auth/password เพื่อส่งรหัสผ่าน
- 5. หลังอนุญาตสำเร็จ ให้ตรวจสอบ runtime_status ก่อน เรียก POST /v1/accounts/{account_id}/runtime/start เฉพาะเมื่อยังต้องเริ่มการทำงาน
provider_data.api_id— Telegram App ID จาก my.telegram.org เป็นฟิลด์ทางเลือก หากไม่ระบุ แพลตฟอร์มจะใช้ข้อมูลรับรองแอปเริ่มต้น หากใช้แอปของคุณเอง ให้ระบุทั้ง api_id และ api_hash จากแอปเดียวกันในรูปแบบสตริงprovider_data.api_hash— Telegram App Hash จาก my.telegram.org เป็นฟิลด์ทางเลือก หากไม่ระบุ แพลตฟอร์มจะใช้ข้อมูลรับรองแอปเริ่มต้น หากใช้แอปของคุณเอง ให้ระบุทั้ง api_id และ api_hash จากแอปเดียวกันในรูปแบบสตริงprovider_data.phone— หมายเลขโทรศัพท์รูปแบบ E.164 จำเป็นเฉพาะโหมด code
qrcode
flow QR: รับ QR token แล้วให้ผู้ใช้สแกนในแอป Telegram
- 1. เรียก POST /v1/accounts โดยระบุ provider=telegram และ auth_mode=qrcode ส่วน api_id และ api_hash ใน provider_data เป็นฟิลด์ทางเลือก หากไม่ระบุ แพลตฟอร์มจะใช้ข้อมูลรับรองแอปเริ่มต้น
- 2. POST /v1/accounts/{account_id}/auth/qr/start — การตอบกลับจะมี QR token สำหรับนำไปแสดง
- 3. Poll POST /v1/accounts/{account_id}/auth/qr/check จนกว่า status=authorized QR หมดอายุประมาณ 30 วินาที ต้องเรียก qr/start อีกครั้งเพื่อรีเฟรช
- 4. หลังอนุญาตสำเร็จ ให้ตรวจสอบ runtime_status ก่อน เรียก POST /v1/accounts/{account_id}/runtime/start เฉพาะเมื่อยังต้องเริ่มการทำงาน
provider_data.api_id— Telegram App ID จาก my.telegram.org เป็นฟิลด์ทางเลือก หากไม่ระบุ แพลตฟอร์มจะใช้ข้อมูลรับรองแอปเริ่มต้น หากใช้แอปของคุณเอง ให้ระบุทั้ง api_id และ api_hash จากแอปเดียวกันในรูปแบบสตริงprovider_data.api_hash— Telegram App Hash จาก my.telegram.org เป็นฟิลด์ทางเลือก หากไม่ระบุ แพลตฟอร์มจะใช้ข้อมูลรับรองแอปเริ่มต้น หากใช้แอปของคุณเอง ให้ระบุทั้ง api_id และ api_hash จากแอปเดียวกันในรูปแบบสตริง
session
flow นำเข้า session: นำ session Telegram ที่ได้รับอนุญาตแล้วเข้า UnifyPort
- 1. POST /v1/accounts โดยใช้ provider=telegram, auth_mode=session
- 2. POST /v1/accounts/{account_id}/auth/session โดย params.session_url ชี้ไปยังไฟล์ .session ที่ดาวน์โหลดได้
- 3. หลังอนุญาตสำเร็จ ให้ตรวจสอบ runtime_status ก่อน เรียก POST /v1/accounts/{account_id}/runtime/start เฉพาะเมื่อยังต้องเริ่มการทำงาน
params.session_url— URL หรือ reference ของ session Telegram ที่มีอยู่
หมายเหตุ
- โหมดการให้สิทธิ์ Telegram ทั้งสามแบบ (code, qrcode และ session) ไม่จำเป็นต้องให้ผู้เรียกจัดเตรียม api_id และ api_hash เอง หากไม่ระบุ แพลตฟอร์มจะใช้ข้อมูลรับรองแอปเริ่มต้น หากใช้แอปของคุณเอง ให้ระบุค่าทั้งสองจากแอป Telegram เดียวกันใน provider_data ในรูปแบบสตริง
- รหัสผ่าน 2FA ไม่มี state ระหว่างการพยายาม หากใส่ผิด ให้ cancel แล้วเรียก /auth/qr/start หรือ /auth/start ใหม่
- QR token หมดอายุประมาณ 30 วินาที เรียก qr/start อีกครั้งเพื่อรีเฟรช UI ต้อง render QR ใหม่ทุกครั้ง
- URL webhook จะถูก inject อัตโนมัติเมื่อ config บัญชี การเปลี่ยนสถานะการให้สิทธิ์และอีเวนต์ login มาที่ webhook เดียวกับข้อความขาเข้า