Aller au contenu

SDKs serveur : démarrage rapide

Tout ce qui suit utilise votre write key secrète (paramètres du projet → API keys). Gardez-la dans une variable d’environnement ; elle ne doit jamais atteindre un navigateur.

Terminal window
composer require kilden/kilden-php
$kilden = new Kilden\Client(getenv('KILDEN_SECRET_KEY'));
$kilden->track('user_42', 'order_completed', [
'revenue' => 99.9,
'currency' => 'CLP',
]);

Les événements sont mis en file en mémoire et envoyés par lots. Appelez close() à l’arrêt du processus (en PHP, Laravel, FPM et les shutdown hooks s’en chargent ; en Go utilisez defer client.Close()) ; ce qui reste en file au-delà d’un délai de 10 secondes est abandonné plutôt que de bloquer votre processus.

identify fait un upsert des traits de la personne. Le distinct_id est explicite à chaque appel — les SDKs serveur ne gardent aucun état d’identité.

$kilden->identify('user_42', ['plan' => 'pro', 'email' => '[email protected]']);

La vérification d’identité exige que votre backend signe un JWT de courte durée pour l’utilisateur connecté. IdentitySigner le fait sans bibliothèque JWT — et votre endpoint tient en trois lignes. Ne signez jamais qu’un id que votre backend a authentifié : signer un user id tiré de l’input de la requête permet à n’importe qui de se faire passer pour n’importe qui, avec en prime le sceau « vérifié ».

$signer = new Kilden\IdentitySigner(getenv('KILDEN_IDENTITY_SECRET'), ['kid' => 'k1']);
$token = $signer->sign($user->id, [
'traits' => ['plan' => $user->plan],
]);

Vous utilisez Laravel ? kilden/laravel fournit une route POST /kilden/identity publiable derrière votre middleware d’auth — aucun code à écrire.

Le plugin WordPress expose la même chose sur /wp-json/kilden/v1/identity, cache-safe par construction.

isEnabled(flag_key, distinct_id, { person_properties?, default? })
getFeatureFlag(flag_key, distinct_id, { person_properties?, default? })

Évalués par Kilden côté serveur, mis en cache in-process 30 secondes par distinct_id, une tentative avec un timeout strict, puis votre default. La sémantique complète est dans le guide des feature flags.