เริ่มต้นใช้งาน
ข้อมูลหลัก
อื่นๆ

ยืนยันด้วย SEEK Pass

ยืนยันด้วย SEEK Pass มอบวิธีที่ราบรื่นสำหรับการยืนยันข้อมูลรับรอง (เช่น ตัวตนดิจิทัล) ผ่าน SEEK Pass สำหรับการผสานรวมนี้ พันธมิตรจะฝังปุ่มไว้ในขั้นตอนการใช้งานของตน ซึ่งจะนำผู้ใช้ไปยังแอป SEEK Pass ที่ผู้ใช้ต้องเลือกข้อมูลรับรองที่จะยืนยัน (เช่น หนังสือเดินทาง ใบขับขี่) พันธมิตรสามารถผสานรวมกับ SEEK Pass โดยใช้ REST APIs เพื่อตรวจสอบสิทธิ์และสร้างคำขอการยืนยัน และเปลี่ยนเส้นทางผู้ใช้ไปยังแอป SEEK Passยืนยันด้วย SEEK Pass - โฟลว์เส้นทางผู้ใช้ยืนยันด้วย SEEK Pass - Digital Identify Workflow

รายละเอียดทางเทคนิค

การเชื่อมต่อนี้มี 3 ระยะ:
  • การยืนยันตัวตนกับ SEEK Pass
  • การส่งคำขอการยืนยัน
  • กำลังดึงผลการยืนยัน
SEEK Pass ยืนยันตัวตนและให้สิทธิ์คำขอของพาร์ทเนอร์โดยใช้ OAuth2 Client Credentials flow สำหรับการยืนยันตัวตนแบบเซิร์ฟเวอร์ต่อเซิร์ฟเวอร์ เมื่อเริ่มต้นใช้งาน พาร์ทเนอร์จะได้รับข้อมูลรับรอง OAuth เพื่อรับโทเค็นการเข้าถึง JWT สำหรับการเรียก API ครั้งถัดไป โดยข้อมูลรับรอง OAuth จะถูกส่งผ่านช่องทางที่ปลอดภัย (เช่น 1Password)
# POST /api/partner/v2/oauth/token

curl --location $SEEK_PASS_URL/api/partner/v2/oauth/token.json 
--header 'Accept: application/json' 
--header 'Content-Type: application/x-www-form-urlencoded' 
--data-urlencode grant_type=client_credentials 
--data-urlencode client_id=$CLIENT_ID 
--data-urlencode client_secret=$CLIENT_SECRET 
--data-urlencode 'scope=write.digital_identity read.digital_identity'
เมื่อยืนยันตัวตนแล้ว พาร์ทเนอร์สามารถส่งคำขอการยืนยันผ่าน API การยืนยันของเรา (POST /api/partner/v2/verify/requests/digital_identity.json) เพย์โหลดของคำขอมี callback URL ที่เป็นตัวเลือก ซึ่งจะใช้เปลี่ยนเส้นทางผู้ใช้กลับไปยังตำแหน่งที่พาร์ทเนอร์เสนอชื่อไว้ (เช่น เว็บแอป) หลังจากผู้ใช้ดำเนินโฟลว์การยืนยันเสร็จสิ้น API นี้จะส่งคืน redirect URI ซึ่งต้องใช้เพื่อพาผู้ใช้ไปยัง SEEK Pass โปรดดูรายละเอียดเพิ่มเติมเกี่ยวกับรูปแบบ redirect URI ในหัวข้อถัดไปหลังจากผู้ใช้ดำเนินการโฟลว์การยืนยันเสร็จ ผู้ใช้จะถูกเปลี่ยนเส้นทางกลับไปยังพาร์ทเนอร์ callback URL และผลการยืนยันจะถูกส่งให้ผ่าน API หรือ webhook ที่ลงทะเบียนไว้ response payload จะมี request ID ข้อมูลเอกสารรับรองของผู้ใช้ และผลการยืนยัน โดยรายละเอียดการติดตั้งใช้งานด้านความปลอดภัยของ webhook อยู่ในหัวข้อถัดไป

เพย์โหลดคำขอ

