HumanSoft Connect API Module
ภาพรวม (Overview)
โมดูล HumanSoft Connect ใช้ส่งข้อความจากระบบของคุณเข้าห้องแชท HumanSoft Connect (แชทในแอป HumanSoft) ของพนักงาน ข้อความจะแสดงในแอปของพนักงานในนามบอทของระบบ เช่น การแจ้งเตือนจากระบบภายนอกถึงพนักงานรายคน
สิทธิ์ที่ต้องการ: ทุก Endpoint ในโมดูลนี้ต้องใช้ API Key ที่มีสิทธิ์ การส่งข้อความ HumanSoft Connect (connect:send) หาก API Key ไม่มีสิทธิ์นี้จะได้รับ HTTP 403 ดูรายละเอียดที่ API Permissions
ขั้นตอนการใช้งาน (Workflow)
- ขอห้องแชทของพนักงาน — เรียก Get Chatroom ด้วย
employee_codeจะได้chat_idและsender_chat_user_idกลับมา - เข้ารหัส Base64 — นำ
chat_idและsender_chat_user_idที่ได้ไปเข้ารหัส Base64 - ส่งข้อความ — เรียก Send Message พร้อมค่าทั้งสองที่เข้ารหัสแล้วและข้อความที่ต้องการส่ง
chat_id และ sender_chat_user_id ใน Response เป็นค่า raw (ไม่ได้เข้ารหัส) ต้องเข้ารหัส Base64 ก่อนส่งเข้า Send Message ทุกครั้ง เช่น 20251127D4573C421639 → MjAyNTExMjdENDU3M0M0MjE2Mzk=
API Endpoints
| Operation | Endpoint | Method |
|---|---|---|
| ขอห้องแชทของพนักงาน | /api/v1/open-apis/hms-connect/get-chatroom | GET |
| ส่งข้อความเข้าห้องแชท | /api/v1/open-apis/hms-connect/send-message | POST |
เงื่อนไขก่อนใช้งาน
- พนักงานต้องมีบัญชีผู้ใช้ในระบบ HumanSoft
- พนักงานต้องเคยเปิดเมนูแชทในแอป HumanSoft อย่างน้อยหนึ่งครั้งจึงจะมีห้องแชท — API นี้ไม่ได้สร้างห้องให้
- ค้นหาได้เฉพาะพนักงานของบริษัทที่ผูกกับ API Key เท่านั้น
ตัวอย่างการใช้งานครบขั้นตอน
ขอห้องแชทของพนักงาน EMP001 แล้วส่งข้อความเข้าห้องนั้น:
cURL
# 1) ขอห้องแชทของพนักงาน
curl -X GET "https://openapi.humansoft.co.th/api/v1/open-apis/hms-connect/get-chatroom?employee_code=EMP001" \
-H "Ocp-Apim-Subscription-Key: YOUR_API_KEY"
# 2) เข้ารหัส Base64 ค่าที่ได้จากขั้นตอนที่ 1
echo -n "20251127D4573C421639" | base64 # chat_id → MjAyNTExMjdENDU3M0M0MjE2Mzk=
echo -n "20251127A1B2C3D4E5F6" | base64 # sender_chat_user_id → MjAyNTExMjdBMUIyQzNENEU1RjY=
# 3) ส่งข้อความ
curl -X POST "https://openapi.humansoft.co.th/api/v1/open-apis/hms-connect/send-message" \
-H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "MjAyNTExMjdENDU3M0M0MjE2Mzk=",
"sender_chat_user_id": "MjAyNTExMjdBMUIyQzNENEU1RjY=",
"message": "แจ้งเตือนจากระบบ"
}'ข้อควรทราบ
- ห้องแชทของพนักงานแต่ละคนเป็นห้องเดิม จึงเก็บ
chat_idและsender_chat_user_idไว้ใช้ซ้ำได้ ไม่ต้องเรียก Get Chatroom ทุกครั้งก่อนส่ง - แต่ละคำขอทำงานกับพนักงานหรือห้องแชททีละรายการ หากต้องการส่งถึงพนักงานหลายคนให้เรียกซ้ำทีละคน
- ข้อความที่ส่งแล้วยกเลิกไม่ได้ และระบบไม่ส่งซ้ำให้อัตโนมัติเมื่อส่งไม่สำเร็จ — ดูว่าส่งซ้ำได้หรือไม่จากข้อความ error ใน Send Message
- ข้อความ error ของโมดูลนี้เป็นภาษาอังกฤษเสมอ
Related APIs
- API Permissions - รายการสิทธิ์การเข้าถึง
- Employee - ค้นหารหัสพนักงาน (
employee_code)
Last updated on