Method: vdc.getCredentialStatus

ปลายทางเพื่อดึงสถานะปัจจุบันของข้อมูลเข้าสู่ระบบ

คำขอ HTTP

POST https://example.issuer.com/api/v1/vdc/getCredentialStatus

เนื้อความของคำขอ

เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

การแสดง JSON
{
  "requestMetadata": {
    object (RequestMetadata)
  },
  "deviceReferenceId": string,
  "credentialId": string
}
ช่อง
requestMetadata

object (RequestMetadata)

ต้องระบุ ข้อมูลเมตาเกี่ยวกับคำขอ ซึ่งจำเป็นในคำขอทั้งหมด

deviceReferenceId

string

ต้องระบุ รหัสที่สอดคล้องกับอุปกรณ์และคีย์ข้อมูลประจำตัวที่เชื่อมโยงกับอุปกรณ์ นี่ไม่ใช่รหัสอุปกรณ์ ซึ่งหมายความว่าหากผู้ใช้มีข้อมูลเข้าสู่ระบบ 2 ชุดแยกกันในอุปกรณ์เดียวกัน รหัสนี้จะแตกต่างกัน

รหัสนี้จะระบุไว้ในคำขอทั้งหมด และใช้เพื่อเชื่อมโยงคำขอได้

credentialId

string

ต้องระบุ รหัสของข้อมูลเข้าสู่ระบบที่ผู้โทรขอสถานะ

เนื้อหาการตอบกลับ

การตอบกลับที่มีสถานะปัจจุบันของข้อมูลเข้าสู่ระบบ

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

การแสดง JSON
{
  "responseMetadata": {
    object (ResponseMetadata)
  },
  "credentialStatus": {
    object (CredentialStatus)
  },
  "credentialVersionId": string
}
ช่อง
responseMetadata

object (ResponseMetadata)

ต้องระบุ ข้อมูลเมตาเกี่ยวกับคำตอบ ซึ่งจำเป็นต้องมีในคำตอบทั้งหมด

credentialStatus

object (CredentialStatus)

ต้องระบุ สถานะปัจจุบันของข้อมูลเข้าสู่ระบบ

credentialVersionId

string

ต้องระบุ เวอร์ชันปัจจุบันของหนังสือรับรอง ซึ่งคาดว่าจะมีการเปลี่ยนแปลงเมื่อมีการรับรองเวอร์ชันใหม่ ตัวอย่างกรณีที่จะมีการเปลี่ยนแปลงคือเมื่อผู้ใช้อัปเดตที่อยู่ในข้อมูลเข้าสู่ระบบ ซึ่งจะทำให้ mdoc พื้นฐานล้าสมัย

CredentialStatus

ออบเจ็กต์ที่แสดงสถานะต่างๆ ที่ข้อมูลเข้าสู่ระบบอาจมี

การแสดง JSON
{
  "userActionRequired": {
    object (UserActionRequired)
  },

  // Union field status can be only one of the following:
  "provisionPending": {
    object (ProvisionPending)
  },
  "active": {
    object (Active)
  },
  "revoked": {
    object (Revoked)
  },
  "deleted": {
    object (Deleted)
  }
  // End of list of possible types for union field status.
}
ช่อง
userActionRequired

object (UserActionRequired)

การดำเนินการที่ผู้ใช้ต้องทำเพื่อหลีกเลี่ยงไม่ให้ข้อมูลเข้าสู่ระบบเปลี่ยนไปอยู่ในสถานะที่มีการจำกัดมากขึ้น (เช่น ACTIVE -> REVOKED)

ฟิลด์ Union status ต้องระบุ Oneof ที่มีสถานะต่างๆ ที่เป็นไปได้สำหรับข้อมูลเข้าสู่ระบบ status ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
provisionPending

object (ProvisionPending)