เพย์โหลดคำขอมีฟิลด์ดังนี้:
  • request_id (ไม่บังคับ): ใช้ให้พาร์ทเนอร์ติดตามคำขอของตน หากไม่ระบุ ระบบจะสร้างให้อัตโนมัติ
  • callback_url (ไม่บังคับ): หากระบุ ผู้ใช้จะถูกส่งกลับไปยัง URL นี้หลังทำขั้นตอนการยืนยันตัวตนให้เสร็จสิ้น
  • display_options (required): ค่า partner_name ที่จำเป็นต้องระบุจะแสดงให้ผู้ใช้เห็น สามารถระบุ partner_logo_url เพิ่มเติมได้
  • request_source (ไม่บังคับ): ฟิลด์นี้บันทึกลำดับชั้นของฝ่ายที่เกี่ยวข้องในคำขอการยืนยันตัวตน (เช่น ATS)
  • metadata (ไม่บังคับ): ฟิลด์นี้เก็บข้อมูลเพิ่มเติมที่ SEEK Pass ต้องการเพื่อการรายงานหรือวัตถุประสงค์อื่น สำหรับ SEEK/Indirect เราจะบันทึกข้อมูลที่เกี่ยวข้องกับงาน
  • options (ไม่บังคับ): พารามิเตอร์ที่ไม่บังคับสำหรับกำหนดค่าประสบการณ์การใช้งาน SEEK Pass
    • email_hint (ไม่บังคับ): กรอกที่อยู่อีเมลของผู้ใช้ไว้ล่วงหน้าบนหน้าจอเข้าสู่ระบบ ผู้ใช้สามารถป้อนที่อยู่อีเมลอื่นได้หากต้องการ
    • locale (ไม่บังคับ): กำหนดภาษาเริ่มต้นสำหรับขั้นตอนการยืนยัน
Info
หากไม่มี request_id ในเพย์โหลดคำขอ SEEK Pass จะสร้าง request ID ที่ไม่ซ้ำให้อัตโนมัติ เราแนะนำให้ใช้ค่าที่ไม่ซ้ำทั่วโลก (เช่น UUID) สำหรับ request_id เพื่อให้ติดตามคำขอของผู้ใช้ได้อย่างถูกต้อง
ตัวอย่างคำขอการยืนยัน:
# POST /api/partner/v2/verify/requests/digital_identity.json

{
  "request_id": "7cbc7e51-82f5-43ec-8d63-b7cdf1170425",  // Optional. For tracking requests. If not passed, it will be auto-generated.
  "callback_url": "https://www.partner.com/callback",    // Optional. For redirecting users
  "display_options": {           // Required
    "partner_name": "string",    // Required
    "partner_logo_url": "string" // Optional
  },
  "request_source": [            // Optional
    {
      "name": "string"
    }
  ],
  "metadata": {                  // Optional - context about the verification
    "position_title": "string",
    "position_url": "string",
    "position_location": "string",
    "job_categories": "string",
    "applied_on_seek": true
  },
  "options": {                   // Optional - configure the SEEK Pass experience
    "email_hint": "string",      // Optional. Pre-fills the user's email address
    "locale": "string"           // Optional. Sets the language for the verification flow (e.g. en-AU)
  }
}
ตัวอย่างการตอบกลับการยืนยัน:
{
  "request_id": "7cbc7e51-82f5-43ec-8d63-b7cdf1170425",
  "redirect_uri": "https://app.seekpass.co/partner/verify/digitalIdentity?clientId=[CLIENT_ID]&requestId=fa651300-b91a-49cb-8ee7-cac68b3fdf74"
}

