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"
}API Share Session: generar token para compartir
POST /v3/session//share/ de Didit genera un token temporal para KYC o KYB reutilizable. Firmado con JWT, listo para partners, pago por uso.
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"
}Compatibilidad con KYC y KYB
Funciona tanto con sesiones de Verificación de usuario (KYC) como de Verificación de empresas (KYB). Didit busca elsession_id en ambos tipos de sesión y genera un token JWT para compartir que incluye:
{
"session_id": "...",
"session_kind": "user" | "business",
"from_application_id": "...",
"for_application_id": "...",
"iat": ...,
"exp": ...
}
Requisitos
- La sesión debe estar en un estado finalizado (
APPROVED,DECLINED,IN_REVIEW). - Debes tener el privilegio
write:sessions. - El
for_application_iddebe ser una aplicación de Didit válida (normalmente, la aplicación de un socio).
Ejemplos
- Compartir una sesión de verificación de usuario (KYC)
- Compartir una sesión de verificación de empresas (KYB)
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"
}
Límites del TTL
| Parámetro | Mínimo | Máximo | Predeterminado |
|---|---|---|---|
ttl_in_seconds | 60 | 86400 | 3600 |
Contenido relacionado
Autorizaciones
La clave de API de tu aplicación, que encontrarás en Developers -> API keys en la Business Console. La clave principal tiene acceso completo. Una clave con nombre puede tener un alcance limitado: ninguno, lectura o escritura por recurso, limitada a algunos flujos o a sesiones aprobadas, a una lista de direcciones IP y a una fecha de caducidad. 401 significa que la clave es incorrecta, se revocó o expiró; 403 significa que no se envió ninguna clave, que la clave no tiene acceso a este recurso o acción, o que la solicitud provino de una dirección fuera de su lista de IP; 404 en una ruta de sesión significa que la sesión está fuera de los flujos o estados de la clave. Una clave sin acceso a contenido multimedia recibe las URL de imágenes, videos y PDF como null, y una clave sin permiso de escritura en sesiones recibe los enlaces y tokens de sesión como null. Consulta https://docs.didit.me/console/api-keys.
Parámetros de ruta
UUID de la sesión de verificación de origen para la que se emite un token.
"11111111-2222-3333-4444-555555555555"
Cuerpo
UUID de la aplicación de Didit que canjeará el token. Debe existir, no debe estar eliminada y debe ser distinta de la aplicación que hace la llamada. Encuéntralo en la Business Console, en Settings → Application.
"a5f3bca2-46e2-411e-90ef-a580900a57ee"
Duración del token, en segundos. Mínimo 60, máximo 86400 (24 h). Valor predeterminado: 3600 (1 h).
60 <= x <= 864003600
Respuesta
Token para compartir generado.
JWT firmado con HS256. Pásalo tal cual como share_token a POST /v3/session/import-shared/ en la aplicación de destino.
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
Devuelve el UUID de la aplicación de destino a la que está vinculado el token.
"a5f3bca2-46e2-411e-90ef-a580900a57ee"
Si la sesión de origen es una sesión de Verificación de usuarios (KYC) o de Verificación de empresas (KYB).
user, business