curl -X POST 'https://verification.didit.me/v3/events/sdk-token/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"vendor_data": "user-42",
"allowed_event_categories": ["auth", "session", "gameplay"],
"ttl_seconds": 900,
"max_uses": 1000,
"bind_to_origin": "https://app.example.com"
}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.monitoring_events.create_sdk_token(
vendor_data="user-42",
allowed_event_categories=["auth", "session", "gameplay"],
ttl_seconds=900,
max_uses=1000,
bind_to_origin="https://app.example.com",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.monitoringEvents.createSdkToken({
vendor_data: "user-42",
allowed_event_categories: ["auth", "session", "gameplay"],
ttl_seconds: 900,
max_uses: 1000,
bind_to_origin: "https://app.example.com",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.MonitoringEvents.CreateSDKToken(ctx, didit.MonitoringEventsCreateSDKTokenParams{
VendorData: "user-42",
AllowedEventCategories: didit.Some([]didit.MonitoringEventsCreateSDKTokenParamsAllowedEventCategories{"auth", "session", "gameplay"}),
TTLSeconds: didit.Int(900),
MaxUses: didit.Int(1000),
BindToOrigin: didit.String("https://app.example.com"),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import java.util.List;
import me.didit.Didit;
import me.didit.types.MonitoringEventsCreateSdkTokenParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.monitoringEvents().createSdkToken(MonitoringEventsCreateSdkTokenParams.builder()
.vendorData("user-42")
.allowedEventCategories(List.of(MonitoringEventsCreateSdkTokenParams.AllowedEventCategories.of("auth"), MonitoringEventsCreateSdkTokenParams.AllowedEventCategories.of("session"), MonitoringEventsCreateSdkTokenParams.AllowedEventCategories.of("gameplay")))
.ttlSeconds(900L)
.maxUses(1000L)
.bindToOrigin("https://app.example.com")
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->monitoringEvents->createSdkToken([
'vendor_data' => 'user-42',
'allowed_event_categories' => ['auth', 'session', 'gameplay'],
'ttl_seconds' => 900,
'max_uses' => 1000,
'bind_to_origin' => 'https://app.example.com',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.monitoring_events.create_sdk_token(
vendor_data: "user-42",
allowed_event_categories: ["auth", "session", "gameplay"],
ttl_seconds: 900,
max_uses: 1000,
bind_to_origin: "https://app.example.com"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.MonitoringEvents.CreateSdkTokenAsync(new MonitoringEventsCreateSdkTokenParams
{
VendorData = "user-42",
AllowedEventCategories = new MonitoringEventsCreateSdkTokenParamsAllowedEventCategories[] { "auth", "session", "gameplay" },
TtlSeconds = 900,
MaxUses = 1000,
BindToOrigin = "https://app.example.com",
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"monitoring_token": "q7ZtR2xKp9VbN4mWc8LdH1sYfJ3gT6uEaQ0oPiXzBkC",
"expires_at": "2026-10-17T09:30:02.481000Z",
"allowed_event_categories": [
"auth",
"session",
"gameplay"
],
"max_uses": 1000,
"bind_to_origin": "https://app.example.com"
}Monitoring-SDK-Token erstellen: Didit Management API
Erstelle mit Didit ein kurzlebiges Gerätetoken für ein Subjekt, damit deine App Monitoring-Events ohne API-Schlüssel senden kann.
curl -X POST 'https://verification.didit.me/v3/events/sdk-token/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"vendor_data": "user-42",
"allowed_event_categories": ["auth", "session", "gameplay"],
"ttl_seconds": 900,
"max_uses": 1000,
"bind_to_origin": "https://app.example.com"
}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.monitoring_events.create_sdk_token(
vendor_data="user-42",
allowed_event_categories=["auth", "session", "gameplay"],
ttl_seconds=900,
max_uses=1000,
bind_to_origin="https://app.example.com",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.monitoringEvents.createSdkToken({
vendor_data: "user-42",
allowed_event_categories: ["auth", "session", "gameplay"],
ttl_seconds: 900,
max_uses: 1000,
bind_to_origin: "https://app.example.com",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.MonitoringEvents.CreateSDKToken(ctx, didit.MonitoringEventsCreateSDKTokenParams{
VendorData: "user-42",
AllowedEventCategories: didit.Some([]didit.MonitoringEventsCreateSDKTokenParamsAllowedEventCategories{"auth", "session", "gameplay"}),
TTLSeconds: didit.Int(900),
MaxUses: didit.Int(1000),
BindToOrigin: didit.String("https://app.example.com"),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import java.util.List;
import me.didit.Didit;
import me.didit.types.MonitoringEventsCreateSdkTokenParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.monitoringEvents().createSdkToken(MonitoringEventsCreateSdkTokenParams.builder()
.vendorData("user-42")
.allowedEventCategories(List.of(MonitoringEventsCreateSdkTokenParams.AllowedEventCategories.of("auth"), MonitoringEventsCreateSdkTokenParams.AllowedEventCategories.of("session"), MonitoringEventsCreateSdkTokenParams.AllowedEventCategories.of("gameplay")))
.ttlSeconds(900L)
.maxUses(1000L)
.bindToOrigin("https://app.example.com")
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->monitoringEvents->createSdkToken([
'vendor_data' => 'user-42',
'allowed_event_categories' => ['auth', 'session', 'gameplay'],
'ttl_seconds' => 900,
'max_uses' => 1000,
'bind_to_origin' => 'https://app.example.com',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.monitoring_events.create_sdk_token(
vendor_data: "user-42",
allowed_event_categories: ["auth", "session", "gameplay"],
ttl_seconds: 900,
max_uses: 1000,
bind_to_origin: "https://app.example.com"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.MonitoringEvents.CreateSdkTokenAsync(new MonitoringEventsCreateSdkTokenParams
{
VendorData = "user-42",
AllowedEventCategories = new MonitoringEventsCreateSdkTokenParamsAllowedEventCategories[] { "auth", "session", "gameplay" },
TtlSeconds = 900,
MaxUses = 1000,
BindToOrigin = "https://app.example.com",
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"monitoring_token": "q7ZtR2xKp9VbN4mWc8LdH1sYfJ3gT6uEaQ0oPiXzBkC",
"expires_at": "2026-10-17T09:30:02.481000Z",
"allowed_event_categories": [
"auth",
"session",
"gameplay"
],
"max_uses": 1000,
"bind_to_origin": "https://app.example.com"
}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.
Body
camelCase-Aliase werden akzeptiert: vendorData, entityType, allowedEventCategories, ttlSeconds, maxUses, bindToOrigin.
Ihre ID für das Subjekt, zu dem jedes mit diesem Berechtigungsnachweis übermittelte Ereignis gehört.
1 - 255company bindet ein Unternehmenssubjekt; jeder andere Wert (Standard individual) bindet eine Einzelperson.
32Kategorien, die der Berechtigungsnachweis übermitteln darf. Weglassen oder [] senden, um jede Kategorie zuzulassen.
auth, session, gameplay, bonus, affiliate, payment, dispute, security, responsible_gambling, custom Gültigkeitsdauer der Anmeldedaten in Sekunden.
60 <= x <= 86400Anzahl der Ereignisse, die die Anmeldedaten übermitteln dürfen (ein Batch verbraucht eine Nutzung pro Ereignis). Senden Sie null für keine Obergrenze innerhalb der Gültigkeitsdauer.
x >= 1Wenn festgelegt, muss der Browser-Origin-Header jeder Geräteanfrage genau diesem Wert entsprechen; eine Anfrage ohne Origin wird abgewiesen.
255Antwort
Der Berechtigungsnachweis wurde ausgestellt. Übergeben Sie monitoring_token an die App und behandeln Sie ihn bis expires_at als Geheimnis.
Das Geräte-Credential (ein 43 Zeichen langes, URL-sicheres Token). Senden Sie es im X-Monitoring-Token-Header.
Wann die Zugangsdaten nicht mehr akzeptiert werden.
Kategorien, die der Berechtigungsnachweis übermitteln darf; [] bedeutet jede Kategorie.
auth, session, gameplay, bonus, affiliate, payment, dispute, security, responsible_gambling, custom Ereignisbudget der Anmeldedaten; null bedeutet keine Begrenzung.
Origin, an den das Credential gebunden ist, oder null.