Ir al contenido

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 Repositorio
PHP composer require kilden/kilden-php kilden-sdk-php
Node.js npm install @kilden-io/node kilden-sdk-node
Python pip install kilden kilden-sdk-python
Ruby gem install kilden --pre kilden-sdk-ruby
Go go get go.kilden.io/sdk kilden-sdk-go

El core de PHP también alimenta kilden/laravel, que suma a una app Laravel un facade, envío por queue y una ruta POST /kilden/identity lista para usar.

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 — trátala como la contraseña de tu base de datos. El modelo completo está en niveles de confianza.

  • Eventostrack, identify, alias, en batch en memoria y entregados en background con retries, gzip y UUIDs idempotentes. Llamas a close() al apagar; el resto es automático (en PHP-FPM el shutdown hook hace flush después de enviada la respuesta).
  • Firma de identidadIdentitySigner produce 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 flagsisEnabled / getFeatureFlag evaluados por Kilden (/decide) con cache in-process de 30 segundos, timeout duro y un default que 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.