แสดงถึงข้อมูลเข้าสู่ระบบที่ดึงข้อมูลได้ แต่ยังไม่ได้ระบุ ProofOfProvisioning การเรียก vdc.provisionMobileSecurityObjects สำหรับข้อมูลเข้าสู่ระบบในสถานะนี้ควรล้มเหลวหากคำขอไม่มี ProofOfProvisioning ที่อัปเดต ระบบจะเปลี่ยนข้อมูลเข้าสู่ระบบเป็นสถานะนี้เมื่อสร้างข้อมูลเข้าสู่ระบบ และเมื่อมีข้อมูลเข้าสู่ระบบเวอร์ชันใหม่ สำหรับกรณีเวอร์ชันใหม่ กระเป๋าเงินต้องจัดสรรข้อมูลเข้าสู่ระบบอีกครั้งและแสดง ProofOfProvisioning เพื่อกลับไปที่สถานะ ACTIVE

active

object (Active)

แสดงข้อมูลเข้าสู่ระบบที่ใช้งานได้ ระบบจะดึงข้อมูล MSO ได้เฉพาะสำหรับข้อมูลเข้าสู่ระบบที่มีสถานะ "ใช้งานอยู่" เท่านั้น

revoked

object (Revoked)

แสดงข้อมูลเข้าสู่ระบบที่อยู่ในสถานะสุดท้ายซึ่งใช้ไม่ได้ ข้อมูลเข้าสู่ระบบนี้จะใช้ไม่ได้ในอนาคต สถานะนี้เทียบเท่ากับสถานะ "ลบแล้ว" แต่จะตั้งค่าได้โดยผู้ออกบัตรเท่านั้น

deleted

object (Deleted)

แสดงข้อมูลเข้าสู่ระบบที่เคยมีการจัดสรร แต่ถูกลบออกจากอุปกรณ์แล้ว สถานะนี้เทียบเท่ากับสถานะ "เพิกถอนแล้ว" แต่ตั้งค่าได้โดย Wallet เท่านั้น

ProvisionPending

ประเภทนี้ไม่มีฟิลด์

ออบเจ็กต์ที่แสดงสถานะรอดำเนินการสำหรับข้อมูลเข้าสู่ระบบ ขณะนี้ข้อความนี้ตั้งใจให้ว่างเปล่า ทั้งนี้ อาจมีการเพิ่มช่องใหม่ในอนาคต

ใช้งานอยู่

ประเภทนี้ไม่มีฟิลด์

ออบเจ็กต์ที่แสดงสถานะข้อมูลเข้าสู่ระบบที่ใช้งานอยู่ ขณะนี้ข้อความนี้ตั้งใจให้ว่างเปล่า ทั้งนี้ อาจมีการเพิ่มช่องใหม่ในอนาคต

เพิกถอนแล้ว

ประเภทนี้ไม่มีฟิลด์

ออบเจ็กต์ที่แสดงสถานะของข้อมูลเข้าสู่ระบบที่ถูกเพิกถอน ขณะนี้ข้อความนี้ตั้งใจให้ว่างเปล่า ทั้งนี้ อาจมีการเพิ่มช่องใหม่ในอนาคต

ลบแล้ว

ประเภทนี้ไม่มีฟิลด์

ออบเจ็กต์ที่แสดงสถานะของข้อมูลเข้าสู่ระบบที่ถูกลบ ขณะนี้ข้อความนี้ตั้งใจให้ว่างเปล่า ทั้งนี้ อาจมีการเพิ่มช่องใหม่ในอนาคต

UserActionRequired

ออบเจ็กต์ที่แสดงถึงงาน / การดำเนินการที่ผู้ใช้ต้องทำ

การแสดง JSON
{
  "deadlineTimeMillis": string,
  "deadlineEnforcementHint": {
    object (EnforcementHint)
  },

  // Union field action can be only one of the following:
  "submitProofing": {
    object (SubmitProofing)
  }
  // End of list of possible types for union field action.
}
ช่อง
deadlineTimeMillis

string (int64 format)

