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 de token de transação do SDK: KYT no lado do cliente
Gere um token temporário e restrito para os SDKs da Didit enviarem transações monitoradas do seu app. Vínculo do titular validado no servidor.
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."
}Autorizações
Chave de API da sua aplicação, em Developers -> API keys no Business Console. A chave principal tem acesso total. Uma chave nomeada pode ter escopo restrito: nenhum acesso, leitura ou escrita por recurso, limitada a alguns fluxos ou a sessões aprovadas, a uma lista de endereços IP e a uma data de validade. 401 significa que a chave está errada, revogada ou expirada; 403 significa que nenhuma chave foi enviada, que a chave não tem acesso a este recurso ou ação, ou que a requisição veio de um endereço fora da sua lista de IPs; 404 em uma rota de sessão significa que a sessão está fora dos fluxos ou status da chave. Uma chave sem acesso a mídia recebe URLs de imagem, vídeo e PDF como null, e uma chave sem permissão de escrita em sessões recebe links e tokens de sessão como null. Consulte https://docs.didit.me/console/api-keys.
Corpo
Seu identificador interno para o usuário final ao qual este token está restrito. É aplicado como a identidade do titular de toda transação enviada com o token.
"user-042"
Tempo de vida do token em segundos. O padrão é 900 (15 minutos); o máximo é 86400 (24 horas).
x <= 86400Número máximo de envios bem-sucedidos permitidos com este token. Omita ou use null para usos ilimitados dentro do TTL.
Resposta
O token emitido. Entregue o sdk_token ao seu app; ele autentica os endpoints voltados ao dispositivo /v1/transactions/ por meio do cabeçalho X-Transaction-Token até expires_at.