พฤติกรรม

  • การใช้ ID ซ้ำขณะที่คำขอยังรอดำเนินการ: การสร้างคำขอด้วย ID ที่มีอยู่ในช่วงที่คำขอยังไม่เสร็จสิ้นจะทำให้เกิดข้อผิดพลาด ตรวจสอบสถานะของคำขอที่มีอยู่เสมอ และตัดสินใจว่าจะนำผู้ใช้ไปยังคำขอเดิมหรือสร้างคำขอใหม่
  • การเชื่อมโยงผู้ใช้: เมื่อผู้ใช้เข้าถึง redirect_uri และยืนยันตัวตน ข้อมูลเอกสารรับรองจะถูกแนบกับบัญชีของผู้ใช้
  • การหมดอายุของคำขอที่ยังไม่ได้เชื่อมโยง: หากผู้ใช้ไม่เข้าไปที่ redirect_uri และเริ่มการส่งภายใน 48 ชั่วโมง คำขอจะถูกยกเลิกโดยอัตโนมัติ และข้อมูลเดิมจะถูกลบอย่างถาวร หลังจากนั้น คำขอที่มีอยู่จะสิ้นสุดและถูกยกเลิก และคุณสามารถใช้ ID เดิมซ้ำเพื่อสร้างคำขอใหม่ส่งให้ผู้ใช้
  • การหมดอายุของคำขอที่เชื่อมโยง: ผู้ใช้อาจเข้าถึง redirect_uri ได้ แต่จากนั้นออกจากกระบวนการและไม่ยืนยันการเพิ่มข้อมูลรับรองไปยังบัญชีของตน ผู้ใช้มีเวลาสูงสุด 30 วันในการกลับมายังแพลตฟอร์มและยืนยัน ทั้งนี้ขึ้นอยู่กับประเภทข้อมูลรับรอง หลังจากช่วงเวลานี้ คำขอจะถือว่าสิ้นสุดและถูกยกเลิก และคุณสามารถใช้ ID เดิมซ้ำเพื่อสร้างคำขอใหม่สำหรับส่งให้ผู้ใช้
  • Consent Flow: ข้อมูลเอกสารรับรองจะถูกแนบกับบัญชีของผู้ใช้เมื่อยืนยันตัวตน ไม่ว่าสถานะความยินยอมจะเป็นอย่างไร หากยังไม่ได้ให้ความยินยอม redirect_uri จะแจ้งให้ผู้ใช้ยอมรับ
  • พฤติกรรมหลังให้ความยินยอม: เมื่อให้ความยินยอมแล้ว หากผู้ใช้เข้าถึง redirect_uri เดิม ผู้ใช้จะถูกนำไปยังข้อมูลรับรองที่ส่งไว้
  • นโยบายการเก็บรักษาข้อมูล: หากผู้ใช้ดำเนินการตามขั้นตอนผู้ใช้เสร็จสิ้น แต่ไม่ได้ดาวน์โหลดและยืนยันตัวตนผ่านแอปมือถือภายใน 48 ชั่วโมง เอกสารทั้งหมดที่เกี่ยวข้องจะถูกลบอย่างปลอดภัยตามนโยบายการคุ้มครองข้อมูล
Info
เมื่อผู้ใช้คลิกลิงก์และเข้าสู่ระบบแล้ว ข้อมูลจะถูกเชื่อมโยงเฉพาะกับผู้ใช้นั้นเท่านั้น หากผู้ใช้อื่นพยายามใช้ลิงก์เดียวกัน ระบบจะนำไปยังหน้าแสดงข้อผิดพลาด

แผนภาพลำดับ

ยืนยันด้วย SEEK Pass - แผนภาพลำดับ

บัญชี SEEK Pass

SEEK Pass จะให้ข้อมูลรับรอง OAuth สำหรับพาร์ทเนอร์เพื่อใช้ยืนยันตัวตนในสภาพแวดล้อม staging และ production ดังนี้:
  • ปลายทาง OAuth token: POST /api/partner/v2/oauth/token.json
  • โฮสต์:
    • Production: https://app.seekpass.co
    • Staging: https://app.seekpass-staging.com
  • ข้อมูลรับรองของไคลเอนต์จะถูกส่งให้ผ่านช่องทางที่ปลอดภัย (เช่น 1Password)

ปุ่ม ยืนยันด้วย SEEK Pass

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

โครงสร้าง Redirect URI

  • พาธ: /partner/verify/[Credential type]
  • โฮสต์:
    • Production: https://app.seekpass.co
    • Staging: https://app.seekpass-staging.com
  • คิวรี: พารามิเตอร์ด้านล่างเป็นพารามิเตอร์คิวรีของ URL
    • clientId: ID แอปพลิเคชัน OAuth
    • requestId: ID คำขอการยืนยัน
  • ตัวอย่าง: https://app.seekpass-staging.com/partner/verify/digitalIdentity?clientId=[CLIENT_ID]&requestId=fa651300-b91a-49cb-8ee7-cac68b3fdf74

ผลการยืนยัน

ข้อมูลการยืนยันและผลลัพธ์ของคำขอจะถูกส่งผ่าน API หรือ webhook ที่พาร์ทเนอร์ลงทะเบียนไว้ SEEK Pass สามารถส่งอัปเดต webhook สำหรับเหตุการณ์ต่าง ๆ ในแต่ละขั้นของเวิร์กโฟลว์การยืนยันได้ ตัวอย่างเหตุการณ์แสดงอยู่ด้านล่าง:
  • incomplete
  • canceled (rejected, canceled, expired)
  • verified