แนวทางการพัฒนา MiniApp สำหรับเชื่อมโยงกับระบบ Biz Portal
Bizportal มี Api Services สำหรับใช้ในการพัฒนา MiniApp สามารถเรียกดูได้ที่ https://ws.ega.or.th/bizportal/docs/index.html
1 กลุ่ม Authenication
เป็น Api Services เกี่ยวกับการยืนยันและระบุตัวตน MiniApp กับ Bizportal ก่อนใช้งาน Api Services อื่นๆของ Bizportal ดังนี้
| หัวข้อ | รายละเอียด |
|---|---|
| POST | /api/Authenication/Login |
| POST | /api/Authenication/Refresh |
| POST | /api/Authenication/Revoke |
1.1 New Authorized Token
/bizportal/api/Authenication/Login
ใช้สำหรับขอ Authorized Token เพื่อให้ MiniApp ได้รับสิทธิ์เข้าถึง Api Services อื่นๆ
Request Parameters
| พารามิเตอร์คีย์ (Request) | รายละเอียด |
|---|---|
| applicationKey | Key ของMiniApp ที่ออกให้ |
| token | Url Token ได้จากการ Decryption QueryString Url ของ MiniApp |
Response
| พารามิเตอร์คีย์ (Response) | รายละเอียด |
|---|---|
| userId | Id สำหรับใช้ขอ Authorized Token ตัวใหม่ กรณี Authorize Token ตัวปัจจุบันหมดอายุ |
| token | Authorized Token เพื่อนำไปใช้เรียก Api Services อื่นๆ |
| refreshToken | Token สำหรับใช้ขอ Authorized Token ตัวใหม่ กรณี Authorize Token ตัวปัจจุบันหมดอายุ |
ตัวอย่าง QueryString Url ของ MiniApp ที่ถูก Encryption QueryString Parameter
https://miniapp.finema.dev/forms/mna005a?q=JHr2ZKQjD4eenerUc%2FWwjnSlRSC1yjNRzHHgcB2ugYfS%2F5e5xgOIExSNNiFqTmyzigwCTbePzFqe56ExcvvuxRldfOtKYPMXy9IEl7U0m8NCD268V1s4dHfnmBI3iimlrIyHDV2rB3CltgdFtJMHIZGRycKWORejiIjggHsqbyrdN1sK%2BFbo7UQJm7LuU9QiZl0%2BW38FmCTNVWbxEdgMaaXfv0ZGmgkGJj%2BM7BNDcNsta6eoogNO3RZaiStBawsGผู้พัฒนาต้อง Decryption QueryString Parameter ออกมาใช้งาน โดย QueryString Parameter มีดังนี้
- identityid คือ หมายเลขประจำตัวของบุคคลหรือนิติบุคล
- token คือ Url Token สำหรับนำไปใช้ขอ Authorized Token
- drafId คือรหัสหมายเลขบันทึกร่างคำขอ
ตัวอย่างโค๊ต (.net C#) วิธีการ Decryption QueryString Parameter
https://github.com/athitsaard/DecryptionQueryStringAES/tree/dev
1.2 Refresh Token API
/bizportal/api/Authenication/Refesh ใช้สำหรับขอ Authorized Token ตัวใหม่ ในกรณี Authorized Token ตัวปัจจุบันหมดอายุ
กรณี Authorized Token ที่ใช้เรียก Api Services ของ Bizportal หมดอายุ Api นั้นจะตอบกลับ Http Status 401 (Unauthorized)
Request Parameters
| พารามิเตอร์คีย์ (Request) | รายละเอียด |
|---|---|
| userId | Id สำหรับใช้ขอ Authorized Token ตัวใหม่ กรณี Authorize Token ตัวปัจจุบันหมดอายุ |
| refreshToken | Token สำหรับใช้ขอ Authorized Token ตัวใหม่ กรณี Authorize Token ตัวปัจจุบันหมดอายุ |
Response Parameters
| พารามิเตอร์คีย์ (Response) | รายละเอียด |
|---|---|
| userId | Id สำหรับใช้ขอ Authorized Token ตัวใหม่ กรณี Authorize Token ตัวปัจจุบันหมดอายุ |
| token | Authorized Token เพื่อนำไปใช้เรียก Api Services อื่นๆ |
| refreshToken | Token สำหรับใช้ขอ Authorized Token ตัวใหม่ กรณี Authorize Token ตัวปัจจุบันหมดอายุ |
2 กลุ่ม Api Services ที่ให้บริการข้อมูลกับ MiniApp
โดยมี Api Services ที่ให้บริการข้อมูลกับ MiniApp ที่สำคัญดังนี้
| หัวข้อ | API | รายละเอียด |
|---|---|---|
| POST | “/bizportal/api/DataProvider/ProfileV7{id}” | สำหรับเรียกดึงข้อมูล Profile ของบุคคลหรือนิติบุคคล (version ปรับปรุงข้อมูล) |
| POST | “/bizportal/api/DataProvider/Draft/{id}” | สำหรับเรียกดึงข้อมูลคำขอที่บันทึกร่างไว้ |
| POST | “/bizportal/api/DataProvider/Draft” | สำหรับบันทึกร่างข้อมูลคำขอ |
| POST | “ /bizportal/api/DataProvider/JuristicProfileV7/{identityId}” | สำหรับเรียกดึงข้อมูลสำคัญอื่นๆเพิ่มเติมของนิติบุคคล (version ปรับปรุงข้อมูล) |
หมายเหตุ สามารถดูรายละเอียดวิธีการใช้งาน Api Services ได้ที่ https://ws.ega.or.th/bizportal/docs/index.html*
Response Parameters
| พารามิเตอร์คีย์ (Response) | รายละเอียด |
|---|---|
| status | ค่าสถานะการรับ/ส่งข้อมูล โดย 0 เท่ากับสำเร็จ , 3 เท่ากับไม่สำเร็จ |
| message | ข้อความสถานะการรับ/ส่งข้อมูล |
| errorMessage | ข้อความเพิ่มเติมกรณีการรับ/ส่งข้อมูลไม่สำเร็จ |
| data | ข้อมูลตอบกลับ |
3 กลุ่ม Api Services สำหรับจัดการไฟล์เอกสารแนบ
3.1 Upload File API
/bizportal/api/File/Upload สำหรับอัพโหลดไฟล์เอกสารแนบเข้าระบบ FileServer โดยการอัพโหลดไฟล์เอกสารแนบจะมี 2 กรณีดังนี้
- ไฟล์เอกสารแนบขนาดไม่เกิน 5MB สามารถใช้ HTML file upload button ได้โดยตรง
| พารามิเตอร์คีย์ (Response) | รายละเอียด |
|---|---|
| FileReferenceId | ค่า Unique Id ใช้สำหรับกรณีไฟล์ที่อัพโหลดมีขนาดมากกว่า 5 MB จะต้องแบ่งเนื้อไฟล์อัพโหลดเป็นส่วนๆ (Chunks) โดย FileReferenceId จะเป็นรหัสสำหรับอ้างอิงส่วนของเนื้อไฟล์ที่ถูกแบ่งทั้งหมด |
| fileId | รหัสอ้างอิงไฟล์ที่ถูกอัพโหลดเข้าระบบ File Server |
| name | ชื่อไฟล์ |
| contentType | ประเภทไฟล์ |
| fileSize | ขนาดไฟล์ |
- ไฟล์เอกสารแนบขนาดเกิน 5MB ผู้พัฒนาต้องแบ่งส่วนของเนื้อไฟล์เป็นส่วนๆ(Chunks) และกำหนดค่าคีย์ฟอร์มพารามีเตอร์เพิ่มเติมเพื่อทำการอัพโหลดไฟล์เข้าระบบ File Server ดังนี้
| พารามิเตอร์คีย์ (Response) | รายละเอียด |
|---|---|
| chunk | คีย์ที่ระบุหมายเลขส่วนของเนื้อไฟล์ปัจจุบันที่จะอัพโหลด โดยมีค่าเริ่มต้นที่ค่า 0 |
| chunks | คีย์ที่ระบุจำนวนส่วนของเนื้อไฟล์ที่ถูกแบ่งทั้งหมด |
| fileMetadata | คีย์ที่ให้ระบุค่า FileReferenceId โดย FileReferenceId เป็นค่า Unique Id สำหรับอ้างอิงส่วนของเนื้อไฟล์ที่ถูกแบ่งทั้งหมด |
ตัวอย่างโค๊ตวิธีการอัพโหลดไฟล์เอกสารแนบขนาดเกิน 5MB
https://github.com/athitsaard/PLUploaded/tree/dev
3.2 Download File API
“/bizportal/api/File/Download” สำหรับดาวน์โหลดไฟล์เอกสารแนบ
Request Parameters
| พารามิเตอร์คีย์ (Response) | รายละเอียด |
|---|---|
| fileId | รหัสอ้างอิงไฟล์ที่ถูกอัพโหลดเข้าระบบ File Server |
| contentType | ประเภทไฟล์ |
3.3 Delete File API
“ /bizportal/api/File/Delete” สำหรับลบไฟล์เอกสารแนบที่ถูกอัพโหลดเข้าระบบ FileServer
- หมายเหตุสามารถดูรายละเอียดวิธีการใช้งาน Api Services ได้ที่ https://ws.ega.or.th/bizportal/docs/index.html*
4 Api Service
สำหรับส่งข้อมูลคำขอใบอนุญาติ
URL /bizportal/api/ApplicationRequest/Create
Request Parameters
| พารามิเตอร์คีย์ (Response) | รายละเอียด |
|---|---|
| otp | รหัส otp |
| identityId | หมายเลขประจำตัวผู้ขอใบอนุญาติ |
| identityType | ประเภทผู้ขอใบอนุญาติ โดย ค่า 1 คือประเภทบุคคล, ค่า 2 คือประเภทนิติบุคคล |
| applicationId | รหัสหมายเลขของ MiniApp |
| provinceID | รหัสตัวเลขระบุหมายเลขจังหวัด กรณีต้องการกำหนดพื้นที่ใช้งานใบอนุญาติ |
| amphurID | รหัสตัวเลขระบุหมายเลขอำเภอ กรณีต้องการกำหนดพื้นที่ใช้งานใบอนุญาติ |
| tumbolID | รหัสตัวเลขระบุหมายตำบล กรณีต้องการกำหนดพื้นที่ใช้งานใบอนุญาติ |
| province | ชื่อจังหวัด กรณีต้องการกำหนดพื้นที่ใช้งานใบอนุญาติ |
| amphur | ชื่ออำเภอ กรณีต้องการกำหนดพื้นที่ใช้งานใบอนุญาติ |
| tumbol | ชื่อตำบล กรณีต้องการกำหนดพื้นที่ใช้งานใบอนุญาติ |
| data | ข้อมูลคำขอใบอนุญาติที่จะถูกส่งไปยังหน่วยงานปลายทาง โดยกำหนดให้อยู่ในรูปแบบ Json สตริง |
| dataDescription | ข้อมูลรายละเอียดคำขอใบอนุญาติที่จะถูกแสดงผลในหน้าติดตามของระบบ Bizportal โดยกำหนดให้อยู่ในรูปแบบ Json สตริง |
Response Parameters
| พารามิเตอร์คีย์ (Response) | รายละเอียด |
|---|---|
| status | ค่าสถานะการรับ/ส่งข้อมูล โดย 0 เท่ากับสำเร็จ , 3 เท่ากับไม่สำเร็จ |
| message | ข้อความสถานะการรับ/ส่งข้อมูล |
| errorMessage | ข้อความเพิ่มเติมกรณีการรับ/ส่งข้อมูลไม่สำเร็จ |
| data | ข้อมูลตอบกลับ โดยกรณีส่งข้อมูลสำเร็จจะได้หมายเลข requestId กลับมา |
5 กลุ่ม SMS otp
เป็น Api Services สำหรับให้ยืนยันตัวตนผู้ใช้งานก่อนส่งข้อมูลคำขอใบอญาติเข้าสู่ระบบและส่งต่อไปยังหน่วยงานปลายทาง
5.1 OTP Request API
/bizportal/api/SMS/OTP สำหรับขอรหัส otp
Request Parameters
| พารามิเตอร์คีย์ (Response) | รายละเอียด |
|---|---|
| identityId | หมายเลขประจำตัวผู้ขอใบอนุญาติ |
| type | ค่า 0 คือขอส่งคำขอใบอนุญาติ |
Response Parameters
| พารามิเตอร์คีย์ (Response) | รายละเอียด |
|---|---|
| status | ค่าสถานะการรับ/ส่งข้อมูล โดย 0 เท่ากับสำเร็จ , 3 เท่ากับไม่สำเร็จ |
| message | ข้อความสถานะการรับ/ส่งข้อมูล |
| errorMessage | ข้อความเพิ่มเติมกรณีการรับ/ส่งข้อมูลไม่สำเร็จ |
| data | ข้อมูลตอบกลับ โดยมีข้อมูลหลายเลขโทรศัพท์และหมายเลขอ้างอิง otp |
5.2 Verify OTP Request
/bizportal/api/SMS/VerifyOTP สำหรับขอตรวจสอบรหัส otp
Request Parameters
| พารามิเตอร์คีย์ (Response) | รายละเอียด |
|---|---|
| identityId | หมายเลขประจำตัวผู้ขอใบอนุญาติ |
| otp | รหัส otp |
Response Parameters
| พารามิเตอร์คีย์ (Response) | รายละเอียด |
|---|---|
| status | ค่าสถานะการรับ/ส่งข้อมูล โดย 0 เท่ากับสำเร็จ , 3 เท่ากับไม่สำเร็จ |
| message | ข้อความสถานะการรับ/ส่งข้อมูล |
| errorMessage | ข้อความเพิ่มเติมกรณีการรับ/ส่งข้อมูลไม่สำเร็จ |
| data | ข้อมูลตอบกลับ โดยกรณีตรวจสอบรหัส otp ถูกต้อง isValid จะมีค่าเป็น true ถ้าไม่ถูกต้องจะมีค่าเป็น false |