เอกสารอ้างอิง API

ช่องทาง

การให้สิทธิ์ Telegram

เชื่อมต่อ Telegram ด้วยรหัสยืนยัน การสแกน QR หรือเซสชันที่มีอยู่ เลือกวิธีแล้วทำตามขั้นตอนอนุญาตด้านล่าง

เลือกวิธีอนุญาตบัญชี

code

ไหลรหัสยืนยัน: เซิร์ฟเวอร์ขอรหัสจาก Telegram ผู้ใช้รับผ่าน SMS หรือในแอปแล้วส่งกลับมา

  1. 1. เรียก POST /v1/accounts โดยระบุ provider=telegram, auth_mode=code และ provider_data.phone ส่วน api_id และ api_hash ใน provider_data เป็นฟิลด์ทางเลือก หากไม่ระบุ แพลตฟอร์มจะใช้ข้อมูลรับรองแอปเริ่มต้น
  2. 2. POST /v1/accounts/{account_id}/auth/start เพื่อขอให้ Telegram ส่งรหัสยืนยัน
  3. 3. เมื่อผู้ใช้ได้รหัส POST /v1/accounts/{account_id}/auth/code พร้อมรหัส
  4. 4. หากบัญชีเปิด 2FA ค่า status จะเป็น awaiting_password — POST /v1/accounts/{account_id}/auth/password เพื่อส่งรหัสผ่าน
  5. 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. 1. เรียก POST /v1/accounts โดยระบุ provider=telegram และ auth_mode=qrcode ส่วน api_id และ api_hash ใน provider_data เป็นฟิลด์ทางเลือก หากไม่ระบุ แพลตฟอร์มจะใช้ข้อมูลรับรองแอปเริ่มต้น
  2. 2. POST /v1/accounts/{account_id}/auth/qr/start — การตอบกลับจะมี QR token สำหรับนำไปแสดง
  3. 3. Poll POST /v1/accounts/{account_id}/auth/qr/check จนกว่า status=authorized QR หมดอายุประมาณ 30 วินาที ต้องเรียก qr/start อีกครั้งเพื่อรีเฟรช
  4. 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. 1. POST /v1/accounts โดยใช้ provider=telegram, auth_mode=session
  2. 2. POST /v1/accounts/{account_id}/auth/session โดย params.session_url ชี้ไปยังไฟล์ .session ที่ดาวน์โหลดได้
  3. 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 เดียวกับข้อความขาเข้า