SDKs de servidor
Los SDKs de servidor envían eventos desde tu backend con la write key
secreta de tu proyecto. Los eventos enviados así son hechos: la
plataforma los marca source=server y verified=true, porque tener la key
secreta es la autenticación. Eso los convierte en el canal correcto para
todo aquello de lo que dependen dinero o mensajería — órdenes, reembolsos,
cambios de suscripción — en lugar de un track('purchase') en el browser
que cualquiera puede falsificar desde la consola.
Son deliberadamente chicos. Sin autocapture, sin session replay, sin
identidad persistida: pasas el distinct_id en cada llamada. Cinco
lenguajes, una especificación compartida —
mismo comportamiento, mismo formato de wire, mismos test vectors, así que lo
que aprendes en uno vale en los otros.
| Lenguaje | Paquete | Estado | Repositorio |
|---|---|---|---|
| PHP | composer require kilden/kilden-php:@alpha |
Alpha | kilden-sdk-php |
| Node.js | npm install @kilden-io/node@alpha |
Alpha | kilden-sdk-node |
| Python | pip install kilden |
Estable | kilden-sdk-python |
| Ruby | gem install kilden |
Estable | kilden-sdk-ruby |
| Go | go get go.kilden.io/sdk@latest |
Alpha | kilden-sdk-go |
Python y Ruby ya publicaron una versión estable; PHP, Node.js y Go todavía no: sus últimas versiones publicadas siguen en alpha.
Eso se traduce en dos mecanismos distintos. PHP y Node.js necesitan que se
nombre el canal alpha explícitamente: sin :@alpha, Composer no resuelve
nada y falla; y un npm install @kilden-io/node pelado toma el dist-tag
latest, que va atrás de la alpha actual. El @latest de Go, en cambio, no
es un selector de prerelease: prefiere la última versión estable y cae en una
prerelease solo porque todavía no hay ninguna, así que ese comando va a
seguir funcionando igual el día que salga una estable.
El core de PHP también alimenta kilden/laravel,
que suma a una app Laravel un facade, envío por queue, una ruta
POST /kilden/identity lista para usar y la directiva de Blade
@kildenScript — el loader del SDK web, ya conectado a la identidad.
La regla clave
Sección titulada «La regla clave»Los SDKs de servidor reciben la key secreta (sk_…), jamás la pública.
El constructor rechaza una key pública de plano. La inversa también vale: la
key secreta jamás debe llegar a un browser ni a un bundle de app — trátala
como la contraseña de tu base de datos. Los SDKs cliente
(web, Expo / React Native) son la imagen
espejo: reciben la key pública y rechazan las secretas. El modelo completo
está en niveles de confianza.
Qué hacen
Sección titulada «Qué hacen»- Eventos —
track,identify,alias, en batch en memoria y entregados en background con retries, gzip y UUIDs idempotentes. Llamas aclose()al apagar; el resto es automático (en PHP-FPM el shutdown hook hace flush después de enviada la respuesta). - Firma de identidad —
IdentitySignerproduce el JWT de vida corta que necesita la verificación de identidad, en tres líneas y sin dependencia de JWT. Es la razón de ser de estos SDKs. - Feature flags —
isEnabled/getFeatureFlagevaluados por Kilden (/decide) con cache in-process de 30 segundos, timeout duro y undefaultque controlas tú, para que tu request path nunca se cuelgue por nosotros.
Empieza por el quickstart: primer evento, identify y un token de identidad firmado en cada lenguaje.