curl -X POST \
https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/share/ \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"for_application_id": "a5f3bca2-46e2-411e-90ef-a580900a57ee",
"ttl_in_seconds": 7200
}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.sessions.share(
"11111111-2222-3333-4444-555555555555",
for_application_id="a5f3bca2-46e2-411e-90ef-a580900a57ee",
ttl_in_seconds=7200,
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.sessions.share("11111111-2222-3333-4444-555555555555", {
for_application_id: "a5f3bca2-46e2-411e-90ef-a580900a57ee",
ttl_in_seconds: 7200,
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Sessions.Share(ctx, "11111111-2222-3333-4444-555555555555", didit.SessionsShareParams{
ForApplicationID: "a5f3bca2-46e2-411e-90ef-a580900a57ee",
TTLInSeconds: didit.Int(7200),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.SessionsShareParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.sessions().share("11111111-2222-3333-4444-555555555555", SessionsShareParams.builder()
.forApplicationId("a5f3bca2-46e2-411e-90ef-a580900a57ee")
.ttlInSeconds(7200L)
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->sessions->share('11111111-2222-3333-4444-555555555555', [
'for_application_id' => 'a5f3bca2-46e2-411e-90ef-a580900a57ee',
'ttl_in_seconds' => 7200,
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.sessions.share(
"11111111-2222-3333-4444-555555555555",
for_application_id: "a5f3bca2-46e2-411e-90ef-a580900a57ee",
ttl_in_seconds: 7200
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Sessions.ShareAsync("11111111-2222-3333-4444-555555555555", new SessionsShareParams
{
ForApplicationId = "a5f3bca2-46e2-411e-90ef-a580900a57ee",
TtlInSeconds = 7200,
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"share_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uX2lkIjoiMjBiYjNjM2ItNjE0Ni00MzlmLTg0YTQtYmQzMGQwMGFjNmEyIiwiZnJvbV9hcHBsaWNhdGlvbl9pZCI6ImRiZDIwZTM0LTQyZTktNGYyYy1iYTkxLWNmMDc2MjAxNmY2NCIsImZvcl9hcHBsaWNhdGlvbl9pZCI6ImE1ZjNiY2EyLTQ2ZTItNDExZS05MGVmLWE1ODA5MDBhNTdlZSIsImlhdCI6MTc1MzYzMDY2NiwiZXhwIjoxNzUzNjM0MjY2fQ.JJ9pNE_hqZsOtbR0XYZIWw4JzidjdEl279iUrsIkhGE",
"for_application_id": "a5f3bca2-46e2-411e-90ef-a580900a57ee",
"session_kind": "user"
}세션 공유 API: 공유 토큰 생성
Didit의 POST /v3/session//share/로 재사용 가능한 KYC 또는 KYB용 시간 제한 공유 토큰을 생성하세요. JWT 서명, 파트너 연동 가능, 호출당 과금, 계약 불필요.
curl -X POST \
https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/share/ \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"for_application_id": "a5f3bca2-46e2-411e-90ef-a580900a57ee",
"ttl_in_seconds": 7200
}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.sessions.share(
"11111111-2222-3333-4444-555555555555",
for_application_id="a5f3bca2-46e2-411e-90ef-a580900a57ee",
ttl_in_seconds=7200,
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.sessions.share("11111111-2222-3333-4444-555555555555", {
for_application_id: "a5f3bca2-46e2-411e-90ef-a580900a57ee",
ttl_in_seconds: 7200,
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Sessions.Share(ctx, "11111111-2222-3333-4444-555555555555", didit.SessionsShareParams{
ForApplicationID: "a5f3bca2-46e2-411e-90ef-a580900a57ee",
TTLInSeconds: didit.Int(7200),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.SessionsShareParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.sessions().share("11111111-2222-3333-4444-555555555555", SessionsShareParams.builder()
.forApplicationId("a5f3bca2-46e2-411e-90ef-a580900a57ee")
.ttlInSeconds(7200L)
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->sessions->share('11111111-2222-3333-4444-555555555555', [
'for_application_id' => 'a5f3bca2-46e2-411e-90ef-a580900a57ee',
'ttl_in_seconds' => 7200,
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.sessions.share(
"11111111-2222-3333-4444-555555555555",
for_application_id: "a5f3bca2-46e2-411e-90ef-a580900a57ee",
ttl_in_seconds: 7200
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Sessions.ShareAsync("11111111-2222-3333-4444-555555555555", new SessionsShareParams
{
ForApplicationId = "a5f3bca2-46e2-411e-90ef-a580900a57ee",
TtlInSeconds = 7200,
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"share_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uX2lkIjoiMjBiYjNjM2ItNjE0Ni00MzlmLTg0YTQtYmQzMGQwMGFjNmEyIiwiZnJvbV9hcHBsaWNhdGlvbl9pZCI6ImRiZDIwZTM0LTQyZTktNGYyYy1iYTkxLWNmMDc2MjAxNmY2NCIsImZvcl9hcHBsaWNhdGlvbl9pZCI6ImE1ZjNiY2EyLTQ2ZTItNDExZS05MGVmLWE1ODA5MDBhNTdlZSIsImlhdCI6MTc1MzYzMDY2NiwiZXhwIjoxNzUzNjM0MjY2fQ.JJ9pNE_hqZsOtbR0XYZIWw4JzidjdEl279iUrsIkhGE",
"for_application_id": "a5f3bca2-46e2-411e-90ef-a580900a57ee",
"session_kind": "user"
}KYC 및 KYB 지원
사용자 인증(KYC)과 기업 확인(KYB) 세션 모두에서 사용할 수 있습니다. Didit은 두 세션 유형 모두에서session_id를 조회하고, 다음을 포함하는 JWT 공유 토큰을 생성합니다:
{
"session_id": "...",
"session_kind": "user" | "business",
"from_application_id": "...",
"for_application_id": "...",
"iat": ...,
"exp": ...
}
요구 사항
- 세션이 완료된 상태(
APPROVED,DECLINED,IN_REVIEW)여야 합니다. write:sessions권한이 있어야 합니다.for_application_id는 유효한 Didit 애플리케이션이어야 합니다(보통 파트너의 애플리케이션).
예시
- 사용자 인증(KYC) 세션 공유
- 기업 확인(KYB) 세션 공유
curl -X POST https://verification.didit.me/v3/session/4c5c7f3a-.../share/ \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"for_application_id": "partner-app-uuid",
"ttl_in_seconds": 3600
}'
{
"share_token": "eyJhbGciOiJIUzI1NiJ9...",
"for_application_id": "partner-app-uuid",
"session_kind": "user"
}
curl -X POST https://verification.didit.me/v3/session/bs-01HJX1.../share/ \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"for_application_id": "partner-app-uuid",
"ttl_in_seconds": 7200
}'
{
"share_token": "eyJhbGciOiJIUzI1NiJ9...",
"for_application_id": "partner-app-uuid",
"session_kind": "business"
}
TTL 범위
| 파라미터 | 최소 | 최대 | 기본값 |
|---|---|---|---|
ttl_in_seconds | 60 | 86400 | 3600 |
관련 문서
인증
Business Console의 Developers -> API keys에서 발급받은 귀하 애플리케이션의 API 키입니다. 기본 키는 전체 접근 권한을 갖습니다. 이름이 지정된 키는 리소스별 none, read, write 범위로 권한을 제한할 수 있으며 특정 워크플로나 승인된 세션, IP 주소 목록, 만료일 등으로 제한할 수도 있습니다. 401은 키가 잘못되었거나 폐기되었거나 만료되었음을 의미합니다. 403은 키가 전송되지 않았거나, 키에 해당 리소스나 작업에 대한 접근 권한이 없거나, 요청이 허용된 IP 목록 외부 주소에서 발생했음을 의미합니다. 세션 경로에서의 404는 해당 세션이 키의 허용 워크플로 또는 상태 범위를 벗어났음을 의미합니다. 미디어 접근 권한이 없는 키는 이미지, 비디오, PDF URL을 null로 수신하며, 세션 write 권한이 없는 키는 세션 링크와 token을 null로 수신합니다. https://docs.didit.me/console/api-keys 를 참고하십시오.
경로 매개변수
토큰을 발급할 소스 인증 세션의 UUID입니다.
"11111111-2222-3333-4444-555555555555"
본문
token을 사용할 Didit 애플리케이션의 UUID입니다. 반드시 존재해야 하고, 삭제되지 않아야 하며, 호출하는 애플리케이션과 달라야 합니다. Business Console의 Settings → Application에서 확인할 수 있습니다.
"a5f3bca2-46e2-411e-90ef-a580900a57ee"
token 유효 기간(초 단위)입니다. 최소 60, 최대 86400(24시간)입니다. 기본값은 3600(1시간)입니다.
60 <= x <= 864003600
응답
공유 token이 발행되었습니다.
HS256 서명된 JWT입니다. 대상 애플리케이션의 POST /v3/session/import-shared/에 share_token으로 그대로 전달하십시오.
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
token이 바인딩된 대상 애플리케이션 UUID를 반환합니다.
"a5f3bca2-46e2-411e-90ef-a580900a57ee"
소스 세션이 사용자 인증(KYC) 또는 기업 확인(KYB) 세션인지 여부입니다.
user, business