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."
}Токен транзакций SDK: API для мониторинга на клиенте
Выпускайте короткоживущий токен Didit для SDK, чтобы отправлять транзакции на мониторинг из приложения. Привязка к субъекту проверяется на сервере.
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."
}Авторизации
API-ключ вашего приложения из раздела «Разработчикам» -> «API-ключи» в Business Console. Основной ключ имеет полный доступ. Именованный ключ может иметь ограниченную область действия: без доступа, чтение или запись для каждого ресурса, ограничение определенными сценариями или одобренными сессиями, списком IP-адресов и сроком действия. 401 означает, что ключ неверен, отозван или его срок действия истек; 403 означает, что ключ не был передан, у ключа нет доступа к этому ресурсу или действию, либо запрос поступил с адреса вне его списка IP-адресов; 404 на маршруте сессии означает, что сессия не входит в сценарии или статусы ключа. Ключ без доступа к медиа получает URL изображений, видео и PDF как null, а ключ без прав на запись сессий получает ссылки на сессии и токены как null. См. https://docs.didit.me/console/api-keys.
Тело
Ваш внутренний идентификатор конечного пользователя, для которого действует этот token. Применяется как идентификатор субъекта каждой транзакции, отправленной с этим token.
"user-042"
Срок действия token в секундах. По умолчанию 900 (15 минут); максимум 86400 (24 часа).
x <= 86400Максимальное количество успешных отправок, разрешённых с этим токеном. Не указывайте параметр или передайте null для неограниченного использования в пределах TTL.
Ответ
Сгенерированный token. Передайте sdk_token вашему приложению; он аутентифицирует endpoints /v1/transactions/ на стороне устройства через заголовок X-Transaction-Token до expires_at.