เวลา Epoch เมื่อการดำเนินการหมดอายุและคาดว่าผู้ออกบัตรจะย้ายข้อมูลเข้าสู่สถานะที่มีการจำกัดมากขึ้น ไคลเอ็นต์ใช้เพื่อเตือนผู้ใช้เกี่ยวกับเวลาที่ต้องดำเนินการให้เสร็จสมบูรณ์ แต่ผู้ออกบัตรจะเป็นผู้บังคับใช้ข้อจำกัด

deadlineEnforcementHint

object (EnforcementHint)

คำแนะนำที่อธิบายวิธีที่ผู้ออกจะบังคับใช้กำหนดเวลาของการดำเนินการ

ฟิลด์ Union action การดำเนินการที่ผู้ใช้ต้องทำ action ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
submitProofing

object (SubmitProofing)

ส่งหลักฐานการตรวจสอบข้อมูลรับรอง

EnforcementHint

คำแนะนำที่อธิบายวิธีที่ผู้ออกบัตรจะบังคับใช้การดำเนินการที่จำเป็น

การแสดง JSON
{

  // Union field hint can be only one of the following:
  "revocationHint": {
    object (RevocationHint)
  }
  // End of list of possible types for union field hint.
}
ช่อง
ฟิลด์ Union hint ประเภทคำแนะนำในการบังคับใช้ hint ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
revocationHint

object (RevocationHint)

ผู้ออกใบรับรองจะเพิกถอนข้อมูลเข้าสู่ระบบ

RevocationHint

ประเภทนี้ไม่มีฟิลด์

ผู้ออกใบรับรองจะเพิกถอนข้อมูลเข้าสู่ระบบ

SubmitProofing

รายละเอียดสถานะการพิสูจน์

การแสดง JSON
{

  // Union field ProofingAllowance can be only one of the following:
  "limitedAttempts": {
    object (LimitedAttempts)
  },
  "unlimitedAttempts": {
    object (UnlimitedAttempts)
  }
  // End of list of possible types for union field ProofingAllowance.
}
ช่อง
ฟิลด์ Union ProofingAllowance ความพยายามในการพิสูจน์ตัวตนในข้อมูลเข้าสู่ระบบปัจจุบัน ProofingAllowance ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
limitedAttempts

object (LimitedAttempts)

ผู้ใช้มีโอกาสส่งการพิสูจน์ตัวตนได้ในจำนวนจำกัด

unlimitedAttempts

object (UnlimitedAttempts)

ผู้ใช้จะส่งหลักฐานกี่ครั้งก็ได้ เราไม่แนะนำให้ผู้ออกบัตรทำเช่นนี้

LimitedAttempts

ผู้ใช้มีโอกาสส่งการพิสูจน์ตัวตนได้ในจำนวนจำกัด

การแสดง JSON
{
  "remainingAttempts": integer,
  "maxAttempts": integer,
  "maxAttemptsEnforcementHint": {
    object (EnforcementHint)
  }
}
ช่อง
remainingAttempts

integer

จำนวนครั้งที่เหลือในการส่งหลักฐาน ซึ่งใช้สำหรับการแสดงข้อความ UX เท่านั้น Google Wallet จะไม่ดำเนินการกับหมายเลขนี้

maxAttempts

integer

คุณได้พยายามส่งการพิสูจน์ครบจำนวนครั้งสูงสุดที่กำหนดแล้ว ซึ่งใช้สำหรับการแสดงข้อความ UX เท่านั้น Google Wallet จะไม่ดำเนินการกับหมายเลขนี้

maxAttemptsEnforcementHint

object (EnforcementHint)

คำแนะนำที่อธิบายวิธีที่ผู้ออกบัตรจะบังคับใช้จำนวนครั้งสูงสุด

UnlimitedAttempts

ประเภทนี้ไม่มีฟิลด์

ผู้ใช้จะส่งหลักฐานกี่ครั้งก็ได้ เราไม่แนะนำให้ผู้ออกบัตรทำเช่นนี้