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"
}Share-Token API: Session teilen und Token erstellen
Didit: POST /v3/session//share/ erstellt zeitlich begrenzten Share-Token für wiederverwendbares KYC oder KYB. JWT-signiert, ohne Verträge.
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"
}Unterstützung für KYC und KYB
Funktioniert sowohl für Sitzungen zur Benutzerverifizierung (KYC) als auch zur Unternehmensverifizierung (KYB). Didit gleicht diesession_id mit beiden Sitzungstypen ab und erzeugt ein JWT-Freigabe-Token, das Folgendes enthält:
{
"session_id": "...",
"session_kind": "user" | "business",
"from_application_id": "...",
"for_application_id": "...",
"iat": ...,
"exp": ...
}
Anforderungen
- Die Sitzung muss einen abgeschlossenen Status haben (
APPROVED,DECLINED,IN_REVIEW). - Sie müssen über die Berechtigung
write:sessionsverfügen. - Die
for_application_idmuss eine gültige Didit-Anwendung sein (in der Regel die Anwendung eines Partners).
Beispiele
- Eine Sitzung zur Benutzerverifizierung (KYC) teilen
- Eine Sitzung zur Unternehmensverifizierung (KYB) teilen
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-Grenzen
| Parameter | Min | Max | Standard |
|---|---|---|---|
ttl_in_seconds | 60 | 86400 | 3600 |
Verwandte Themen
Autorisierungen
Der API-Schlüssel Ihrer Anwendung, aus Entwickler -> API-Schlüssel in der Business Console. Der Primärschlüssel hat Vollzugriff. Ein benannter Schlüssel kann im Geltungsbereich eingeschränkt werden: keine, Lese- oder Schreibberechtigung pro Ressource, beschränkt auf bestimmte Workflows oder genehmigte Sitzungen, auf eine Liste von IP-Adressen und auf ein Ablaufdatum. 401 bedeutet, dass der Schlüssel falsch, widerrufen oder abgelaufen ist; 403 bedeutet, dass kein Schlüssel gesendet wurde, der Schlüssel keinen Zugriff auf diese Ressource oder Aktion hat oder die Anfrage von einer Adresse außerhalb seiner IP-Liste stammte; 404 bei einer Sitzungsroute bedeutet, dass die Sitzung außerhalb der Workflows oder Status des Schlüssels liegt. Ein Schlüssel ohne Medienzugriff erhält Bild-, Video- und PDF-URLs als null, und ein Schlüssel ohne Schreibberechtigung für Sitzungen erhält Sitzungslinks und Token als null. Siehe https://docs.didit.me/console/api-keys.
Pfadparameter
UUID der Quell-Verifizierungssitzung, für die ein Token ausgestellt werden soll.
"11111111-2222-3333-4444-555555555555"
Body
UUID der Didit-Anwendung, die das Token einlösen wird. Muss existieren, darf nicht gelöscht sein und muss sich von der aufrufenden Anwendung unterscheiden. Sie finden sie in der Business Console unter Settings → Application.
"a5f3bca2-46e2-411e-90ef-a580900a57ee"
Token-Lebensdauer in Sekunden. Minimum 60, Maximum 86400 (24 Std.). Standardmäßig 3600 (1 Std.).
60 <= x <= 864003600
Antwort
Share-Token erstellt.
HS256-signiertes JWT. Übergeben Sie dies unverändert als share_token an POST /v3/session/import-shared/ in der Zielanwendung.
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
Gibt die Ziel-Anwendungs-UUID wieder, an die das Token gebunden ist.
"a5f3bca2-46e2-411e-90ef-a580900a57ee"
Gibt an, ob die Quellsitzung eine Sitzung der Benutzerverifizierung (KYC) oder der Unternehmensverifizierung (KYB) ist.
user, business