API สำหรับผู้บริโภคภายนอกเพื่อโต้ตอบกับการเข้าสู่ระบบ DfE
หากต้องการใช้ API ใด ๆ ด้านล่าง คุณจะต้องระบุโทเค็น Bearer ในส่วนหัวของคำขอ โทเค็นผู้ถือนี้เป็นเพียง JWT (ดู https://jwt.io) พร้อมเพย์โหลดแบบง่ายซึ่งลงนามโดยใช้ความลับที่ เพียงลงชื่อเข้าใช้ DfE แล้วคุณก็รู้
คุณควรสร้าง JWT ณ จุดใช้งานในแอปพลิเคชันการโทรของคุณโดยใช้ไลบรารี JWT มาตรฐานที่มาพร้อมกับเทคโนโลยีที่คุณเลือก
เนื้อความโทเค็นจะต้องมีและผู้ออก (รหัสไคลเอ็นต์บริการของคุณ) และผู้ชมดังต่อไปนี้:
{
"iss": "REPLACE_WITH_YOUR_CLIENT_ID",
"aud": "signin.education.gov.uk"
}
โทเค็นจะต้องลงนามโดยใช้อัลกอริทึม HS256 กับ API_SECRET ของคุณ ณ จุดที่มีการผสานรวมกับ DfE Sign-In คุณจะได้รับ API_SECRET (เพื่อไม่ให้เข้าใจผิดว่าเป็น CLIENT_SECRET ของคุณ) หากคุณไม่มีข้อมูลติดต่อนี้กับทีมงาน DfE Sign-In และเราจะสร้าง API_SECRET ใหม่ให้กับคุณ (ซึ่งได้แก่ บริการ/สภาพแวดล้อมเฉพาะ)
Postman เป็นเครื่องมือแพลตฟอร์ม API ที่ใช้ในการสร้างและดำเนินการ API บุรุษไปรษณีย์ทำให้แต่ละขั้นตอนของวงจรการใช้งาน API ง่ายขึ้น และมีการใช้อย่างแพร่หลายในการพัฒนาและเอกสารประกอบของ DfE Sign-in Public API
ชุดคอลเลกชันบุรุษไปรษณีย์และสภาพแวดล้อมการดำเนินการที่เกี่ยวข้องมีไว้เพื่อช่วยให้คุณเรียนรู้ ทดสอบ และแก้ไขข้อบกพร่องในการผสานรวมของคุณกับแพลตฟอร์มการลงชื่อเข้าใช้ DfE ผ่านทาง API สาธารณะ
เครื่องมือแพลตฟอร์ม Postman API มีให้บริการในรูปแบบไคลเอ็นต์เดสก์ท็อป เว็บแอปพลิเคชันที่โฮสต์ และอินเทอร์เฟซบรรทัดคำสั่ง (CLI) ที่ https://www.postman.com/api-platform/api-client/
คอลเลกชันบุรุษไปรษณีย์ API สาธารณะของ DfE Sign-in และสภาพแวดล้อมมีอยู่ที่ https://github.com/DFE-Digital/login.dfe.public-api/tree/develop/Postman/
เนื่องจากบริการที่เริ่มต้นใช้งานการลงชื่อเข้าใช้ DfE คุณสามารถใช้ API เพื่อเชิญผู้ใช้ให้มาใช้บริการได้
คำขอดูเหมือน
POST https://environment-url/services/{service-id}/invitations Authorization: bearer {jwt-token} { "sourceId": "user_id_in_your_service", "given_name": "John", "family_name": "Smith", "email": "[email protected]", "callback": "https://me.service.url/users/signup-complete" }
รายการข้อมูลตัวแปรคือ:
ชื่อ | ที่ตั้ง | ที่จำเป็น | คำอธิบาย |
---|---|---|---|
รหัสบริการ | URL | ย | ตัวระบุการลงชื่อเข้าใช้ DfE สำหรับบริการที่คุณเชิญผู้ใช้ |
jwt-โทเค็น | ส่วนหัว | ย | โทเค็น JWT สำหรับการอนุญาตควรลงนามโดยใช้ความลับ API ของคุณ ซึ่งคุณจะได้รับ |
รหัสแหล่งที่มา | ร่างกาย | ย | ตัวระบุของผู้ใช้ในระบบของคุณ จะรวมอยู่ในการตอบกลับช่องด้านหลัง |
กำหนด_ชื่อ | ร่างกาย | ย | ผู้ใช้ได้รับชื่อ |
family_name | ร่างกาย | ย | นามสกุลของผู้ใช้ |
อีเมล | ร่างกาย | ย | ที่อยู่อีเมลของผู้ใช้ นี่เป็นตัวระบุที่ไม่ซ้ำกันของผู้ใช้ในการลงชื่อเข้าใช้ DfE |
องค์กร | ร่างกาย | ตัวระบุการลงชื่อเข้าใช้ DfE ที่ผู้ใช้ควรเชื่อมโยงด้วย | |
โทรกลับ | ร่างกาย | URL ที่ควรส่งการตอบกลับช่องทางด้านหลังไป ดูรายละเอียดการตอบกลับช่องทางด้านหลังด้านล่าง | |
userRedirect | ร่างกาย | URL ที่ผู้ใช้ (หากผ่านการเตรียมความพร้อม) ควรส่งคืนเมื่อเสร็จสิ้น หากละเว้น ระบบจะใช้การเปลี่ยนเส้นทางเริ่มต้นสำหรับลูกค้าของคุณ | |
เชิญหัวเรื่องOverride | ร่างกาย | แทนที่หัวเรื่องของอีเมลคำเชิญ | |
เชิญ BodyOverride | ร่างกาย | แทนที่เนื้อหาของอีเมลคำเชิญ |
รหัสตอบกลับที่เป็นไปได้คือ:
รหัสสถานะ HTTP | เหตุผล |
---|---|
202 | คำขอของคุณได้รับการยอมรับแล้ว |
400 | คำขอของคุณไม่ถูกต้อง รายละเอียดเพิ่มเติมจะระบุไว้ในเนื้อหาการตอบกลับ |
401 | JWT ของคุณหายไปหรือไม่ถูกต้อง |
404 | ไม่มีรหัสบริการใน uri |
500 | เกิดข้อผิดพลาดบนเซิร์ฟเวอร์ โปรดตรวจสอบให้แน่ใจว่ามีการกำหนดค่าข้อมูลลับ เช่น ข้อมูลลับ คีย์ API หรือโทเค็นอย่างถูกต้อง หากปัญหายังคงอยู่ โปรดติดต่อทีมสนับสนุนเพื่อขอความช่วยเหลือ |
เมื่อมีการร้องขอ ผู้ใช้อาจมีหรือไม่มีอยู่ในระบบก็ได้ และอาจมีหรือไม่มีการร้องขอการแมปองค์กรและบริการที่ต้องการ ด้วยเหตุนี้ รายละเอียดผู้ใช้ทั้งหมดจะถูกส่งผ่านการตอบกลับช่องทางด้านหลัง กรณีนี้อาจเกิดขึ้นได้ทันทีหากพบผู้ใช้ (ทางอีเมล) ในการลงชื่อเข้าใช้ DfE หรือเมื่อผู้ใช้ยอมรับอีเมลคำเชิญที่จะส่งถึงพวกเขา
การตอบสนองของช่องด้านหลังมีลักษณะดังนี้:
POST https://callback.url/from/request Authorization: bearer {jwt-token} { "sub": "some-uuid", "sourceId: "source-id-from-request" }
รายการข้อมูลในคำขอคือ:
ชื่อ | ที่ตั้ง | คำอธิบาย |
---|---|---|
jwt-โทเค็น | ส่วนหัว | โทเค็น jwt ลงนามด้วยความลับเดียวกันกับคำขอ |
ย่อย | ร่างกาย | ตัวระบุการลงชื่อเข้าใช้ DfE สำหรับผู้ใช้ สิ่งนี้จะไม่เปลี่ยนแปลงและจะรวมอยู่ในการตอบกลับของ OIDC เป็นการอ้างสิทธิ์ย่อย |
รหัสแหล่งที่มา | ร่างกาย | sourceId ที่ใช้ในคำขอดั้งเดิม |
ประกาศสามารถเผยแพร่และยกเลิกการเผยแพร่สำหรับองค์กรได้
สามารถเผยแพร่ประกาศได้โดย:
POST https://environment-url/organisations/announcements Authorization: bearer {jwt-token} { "messageId": "your-unique-idenitifer", "urn": "12345", "type": 1, "title": "Title of announcement", "summary": "summary of announcement", "body": "body of announcement", "publishedAt": "2019-01-31T20:30:40Z", "expiresAt": "2020-01-31T20:30:40Z" }
โครงสร้างของประกาศมีดังนี้:
คุณลักษณะ | ที่จำเป็น | คำอธิบาย | พิมพ์ |
---|---|---|---|
รหัสข้อความ | ย | ตัวระบุข้อความในระบบต้นทาง จะต้องไม่ซ้ำกัน | UUID |
โกศ | ใช่ (หรือ uid) | สถานประกอบการ URN | ตัวเลข |
uid | Y (หรือโกศ) | UID ของกลุ่ม | UUID |
พิมพ์ | ย | รหัสประเภทตัวเลขของข้อความ (ดูด้านล่าง) | จำนวนเต็ม |
ชื่อ | ย | ชื่อเรื่องของประกาศ จำนวนอักขระสูงสุดคือ 255 ตัว | ข้อความหรือ HTML |
สรุป | ย | สรุปประกาศ.. จำนวนอักขระสูงสุด จำกัด 340 | ข้อความหรือ HTML |
ร่างกาย | ย | เนื้อความของประกาศ จำนวนอักขระสูงสุด จำกัด 5,000 ตัว | ข้อความหรือ HTML |
เผยแพร่เมื่อ | ย | ประกาศวัน/เวลาเผยแพร่ที่ | ISO8601 |
หมดอายุเมื่อ | ประกาศวัน/เวลาควรหมดเขตเวลา | ISO8601 |
รหัสตอบกลับที่เป็นไปได้คือ:
รหัสสถานะ HTTP | เหตุผล |
---|---|
202 | คำขอของคุณได้รับการยอมรับแล้ว |
400 | คำขอของคุณไม่ถูกต้อง รายละเอียดเพิ่มเติมจะระบุไว้ในเนื้อหาการตอบกลับ |
401 | JWT ของคุณหายไปหรือไม่ถูกต้อง |
500 | เกิดข้อผิดพลาดบนเซิร์ฟเวอร์ โปรดตรวจสอบให้แน่ใจว่ามีการกำหนดค่าข้อมูลลับ เช่น ข้อมูลลับ คีย์ API หรือโทเค็นอย่างถูกต้อง หากปัญหายังคงอยู่ โปรดติดต่อทีมสนับสนุนเพื่อขอความช่วยเหลือ |
ประเภทของประกาศที่ถูกต้องคือ:
รหัส | ความหมาย |
---|---|
1 | คำเตือนเกี่ยวกับบันทึกการจัดตั้ง |
2 | ปัญหาเกี่ยวกับบันทึกการจัดตั้ง |
4 | คำเตือนเกี่ยวกับบันทึกการกำกับดูแล |
5 | ปัญหาเกี่ยวกับบันทึกการกำกับดูแล |
สามารถยกเลิกการเผยแพร่ประกาศในภายหลังได้โดย:
DELETE https://environment-url/organisations/announcements/your-unique-idenitifer Authorization: bearer {jwt-token}
โดยที่ your-unique-idenitifer
คือ messageId ที่ถูกส่งเมื่อเผยแพร่ข้อความ
รหัสตอบกลับที่เป็นไปได้คือ:
รหัสสถานะ HTTP | เหตุผล |
---|---|
204 | ประกาศไม่ได้รับการเผยแพร่ |
401 | JWT ของคุณหายไปหรือไม่ถูกต้อง |
404 | ไม่มีรหัสข้อความใน uri |
500 | เกิดข้อผิดพลาดบนเซิร์ฟเวอร์ โปรดตรวจสอบให้แน่ใจว่ามีการกำหนดค่าข้อมูลลับ เช่น ข้อมูลลับ คีย์ API หรือโทเค็นอย่างถูกต้อง หากปัญหายังคงอยู่ โปรดติดต่อทีมสนับสนุนเพื่อขอความช่วยเหลือ |
หากเปิดใช้งานแอปพลิเคชันของคุณ คุณจะสามารถสร้างแอปพลิเคชันย่อยผ่าน API ได้ แอปพลิเคชันย่อยเหล่านี้มีไว้สำหรับใช้เมื่อคุณมีแอปพลิเคชันบุคคลที่สามซึ่งจะใช้โฟลว์คำยินยอมของ OIDC เพื่อให้แอปพลิเคชันเรียกใช้ API ภายในแอปพลิเคชันของคุณในบริบทของผู้ใช้ได้
แอปพลิเคชันย่อยสามารถสร้างได้โดย:
POST https://environment-url/services Authorization: bearer {jwt-token} { "name": "The display name of the application", "description": "A description of what the application does", "consentTitle": "Override for the content at the top of the Consent Screen", "consentBody": "Override for the content of the Consent Screen", "redirectUris": [ "https://endpoint.one/auth/cb", "https://endpoint.two/login/callback" ] }
หมายเหตุเกี่ยวกับการแทนที่เทมเพลตคำยินยอม
พารามิเตอร์สองตัวอนุญาตให้แทนที่เนื้อหาที่แสดงต่อผู้ใช้ในหน้าจอยินยอม ชื่อ และเนื้อหา (ส่วนที่เหลือจะเป็นแบบคงที่ตามการออกแบบแบบฟอร์มปัจจุบัน) ค่าแทนที่คือสตริงที่มีค่าไดนามิกสองค่า (ไม่บังคับ) เช่น consentTitle="Do you want to allow {{applicationName}} to send data to us for {{roleScope}}"
หรือไม่
โครงสร้างของแอปพลิเคชันมีดังนี้:
คุณลักษณะ | ที่จำเป็น | คำอธิบาย |
---|---|---|
ชื่อ | ย | ชื่อที่เป็นมิตรกับผู้ใช้สำหรับแอปพลิเคชัน สิ่งนี้จะถูกใช้เมื่อแจ้งให้ผู้ใช้ยินยอม |
คำอธิบาย | เอ็น | คำอธิบายของแอปพลิเคชัน |
เปลี่ยนเส้นทางUris | ย | อาร์เรย์ของ URIS การเปลี่ยนเส้นทางที่ใช้ระหว่างขั้นตอนการเข้าสู่ระบบ/การยินยอมของ OIDC |
รหัสตอบกลับที่เป็นไปได้คือ:
รหัสสถานะ HTTP | เหตุผล |
---|---|
201 | สร้างแอปพลิเคชันลูกของคุณแล้ว |
400 | คำขอของคุณไม่ถูกต้อง รายละเอียดเพิ่มเติมจะระบุไว้ในเนื้อหาการตอบกลับ |
403 | แอปพลิเคชันของคุณไม่ได้รับอนุญาตให้สร้างแอปพลิเคชันย่อย |
เมื่อสร้างแอปพลิเคชันย่อยสำเร็จ คุณจะได้รับคำตอบดังนี้:
{ "name": "The display name of the application", "description": "A description of what the application does", "clientId": "child-application-clientid", "clientSecret": "child-application-clientsecret", "redirectUris": [ "https://endpoint.one/auth/cb", "https://endpoint.two/login/callback" ] }
name
description
และ redirectUris
เป็นการยืนยันสิ่งที่ได้รับจากคำขอของคุณ clientId
และ clientSecret
คือสิ่งที่แอปพลิเคชันลูกจำเป็นต้องใช้เมื่อดำเนินการกระบวนการ OIDC คุณจะต้องมี clientId
เพื่อการจัดการแอปพลิเคชันในภายหลัง
หากข้อมูลลับของแอปพลิเคชันลูกถูกบุกรุก คุณสามารถขอให้สร้างข้อมูลลับใหม่ได้โดย:
POST https://environment-url/services/client-id-of-child-application/regenerate-secret Authorization: bearer {jwt-token}
รหัสตอบกลับที่เป็นไปได้คือ:
รหัสสถานะ HTTP | เหตุผล |
---|---|
200 | ความลับถูกสร้างขึ้นใหม่แล้ว |
403 | รหัสไคลเอ็นต์ที่ระบุไม่ใช่รหัสลูกของแอปพลิเคชันของคุณ |
404 | ไม่พบแอปพลิเคชันที่มีรหัสลูกค้าที่ระบุ |
เมื่อสร้างความลับสำเร็จแล้ว คุณจะได้รับคำตอบดังนี้:
{ "clientSecret": "regenerated-client-secret" }
แอปพลิเคชันย่อยปฏิบัติตามและขั้นตอนการยินยอมอย่างชัดเจนซึ่งท้ายที่สุดจะให้ผลและรหัสการอนุญาต (Grant) ซึ่งสามารถแลกเปลี่ยนเป็นโทเค็นการเข้าถึงที่มีอายุสั้นและโทเค็นการรีเฟรชที่มีอายุการใช้งานยาวนานกว่า เพื่อให้เจ้าของแอปพลิเคชันย่อยสามารถจัดการวงจรการใช้งานของโทเค็นที่ออกที่เราจัดเตรียมไว้ให้ API ที่สะดวกสบายในการแสดงรายการปัญหาการให้ทุนและโทเค็นสำหรับแอปพลิเคชันย่อย goven
โทเค็นเหล่านี้สามารถตรวจสอบและเพิกถอนได้โดยใช้จุดเชื่อมต่อ open id มาตรฐาน (intropection และ revocaton)
วิธีรับรายการเงินช่วยเหลือสำหรับบริการเด็กที่กำหนด:
GET https://environment-url/services/{service-id}/grants
วิธีรับรายการโทเค็นที่ออกให้สำหรับทุนบริการเด็กที่กำหนด:
GET https://environment-url/services/{service-id}/grants/{grant-id}/tokens
คุณสามารถใช้ API นี้เพื่อให้ผู้ใช้เข้าถึงบริการสำหรับองค์กรได้ คำขอดูเหมือน
GET https://environment-url/services/{service-id}/organisations/{organisation-id}/users/{user-id} Authorization: bearer {jwt-token}
รายการข้อมูลตัวแปรคือ:
ชื่อ | ที่ตั้ง | ที่จำเป็น | คำอธิบาย |
---|---|---|---|
รหัสบริการ | URL | ย | ตัวระบุการลงชื่อเข้าใช้ DfE สำหรับบริการ |
รหัสองค์กร | URL | ย | ตัวระบุการลงชื่อเข้าใช้ DfE สำหรับองค์กร |
รหัสผู้ใช้ | URL | ย | ตัวระบุการลงชื่อเข้าใช้ DfE สำหรับผู้ใช้ |
jwt-โทเค็น | ส่วนหัว | ย | โทเค็น JWT สำหรับการอนุญาตควรลงนามโดยใช้ความลับ API ของคุณ ซึ่งคุณจะได้รับ |
สิ่งนี้จะส่งคืนการตอบกลับในรูปแบบต่อไปนี้
{ "userId": "user-id", "serviceId": "service-id", "organisationId": "organisation-id", "roles": [ { "id": "role-id", "name": "The name of the role", "code": "The code of the role", "numericId": "9999", "status": { "id": 1 } } ], "identifiers": [ { "key": "identifier-key", "value": "identifier-value" } ] }
หมายเหตุ: หากผู้ใช้ไม่มีบริการที่ระบุหรือไม่ได้อยู่ในองค์กรที่ระบุ ผู้ใช้จะส่งคืนรหัสสถานะ 404 (ไม่พบ)
คุณสามารถใช้ API นี้เพื่อรับองค์กรที่เกี่ยวข้องกับผู้ใช้ คำขอมีลักษณะดังนี้
GET https://environment-url/users/{user-id}/organisations Authorization: bearer {jwt-token}
รายการข้อมูลตัวแปรคือ:
ชื่อ | ที่ตั้ง | ที่จำเป็น | คำอธิบาย |
---|---|---|---|
รหัสผู้ใช้ | URL | ย | ตัวระบุการลงชื่อเข้าใช้ DfE สำหรับผู้ใช้ |
jwt-โทเค็น | ส่วนหัว | ย | โทเค็น JWT สำหรับการอนุญาตควรลงนามโดยใช้ความลับ API ของคุณ ซึ่งคุณจะได้รับ |
สิ่งนี้จะส่งคืนการตอบกลับในรูปแบบต่อไปนี้
[ { "id": "org-id", "name": "Organisation name", "category": { "id": "004", "name": "Early Year Setting" }, "urn": "org-urn", "uid": null, "ukprn": null, "establishmentNumber": null, "status": { "id": 1, "name": "Open" }, "closedOn": null, "address": null, "telephone": null, "statutoryLowAge": null, "statutoryHighAge": null, "legacyId": "legacy-id", "companyRegistrationNumber": null }, ]
คุณสามารถใช้ตำแหน่งข้อมูล API นี้เพื่อรับบทบาทที่เกี่ยวข้องกับบริการของคุณหรือหนึ่งในบริการย่อยของคุณ คำขอดูเหมือนว่า:
GET https://environment-url/services/{client-id}/roles Authorization: bearer {jwt-token}
รายการข้อมูลตัวแปรคือ:
ชื่อ | ที่ตั้ง | ที่จำเป็น | คำอธิบาย |
---|---|---|---|
รหัสลูกค้า | URL | ย | ตัวระบุไคลเอ็นต์การลงชื่อเข้าใช้ DfE สำหรับบริการ |
jwt-โทเค็น | ส่วนหัว | ย | โทเค็น JWT สำหรับการอนุญาตควรลงนามโดยใช้ความลับ API ของคุณ ซึ่งคุณจะได้รับ |
รหัสตอบกลับที่เป็นไปได้คือ:
รหัสสถานะ HTTP | เหตุผล |
---|---|
200 | เรียกข้อมูลรายการบทบาท (อาจว่างเปล่า) สำหรับรหัสลูกค้าที่ร้องขอสำเร็จแล้ว |
403 | รหัสไคลเอ็นต์ที่ระบุไม่ใช่บริการของคุณหรือเป็นรายการลูกของบริการของคุณ |
404 | ไม่พบบริการที่มีรหัสไคลเอ็นต์ที่ระบุ |
สิ่งนี้จะส่งคืนการตอบกลับในรูปแบบต่อไปนี้:
[ { "name": "Role 1 Name", "code": "Role1Code", "status": "Active" }, { "name": "Role 2 Name", "code": "Role2Code", "status": "Inactive" } ]
หรือสิ่งต่อไปนี้หากไม่พบบทบาท:
[]
คุณสามารถใช้ API นี้เพื่อรับองค์กรที่เกี่ยวข้องกับผู้ใช้ คำขอมีลักษณะดังนี้
GET https://environment-url/users/{user-id}/v2/organisations Authorization: bearer {jwt-token}
รายการข้อมูลตัวแปรคือ:
ชื่อ | ที่ตั้ง | ที่จำเป็น | คำอธิบาย |
---|---|---|---|
รหัสผู้ใช้ | URL | ย | ตัวระบุการลงชื่อเข้าใช้ DfE สำหรับผู้ใช้ |
jwt-โทเค็น | ส่วนหัว | ย | โทเค็น JWT สำหรับการอนุญาตควรลงนามโดยใช้ความลับ API ของคุณ ซึ่งคุณจะได้รับ |
สิ่งนี้จะส่งคืนการตอบกลับในรูปแบบต่อไปนี้
[ { "id": "org-id", "name": "Organisation name", "category": { "id": "001", "name": "Establishment" }, "urn": null, "uid": null, "upin": "111111", "ukprn": "21133510", "establishmentNumber": null, "status": { "id": 1, "name": "Open" }, "closedOn": null, "address": "Organisation address", "telephone": null, "statutoryLowAge": null, "statutoryHighAge": null, "legacyId": "1111", "companyRegistrationNumber": null, "DistrictAdministrativeCode": null, "DistrictAdministrative_code": null, "providerTypeName": "Commercial and Charitable Provider", "ProviderProfileID": "7777777", "OpenedOn": null, "SourceSystem": "PIMS", "GIASProviderType": null, "PIMSProviderType": "Private Limited Company", "PIMSProviderTypeCode": 11, "PIMSStatus": "1", "masteringCode": null, "PIMSStatusName": "", "GIASStatus": null, "GIASStatusName": null, "MasterProviderStatusCode": 1, "MasterProviderStatusName": "Active", "LegalName": "Org Legal Name" }, ]
คุณสามารถรับรายชื่อผู้ใช้ที่ไม่มีตัวกรองตามที่กำหนดไว้ในโทเค็นการอนุญาต (แอตทริบิวต์ iss)
คำขอดูเหมือนว่า:
GET https://environment-url/users?page=1&pageSize=25 Authorization: bearer {jwt-token}
ตัวแปร page และ pageSize เป็นทางเลือกและมีค่าเริ่มต้นที่ 1 และ 25 ตามลำดับ ตัวแปรเหล่านี้ช่วยให้ผู้เรียกวนซ้ำหน้าผลลัพธ์ได้ (โดยใช้แอตทริบิวต์ในเนื้อหาการตอบสนองเพื่อคำนวณจำนวนบันทึกและหน้า)
เนื้อหาการตอบสนองประกอบด้วยแอตทริบิวต์ต่อไปนี้ (ตัวอย่างการตอบสนองด้านล่าง):
ชื่อ | คำอธิบาย |
---|---|
ผู้ใช้ | อาร์เรย์ของรายละเอียดผู้ใช้ (รวมถึงออบเจ็กต์องค์กรย่อย) |
จำนวนบันทึก | จำนวนบันทึกทั้งหมดที่รายงาน |
หน้าหนังสือ | หมายเลขหน้าปัจจุบัน |
จำนวนหน้า | จำนวนหน้าทั้งหมด |
ตัวอย่างการตอบสนอง
{ "ผู้ใช้": [ { "approvedAt": "2019-06-19T15:09:58.683Z", "updatedAt": "2019-06-19T15:09:58.683Z", "องค์กร": { "id": "13F20E54-79EA-4146-8E39-18197576F023", "ชื่อ": "กรมสามัญศึกษา", "หมวดหมู่": "002", "ประเภท": null, "URN": null, "UID": null, "UKPRN ": null, "หมายเลขสถานประกอบการ": "001", "สถานะ": 1, "ClosedOn": null, "ที่อยู่": null, "phaseOfEducation": null, "statutoryLowAge": null, "statutoryHighAge": null, "โทรศัพท์": null, "regionCode": null, "legacyId": "1031237", "หมายเลขทะเบียนบริษัท": "1234567", "ProviderProfileID": "", "UPIN": "", "PIMSProviderType": "Central Government Department", "PIMSStatus": "", "DistrictAdministrativeName": "", "OpenedOn": "2007-09-01T00:00 :00.0000000Z", "SourceSystem": "", "ProviderTypeName": "หน่วยงานของรัฐ", "GIASProviderType": "", "PIMSProviderTypeCode": "", "createdAt": "2019-02-20T14:27:59.020Z", "updatedAt": "2019-02-20T14:28:38.223 ซี" }, "roleName": "ผู้อนุมัติ", "roleId": 10000, "userId": "21D62132-6570-4E63-9DCB-137CC35E7543", "userStatus": 1, "email": "[email protected]", "familyName": "จอห์นสัน", "givenName": "โรเจอร์" - ], "numberOfRecords": 1, "หน้า": 1, "numberOfPages": 1}
คุณสามารถรับรายชื่อผู้ใช้ที่มีตัวกรองตามที่กำหนดไว้ในโทเค็นการอนุญาต (แอตทริบิวต์ iss)
คำขอดูเหมือนว่า:
GET https://environment-url/users?page=1&pageSize=25&status=0&from=2021%2F02%2F11%2002%3A22%3A06&to=2021%2F11%2F03%2002%3A22%3A06 Authorization: bearer {jwt-token}
ตัวแปร page และ pageSize เป็นทางเลือกและมีค่าเริ่มต้นที่ 1 และ 25 ตามลำดับ ตัวแปรเหล่านี้ช่วยให้ผู้เรียกวนซ้ำหน้าผลลัพธ์ได้ (โดยใช้แอตทริบิวต์ในเนื้อหาการตอบสนองเพื่อคำนวณจำนวนบันทึกและหน้า) สถานะจากและถึงเป็นสถานะทางเลือกที่ยอมรับ 0 ในขณะนี้ ช่วงวันที่ยอมรับเพียง 7 วัน วันที่ควรอยู่ในรูปแบบการเข้ารหัส URL ดังแสดงในตัวอย่าง
การตรวจสอบช่วงวันที่ ส่งข้อความแสดงข้อผิดพลาดเมื่อช่วงวันที่เกิน 7 วัน เฉพาะวันที่ในตัวกรองเท่านั้นที่ทำให้ผู้ใช้อัปเดต 7 วันหลังจากวันที่เริ่มต้น เฉพาะวันที่ในตัวกรองเท่านั้นที่ทำให้ผู้ใช้อัปเดต 7 วันก่อนถึงวันที่ เมื่อไม่ระบุวันที่ ระบบจะอัปเดตผู้ใช้ตั้งแต่ตอนนี้เป็น 7 วันก่อนหน้า
เนื้อหาการตอบสนองประกอบด้วยแอตทริบิวต์ต่อไปนี้ (ตัวอย่างการตอบสนองด้านล่าง):
ชื่อ | คำอธิบาย |
---|---|
ผู้ใช้ | อาร์เรย์ของรายละเอียดผู้ใช้ (รวมถึงออบเจ็กต์องค์กรย่อย) |
จำนวนบันทึก | จำนวนบันทึกทั้งหมดที่รายงาน |
หน้าหนังสือ | หมายเลขหน้าปัจจุบัน |
จำนวนหน้า | จำนวนหน้าทั้งหมด |
คำเตือน (ไม่จำเป็น) | จะปรากฏเฉพาะเมื่อดึงข้อมูลผู้ใช้เพียง 7 วันเท่านั้น |
ตัวอย่างการตอบสนอง
{ "ผู้ใช้": [ { "approvedAt": "2019-06-19T15:09:58.683Z", "updatedAt": "2019-06-19T15:09:58.683Z", "องค์กร": { "id": "13F20E54-79EA-4146-8E39-18197576F023", "ชื่อ": "กรมสามัญศึกษา", "หมวดหมู่": "002", "ประเภท": null, "URN": null, "UID": null, "UKPRN ": null, "หมายเลขสถานประกอบการ": "001", "สถานะ": 1, "ClosedOn": null, "ที่อยู่": null, "phaseOfEducation": null, "statutoryLowAge": null, "statutoryHighAge": null, "โทรศัพท์": null, "regionCode": null, "legacyId": "1031237", "หมายเลขทะเบียนบริษัท": "1234567", "ProviderProfileID": "", "UPIN": "", "PIMSProviderType": "Central Government Department", "PIMSStatus": "", "DistrictAdministrativeName": "", "OpenedOn": "2007-09-01T00:00 :00.0000000Z", "SourceSystem": "", "ProviderTypeName": "หน่วยงานของรัฐ", "GIASProviderType": "", "PIMSProviderTypeCode": "", "createdAt": "2019-02-20T14:27:59.020Z", "updatedAt": "2019-02-20T14:28:38.223 ซี" }, "roleName": "ผู้อนุมัติ", "roleId": 10000, "userId": "21D62132-6570-4E63-9DCB-137CC35E7543", "userStatus": 1, "email": "[email protected]", "familyName": "จอห์นสัน", "givenName": "โรเจอร์" - ], "numberOfRecords": 1, "page": 1, "numberOfPages": 1, "warning": "สามารถดึงข้อมูลได้เพียง 7 วันเท่านั้น"}
หากต้องการตีความรหัสหมวดหมู่ โปรดดูที่นี่
คุณสามารถรับรายชื่อผู้อนุมัติสำหรับองค์กรที่อยู่ในขอบเขตบริการของคุณ (ตามเงื่อนไขนโยบายบทบาท) หากบริการของคุณได้รับอนุญาตให้ดำเนินการดังกล่าว
คำขอดูเหมือนว่า:
GET https://environment-url/users/approvers?page=1&pageSize=25 Authorization: bearer {jwt-token}
ตัวแปร page และ pageSize เป็นทางเลือกและมีค่าเริ่มต้นที่ 1 และ 25 ตามลำดับ ตัวแปรเหล่านี้ช่วยให้ผู้เรียกวนซ้ำหน้าผลลัพธ์ได้ (โดยใช้แอตทริบิวต์ในเนื้อหาการตอบสนองเพื่อคำนวณจำนวนบันทึกและหน้า)
เนื้อหาการตอบสนองประกอบด้วยแอตทริบิวต์ต่อไปนี้ (ตัวอย่างการตอบสนองด้านล่าง):
ชื่อ | คำอธิบาย |
---|---|
ผู้ใช้ | อาร์เรย์ของรายละเอียดผู้ใช้ (รวมถึงออบเจ็กต์องค์กรย่อย) |
จำนวนบันทึก | จำนวนบันทึกทั้งหมดที่รายงาน |
หน้าหนังสือ | หมายเลขหน้าปัจจุบัน |
จำนวนหน้า | จำนวนหน้าทั้งหมด |
ตัวอย่างการตอบสนอง
รหัสตอบกลับที่เป็นไปได้คือ:
รหัสสถานะ HTTP | เหตุผล |
---|---|
200 | คำขอของคุณได้รับการยอมรับแล้ว |
400 | คำขอของคุณไม่ถูกต้อง รายละเอียดเพิ่มเติมจะระบุไว้ในเนื้อหาการตอบกลับ |
401 | JWT ของคุณหายไปหรือไม่ถูกต้อง |
403 | ใบสมัครของคุณไม่ได้รับอนุญาตให้รับผู้อนุมัติสำหรับองค์กร |
500 | เกิดข้อผิดพลาดบนเซิร์ฟเวอร์ โปรดตรวจสอบให้แน่ใจว่ามีการกำหนดค่าข้อมูลลับ เช่น ข้อมูลลับ คีย์ API หรือโทเค็นอย่างถูกต้อง หากปัญหายังคงอยู่ โปรดติดต่อทีมสนับสนุนเพื่อขอความช่วยเหลือ |
{ "ผู้ใช้": [ { "องค์กร": { "id": "13F20E54-79EA-4146-8E39-18197576F023", "name": "กรมสามัญศึกษา", "หมวดหมู่": { "id": "002", "ชื่อ": " องค์การบริหารส่วนท้องถิ่น" }, "โกศ": null, "uid": null, "ukprn": null, "establishmentNumber": "001", "สถานะ": { "id": 1, "ชื่อ": "เปิด" }, "closedOn": null, "ที่อยู่": null, "โทรศัพท์": null, "statutoryLowAge": null, "statutoryHighAge": null, "legacyId": "1031237", "companyRegistrationNumber": "1234567", "ProviderProfileID ": "", "UPIN": "", "PIMSProviderType": "Central Government Department", "PIMSStatus": "", "DistrictAdministrativeName": "", "OpenedOn": "2007-09-01T00:00:00.0000000Z", "SourceSystem": "", "ProviderTypeName ": "หน่วยงานของรัฐ", "GIASProviderType": "", "PIMSProviderTypeCode": "" }, "roleId": 10000, "roleName": "ผู้อนุมัติ", "userId": "21D62132-6570-4E63-9DCB-137CC35E7543", "userStatus": 1, "email": "[email protected]", "familyName": "จอห์นสัน", "givenName": "โรเจอร์" - ], "numberOfRecords": 1, "หน้า": 1, "numberOfPages": 1}
คุณสามารถใช้ API นี้เพื่อให้ผู้ใช้องค์กรกรองตามบทบาท คำขอมีลักษณะดังนี้
GET https://environment-url/organisations/{UKPRN}/users?roles=role1,role2 Authorization: bearer {jwt-token}
รายการข้อมูลตัวแปรคือ:
ชื่อ | ที่ตั้ง | ที่จำเป็น | คำอธิบาย |
---|---|---|---|
UKPRN | URL | ย | UKPRN สำหรับองค์กร |
บทบาท | URL | เอ็น | รหัสบทบาทของผู้ใช้เพื่อกรองรายชื่อผู้ใช้ขององค์กร |
jwt-โทเค็น | ส่วนหัว | ย | โทเค็น JWT สำหรับการอนุญาตควรลงนามโดยใช้ความลับ API ของคุณ ซึ่งคุณจะได้รับ |
รหัสตอบกลับที่เป็นไปได้ได้แก่:
รหัสสถานะ HTTP | เหตุผล |
---|---|
200 | ดึงข้อมูลบทบาทสำเร็จแล้วสำหรับองค์กรที่ร้องขอ |
400 | คำขอของคุณไม่ถูกต้อง รายละเอียดเพิ่มเติมจะระบุไว้ในเนื้อหาการตอบกลับ |
401 | JWT ของคุณหายไปหรือไม่ถูกต้อง |
403 | แอปพลิเคชันของคุณไม่มีสิทธิ์เรียกข้อมูลผู้ใช้สำหรับองค์กรนี้ |
404 | ไม่พบผู้ใช้ที่มีบทบาทที่ระบุสำหรับองค์กรที่ร้องขอ ส่งผลให้อาร์เรย์ว่างเปล่า |
500 | เกิดข้อผิดพลาดบนเซิร์ฟเวอร์ โปรดตรวจสอบให้แน่ใจว่ามีการกำหนดค่าข้อมูลลับ เช่น ข้อมูลลับ คีย์ API หรือโทเค็นอย่างถูกต้อง หากปัญหายังคงอยู่ โปรดติดต่อทีมสนับสนุนเพื่อขอความช่วยเหลือ |
สิ่งนี้จะส่งคืนการตอบกลับในรูปแบบต่อไปนี้
{ "ukprn": "organisation-ukprn-id", "users": [ { "email": "[email protected]", "firstName": "user1", "lastName": "test", "userStatus": 1, "roles": [ "role1" ] }, { "email": "[email protected]", "firstName": "user2", "lastName": "test", "roles": [ "role1", "role2" ] } ] }
ดึงข้อมูลผู้ใช้องค์กรตามเกณฑ์ที่กรอง
คุณยังสามารถใช้ API ข้างต้นเพื่อดึงข้อมูลผู้ใช้ขององค์กรตามเกณฑ์ที่กรอง เช่น ที่อยู่อีเมลหรือรหัสผู้ใช้ คำขอดูเหมือน
GET https://environment-url/organisations/{UKPRN}/[email protected] Authorization: bearer {jwt-token}
รายการข้อมูลตัวแปรคือ:
ชื่อ | ที่ตั้ง | ที่จำเป็น | คำอธิบาย |
---|---|---|---|
UKPRN | URL | ย | UKPRN สำหรับองค์กร |
อีเมล | URL | เอ็น | ที่อยู่อีเมลของผู้ใช้สำหรับการกรอง |
jwt-โทเค็น | ส่วนหัว | ย | โทเค็น JWT สำหรับการอนุญาตควรลงนามโดยใช้ความลับ API ของคุณ ซึ่งจะมอบให้กับคุณ |
รูปแบบการตอบสนองยังคงเหมือนเดิมกับการเรียก API ก่อนหน้า ทำให้สามารถกรองตามเกณฑ์เฉพาะได้
คุณสามารถใช้ API นี้เพื่อให้ผู้ใช้องค์กรกรองตามบทบาท คำขอมีลักษณะดังนี้
GET https://environment-url/organisations/{UPIN}/users?roles=role1,role2 Authorization: bearer {jwt-token}
รายการข้อมูลตัวแปรคือ:
ชื่อ | ที่ตั้ง | ที่จำเป็น | คำอธิบาย |
---|---|---|---|
อัพพิน | URL | ย | UPIN สำหรับองค์กร |
บทบาท | URL | เอ็น | รหัสบทบาทของผู้ใช้เพื่อกรองรายชื่อผู้ใช้ขององค์กร |
jwt-โทเค็น | ส่วนหัว | ย | โทเค็น JWT สำหรับการอนุญาตควรลงนามโดยใช้ความลับ API ของคุณ ซึ่งจะมอบให้กับคุณ |
รหัสตอบกลับที่เป็นไปได้ได้แก่:
รหัสสถานะ HTTP | เหตุผล |
---|---|
200 | ดึงข้อมูลบทบาทสำเร็จแล้วสำหรับองค์กรที่ร้องขอ |
400 | คำขอของคุณไม่ถูกต้อง รายละเอียดเพิ่มเติมจะระบุไว้ในเนื้อหาการตอบกลับ |
401 | JWT ของคุณหายไปหรือไม่ถูกต้อง |
403 | แอปพลิเคชันของคุณไม่มีสิทธิ์เรียกข้อมูลผู้ใช้สำหรับองค์กรนี้ |
404 | ไม่พบผู้ใช้ที่มีบทบาทที่ระบุสำหรับองค์กรที่ร้องขอ ส่งผลให้อาร์เรย์ว่างเปล่า |
500 | เกิดข้อผิดพลาดบนเซิร์ฟเวอร์ โปรดตรวจสอบให้แน่ใจว่ามีการกำหนดค่าข้อมูลลับ เช่น ข้อมูลลับ คีย์ API หรือโทเค็นอย่างถูกต้อง หากปัญหายังคงอยู่ โปรดติดต่อทีมสนับสนุนเพื่อขอความช่วยเหลือ |
สิ่งนี้จะส่งคืนการตอบกลับในรูปแบบต่อไปนี้
{ "upin": "organisation-upin-id", "users": [ { "email": "[email protected]", "firstName": "user1", "lastName": "test", "userStatus": 1, "roles": [ "role1" ] }, { "email": "[email protected]", "firstName": "user2", "lastName": "test", "roles": [ "role1", "role2" ] } ] }
ดึงข้อมูลผู้ใช้องค์กรตามเกณฑ์ที่กรอง
คุณยังสามารถใช้ API ข้างต้นเพื่อดึงข้อมูลผู้ใช้ขององค์กรตามเกณฑ์ที่กรอง เช่น ที่อยู่อีเมลหรือรหัสผู้ใช้ คำขอดูเหมือน
GET https://environment-url/organisations/{UPIN}/[email protected] Authorization: bearer {jwt-token}
รายการข้อมูลตัวแปรคือ:
ชื่อ | ที่ตั้ง | ที่จำเป็น | คำอธิบาย |
---|---|---|---|
อัพพิน | URL | ย | UPIN สำหรับองค์กร |
อีเมล | URL | เอ็น | ที่อยู่อีเมลของผู้ใช้สำหรับการกรอง |
jwt-โทเค็น | ส่วนหัว | ย | โทเค็น JWT สำหรับการอนุญาตควรลงนามโดยใช้ความลับ API ของคุณ ซึ่งจะมอบให้กับคุณ |
รูปแบบการตอบสนองยังคงเหมือนเดิมกับการเรียก API ก่อนหน้า ทำให้สามารถกรองตามเกณฑ์เฉพาะได้
รหัส | คำอธิบาย |
---|---|
001 | สถานประกอบการ (ดูประเภทสถานประกอบการด้านล่าง) |
002 | หน่วยงานท้องถิ่น |
003 | องค์กรมรดกอื่น ๆ |
004 | การตั้งค่าช่วงต้นปี |
008 | ผู้มีส่วนได้เสียอื่น ๆ |
009 | ผู้ให้บริการฝึกอบรม |
010 | ความน่าเชื่อถือหลายสถาบัน |
011 | รัฐบาล |
012 | ผู้มีส่วนได้ส่วนเสียของ GIAS อื่นๆ |
013 | ความน่าเชื่อถือสถาบันเดี่ยว |
050 | ผู้จำหน่ายซอฟต์แวร์ |
051 | การศึกษาเพิ่มเติม |
รหัส | คำอธิบาย |
---|---|
001 | โรงเรียนชุมชน |
002 | โรงเรียนอาสาสงเคราะห์ |
003 | โรงเรียนควบคุมโดยสมัครใจ |
005 | โรงเรียนมูลนิธิ |
006 | วิทยาลัยเทคโนโลยีเมือง |
007 | โรงเรียนพิเศษชุมชน |
008 | โรงเรียนพิเศษที่ไม่ได้รับการดูแล |
010 | โรงเรียนพิเศษอิสระอื่นๆ |
011 | โรงเรียนเอกชนอื่นๆ |
012 | โรงเรียนพิเศษมูลนิธิ |
014 | หน่วยส่งต่อนักเรียน |
015 | โรงเรียนอนุบาลแอลเอ |
018 | การศึกษาเพิ่มเติม |
024 | หน่วยรักษาความปลอดภัย |
025 | โรงเรียนนอกชายฝั่ง |
026 | บริการการศึกษาเด็ก |
027 | เบ็ดเตล็ด |
028 | นำผู้สนับสนุน Academy |
029 | สถาบันอุดมศึกษา |
030 | สถานประกอบการเวลส์ |
031 | ศูนย์แบบฟอร์มที่หก |
032 | สถาบันโพสต์พิเศษ 16 |
033 | นำผู้สนับสนุนพิเศษของ Academy |
034 | ตัวแปลงสถาบัน |
035 | โรงเรียนฟรี |
036 | โรงเรียนพิเศษฟรี |
037 | โรงเรียนต่างประเทศของอังกฤษ |
038 | โรงเรียนฟรี - บทบัญญัติทางเลือก |
039 | โรงเรียนฟรี - 16-19 |
040 | มหาวิทยาลัยวิทยาลัยเทคนิค |
041 | โรงเรียนสตูดิโอ |
042 | ตัวแปลงข้อกำหนดทางเลือกของ Academy |
043 | นำผู้สนับสนุนการจัดหาทางเลือกของ Academy |
044 | ตัวแปลงพิเศษของสถาบัน |
045 | อคาเดมี 16-19 ตัวแปลง |
046 | นำผู้สนับสนุน Academy 16-19 |
047 | ชิลเดร
ขยาย
ข้อมูลเพิ่มเติม
แอปที่เกี่ยวข้อง
แนะนำสำหรับคุณ
ข้อมูลที่เกี่ยวข้อง
ทั้งหมด
|