Skip to content

แนวทางการพัฒนาระบบโดยใช้ API (สำหรับผู้พัฒนาหน่วยงาน)

คุณลักษณะการใช้งานผ่าน Application Program Interface (API)

หากหน่วยงานท่านมีระบบการให้บริการผ่านช่องทางออนไลน์ (e-Service) หรือระบบสนับสนุนการให้บริการ (Backend) อยู่แล้ว และต้องการเชื่อมโยงข้อมูลต่างๆ ขั้นต้นกับระบบของหน่วยงานท่าน ท่านสามารถเชื่อมโยงข้อมูลต่างๆ ผ่าน Application Program Interface (API) ได้ โดย API ดังกล่าว ใช้มาตรฐานต่างๆ ดังนี้

  • ใช้โปรโตคอล RESTful Web Service (ดูรายละเอียดเพิ่มเติมที่ https://en.wikipedia.org/wiki/Representational_state_transfer)
  • รักษาความปลอดภัยในการรับส่งข้อมูลด้วย HTTPS (ดูรายละเอียดเพิ่มเติมที่ https://en.wikipedia.org/wiki/HTTPS)
  • ใช้ข้อมูลในรูปแบบของ JSON (Javascript Object Notation) เป็นหลัก ทั้งในคำขอ (Request) และคำตอบกลับข้อมูล (Response)
  • ข้อความต่างๆ (text) ใช้ Unicode Transformation Format (UTF-8)
  • ข้อมูลที่เป็นไฟล์แนบ หรือภาพ (Binary Data) ให้เข้ารหัสในรูปแบบ Base 64 Encoding (https://en.wikipedia.org/wiki/Base64)
  • สถานภาพของการร้องขอ (Response Code) อ้างอิงได้จากสถานภาพของโปรโตคอล HTTP เช่น
    • Status Code = 200 หมายถึง การร้องขอที่สำเร็จ
    • Status Code = 401 หมายถึง ท่านไม่มีสิทธิในการเรียกดูข้อมูลดังกล่าว
    • Status Code = 404 หมายถึง ไม่มีข้อมูลดังกล่าว

ดู Status Code ทั้งหมดได้ที่นี่ คลิกเพื่อเปิดดูรายละเอียด

ขั้นตอนการเรียกใช้ข้อมูลผ่าน API

หน่วยงานจำเป็นจะต้องยืนยันผู้ใช้งานในขั้นตอนการเรียกใช้บริการ Government API สำหรับการขอใช้บริการข้อมูลต่าง ๆ โดยจำเป็นจะต้องระบุตัวแปร ดังนี้

ParameterRequiredDescription
Consumer-KeyRequiredเป็นชุดรหัสที่ สพร. ออกให้ เพื่อความปลอดภัยในการเรียกใช้งาน API
ConsumerSecretRequiredเป็นชุดรหัสที่ สพร. ออกให้ เพื่อความปลอดภัยในการเรียกใช้งาน API
  • แอพพลิเคชั่นหนึ่งๆ ของหน่วยงานจะใช้ Consumer-Key และ ConsumerSecret ในการ Validation เพื่อเรียกใช้งาน API ได้ (เปรียบเสมือน User Name และ Password ของแอพพลิเคชั่นหนึ่งๆ)
  • ผู้ดูแลระบบของหน่วยงานสามารถลงทะเบียนการขอใช้ API ข้อมูล และขอ Consumer-Key, ConsumerSecret กับ สพร. ได้ที่สอบถามรายละเอียดเพิ่มเติมได้ที่ contact@dga.or.th หรือ โทร. 0-2612-6060

การเรียกใช้งานข้อมูลผ่าน Government API มี 2 ขั้นตอน ดังนี้

ขั้นตอนที่ 1 Government API Validation

API

https://api.egov.go.th/ws/auth/validate?ConsumerSecret=[Secret]&AgentID=[เลขประจำตัวประชาชน]

ทำการ Validate ส่วนของ Consumer-Key และ ConsumerSecret เพื่อขอ Token และเปิด Session ในการเรียกใช้ Service โดยสามารถดูรายละเอียด API และ Response Code ได้ที่

https://app.swaggerhub.com/apis/dga/Validate/1.0

หมายเหตุ หลังจากที่ Validate เรียบร้อยแล้ว กรณีที่ไม่มีการเรียกใช้งาน API ใด ๆ Token มีอายุ 60 นาที AgentID เป็นเลขประจำตัวประชาชน 13 หลักของผู้ใช้งาน(นำมาจากฐานข้อมูล User ระบบของหน่วยงาน) สำหรับไว้อ้างอิง log การเรียกใช้งานข้อมูลกับ Consumer-Key ที่ทางหน่วยงานลงทะเบียนไว้

ขั้นตอนที่ 2 ทำการเรียกใช้ข้อมูล API

โดยเรียก HTTP Request วิธี GET และต้องทำการฝัง HEADER ดังนี้

ParameterValue
Content-Typeapplication/x-www-form-urlencoded
Consumer-Keyชุดรหัสที่ สพร. ออกให้
TokenTOKEN ที่ได้รับกลับมาจาก สพร. ในการ Validate ข้างต้น

การขอ Token

การเรียกใช้งานข้อมูลผ่าน Government API มี 2 ขั้นตอน ตัวอย่าง Source Code ดังนี้ [คลิกเพื่อดูรายละเอียด]

https://api.egov.go.th/ws/auth/validate?ConsumerSecret=[Secret]&AgentID=[เลขประจำตัวประชาชน]

Request Parameters

รายการข้อมูลรายละเอียด
ConsumerSecretเช่น ConsumerSecret=xxxxxxxxxxxxxx
AgentIDเลขประจำตัวประชาชน 13 หลัก เช่น AgentID=1234567890123 หรือ ชื่อระบบภาษาอังกฤษ
กรณีเรียก API Personal Signing ต้องกำหนด AgentID เป็นเลขประจำตัวประชาชนของผู้เซ็นเอกสารเท่านั้น

Request Header

รายการข้อมูลรายละเอียด
Consumer-KeyConsumer-Key ที่ได้ลงทะเบียนกับ สพร. (ระบบส่งให้ทาง e-Mail ที่ลงทะเบียนไว้)
Content-Typeกำหนดค่าดังนี้ : application/x-www-form-urlencoded; charset=utf-8

Response

{
"Result": "8e1ac089-0000-aaaa-0000-403c0c9ab867"
}

Response Parameters

รายการข้อมูลรายละเอียด
ResultToken String สำหรับใช้ในการเรียก API ต่างๆ
(กรณีขอ Token ไม่สำเร็จ หรือ error อื่นๆ ให้ทำการเรียก API ใหม่อีกครั้ง จนกว่าจะได้ Token ไปใช้เรียกเรียกร่วมกับ API อื่นๆ)

รายการ API และตัวอย่าง Source Code ภาษาต่างๆ

หากหน่วยงานท่านมีระบบการให้บริการผ่านช่องทางออนไลน์ (e-Service) หรือระบบสนับสนุนการให้บริการ (Backend) อยู่แล้ว และต้องการเชื่อมโยงข้อมูลต่างๆ ขั้นต้นกับระบบของหน่วยงานท่าน ท่านสามารถเชื่อมโยงข้อมูลต่างๆ ผ่าน Application Program Interface (API) ได้ โดยมีรายละเอียด และตัวอย่างวิธีการเรียกใช้ข้อมูลตามข้างล่าง

  • ท่านสามารถดูรายละเอียด API ข้อมูลบุคคล, นิติบุคคล หรือของหน่วยงานต่างๆ ได้ที่ https://app.swaggerhub.com/apis/dga
  • ตัวอย่าง Source Code วิธีการเรียกใช้ API เพื่อเชื่อมโยงข้อมูลจากบัตรประชาชนแบบ Smart Card หรือจากระบบฐานข้อมูลของหน่วยงานต่างๆ ที่เกี่ยวข้อง https://sc.dga.or.th/tutorials
  • ตัวอย่าง Source Code C# การ Decode จาก Base 64(url safe format) เป็น PDF [คลิกเพื่อดาวน์โหลด]

คู่มือการพัฒนาระบบเพื่อใช้งาน API

  • ข้อมูลบุคคล Linkage Center [คลิกเพื่อดูรายละเอียด API]
  • ข้อมูลบุคคล IKNO คลิกเพื่อเปิดดูเอกสาร (เปลี่ยนไปใช้งานแบบ Linkage Center แทน)
  • ข้อมูลนิติบุคคล [คลิกดูรายละเอียด API]

การพัฒนาระบบข้อมูลบุคคล Linkage API โดยใช้สิทธิ์เจ้าหน้าที่ และสิทธิ์ประชาชน

ขั้นตอนการเรียกใช้ API ข้อมูลบุคคล Linkage โดยใช้สิทธิ์ประชาชน จะเหมือนการพัฒนาโดยใช้สิทธิ์เจ้าหน้าที่ทุกขั้นตอน แต่จะต่างกันตอนเรียกใช้งานเท่านั้น(ที่ต้องเสียบบัตรของประชาชนผู้รับบริการเพิ่ม) โดยทำตาม 2 ขั้นตอน เช่นที่กล่าวไว้ในหัวข้อ “ขั้นตอนการเรียกใช้ข้อมูลผ่าน API” และมีรายละเอียดเพิ่มเติม ดังนี้

เจ้าหน้าที่ต้องเสียบบัตร login GovAMI ก่อนเรียก API ข้อมูล [วิธีการใช้งานโปรแกรม GovAMI]

ขั้นตอนที่ 1 Government API Validation

เลขประจำตัวประชาชนที่กำหนดให้กับตัวแปร AgentID ต้องเป็นเลขเดียวกับเลขประจำตัวประชาชนของบัตรเจ้าหน้าที่ที่เสียบ login GovAMI เท่านั้น

ขั้นตอนที่ 2 ทำการเรียกใช้ข้อมูล API

ทำการเรียกขอข้อมูล จาก API Linkage ต้องทําการเรียกผ่าน Url และ Parameter ดังน้ี

[คลิกเพื่อดูตัวอย่าง Source Code] หรือ [คลิกเพื่อเปิดดูเอกสาร pdf]

วิธีการGET
URLhttps://api.egov.go.th/ws/dopa/linkage/v1/link?OfficeID=[OfficeID]&ServiceID=[ServiceID]&Version=[Version]&CitizenID=[CitizenID]
ParameterRequired
OfficeIDRequired
ServiceIDRequired
VersionRequired
CitizenIDRequired

OfficeID, ServiceID และ Version สามารถดูได้จาก https://linkagemgmt.bora.dopa.go.th/#/ กรณีสิทธิ์ประชาชน เลขประจำตัวประชาชนของผู้รับบริการที่ค้นหาข้อมูล ต้องเป็นเลขเดียวกับเลขประจำตัวประชาชนของบัตรผู้รับบริการที่เสียบ GovAMI ในกรอบผู้รับบริการเท่านั้น

ตัวอย่างการทดสอบเรียกใช้ API จาก Restlet Client ของ Chrome Extension

ติดตั้ง R-Client โดยใช้ Chrome browser ที่ https://chrome.google.com/webstore/detail/restlet-client-rest-api-t/aejoelaoggembcahagimdiliamlcdmfm?hl=en

ขั้นตอนที่ 1 Government API Validation

API Validation Step

ขั้นตอนที่ 2 ทำการเรียกใช้ข้อมูล API

API Data Request

API Data Response

API Data Response

โดยนำ Token ที่ได้มาแนบที่ Headers (Method : Get)