curl -X POST https://verification.didit.me/v3/transactions/sdk-token/ \
-H 'x-api-key: YOUR_API_KEY' -H 'Content-Type: application/json' \
-d '{"vendor_data": "user-042", "ttl_seconds": 900, "max_uses": 3}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.transactions.create_sdk_token(
vendor_data="user-042",
ttl_seconds=900,
max_uses=3,
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.transactions.createSdkToken({
vendor_data: "user-042",
ttl_seconds: 900,
max_uses: 3,
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Transactions.CreateSDKToken(ctx, didit.TransactionsCreateSDKTokenParams{
VendorData: "user-042",
TTLSeconds: didit.Int(900),
MaxUses: didit.Int(3),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.TransactionsCreateSdkTokenParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.transactions().createSdkToken(TransactionsCreateSdkTokenParams.builder()
.vendorData("user-042")
.ttlSeconds(900L)
.maxUses(3L)
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->transactions->createSdkToken([
'vendor_data' => 'user-042',
'ttl_seconds' => 900,
'max_uses' => 3,
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.transactions.create_sdk_token(
vendor_data: "user-042",
ttl_seconds: 900,
max_uses: 3
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Transactions.CreateSdkTokenAsync(new TransactionsCreateSdkTokenParams
{
VendorData = "user-042",
TtlSeconds = 900,
MaxUses = 3,
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"sdk_token": "q7Zt...urlsafe",
"expires_at": "2026-07-07T12:15:00Z"
}{
"vendor_data": [
"This field is required."
]
}{
"detail": "Invalid API Key."
}Token de transaction SDK : API de gestion Didit
Générez un token éphémère et restreint pour que les SDK Didit envoient des transactions depuis votre app. Liaison au sujet appliquée côté serveur.
curl -X POST https://verification.didit.me/v3/transactions/sdk-token/ \
-H 'x-api-key: YOUR_API_KEY' -H 'Content-Type: application/json' \
-d '{"vendor_data": "user-042", "ttl_seconds": 900, "max_uses": 3}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.transactions.create_sdk_token(
vendor_data="user-042",
ttl_seconds=900,
max_uses=3,
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.transactions.createSdkToken({
vendor_data: "user-042",
ttl_seconds: 900,
max_uses: 3,
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Transactions.CreateSDKToken(ctx, didit.TransactionsCreateSDKTokenParams{
VendorData: "user-042",
TTLSeconds: didit.Int(900),
MaxUses: didit.Int(3),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.TransactionsCreateSdkTokenParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.transactions().createSdkToken(TransactionsCreateSdkTokenParams.builder()
.vendorData("user-042")
.ttlSeconds(900L)
.maxUses(3L)
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->transactions->createSdkToken([
'vendor_data' => 'user-042',
'ttl_seconds' => 900,
'max_uses' => 3,
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.transactions.create_sdk_token(
vendor_data: "user-042",
ttl_seconds: 900,
max_uses: 3
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Transactions.CreateSdkTokenAsync(new TransactionsCreateSdkTokenParams
{
VendorData = "user-042",
TtlSeconds = 900,
MaxUses = 3,
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"sdk_token": "q7Zt...urlsafe",
"expires_at": "2026-07-07T12:15:00Z"
}{
"vendor_data": [
"This field is required."
]
}{
"detail": "Invalid API Key."
}Autorisations
La clé API de votre application, issue de Développeurs -> Clés API dans la Business Console. La clé principale dispose d'un accès complet. Une clé nommée peut être restreinte : aucun, lecture ou écriture par ressource, limitée à certains workflows ou aux sessions approuvées, à une liste d'adresses IP et à une date d'expiration. 401 signifie que la clé est incorrecte, révoquée ou expirée ; 403 signifie qu'aucune clé n'a été envoyée, que la clé n'a pas accès à cette ressource ou action, ou que la requête provient d'une adresse hors de sa liste d'IP ; 404 sur une route de session signifie que la session est hors des workflows ou des statuts de la clé. Une clé sans accès aux médias reçoit les URL d'images, de vidéos et de PDF à null, et une clé sans accès en écriture aux sessions reçoit les liens et tokens de session à null. Voir https://docs.didit.me/console/api-keys.
Corps
Votre identifiant interne pour l'utilisateur final auquel ce token est limité. Appliqué comme identité du sujet de chaque transaction soumise avec le token.
"user-042"
Durée de vie du token en secondes. Vaut par défaut 900 (15 minutes) ; maximum 86400 (24 heures).
x <= 86400Nombre maximal de soumissions réussies autorisées avec ce token. Omettre ou définir sur null pour des utilisations illimitées dans la limite du TTL.
Réponse
Le token généré. Transmettez sdk_token à votre application ; il authentifie les endpoints /v1/transactions/ côté appareil via l'en-tête X-Transaction-Token jusqu'à expires_at.