Pular para o conteúdo

SDKs de servidor

Os SDKs de servidor enviam eventos do seu backend com a write key secreta do seu projeto. Eventos enviados assim são fatos: a plataforma os marca com source=server e verified=true, porque possuir a key secreta é a autenticação. É isso que faz deles o canal certo para tudo de que dinheiro ou mensageria dependem — pedidos, reembolsos, mudanças de assinatura — em vez de um track('purchase') no browser que qualquer um falsifica pelo console.

Eles são deliberadamente pequenos. Sem autocapture, sem session replay, sem identidade persistida: você passa o distinct_id em cada chamada. Cinco linguagens, uma especificação compartilhada — mesmo comportamento, mesmo formato de wire, mesmos test vectors: o que você aprende em um se aplica aos outros.

Linguagem Pacote Status Repositório
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 Estável kilden-sdk-python
Ruby gem install kilden Estável kilden-sdk-ruby
Go go get go.kilden.io/sdk@latest Alpha kilden-sdk-go

Python e Ruby já publicaram uma versão estável; PHP, Node.js e Go ainda não: suas versões publicadas mais recentes continuam em alpha.

Isso se traduz em dois mecanismos diferentes. PHP e Node.js precisam que o canal alpha seja nomeado explicitamente: sem :@alpha, o Composer não resolve nada e falha; e um npm install @kilden-io/node sem sufixo pega a dist-tag latest, que fica atrás da alpha atual. Já o @latest do Go não é um seletor de prerelease: ele prefere a versão estável mais recente e cai numa prerelease só porque ainda não existe nenhuma, então esse comando vai continuar funcionando igual no dia em que sair uma estável.

O core de PHP também alimenta o kilden/laravel, que adiciona a um app Laravel um facade, envio por fila, uma rota POST /kilden/identity pronta e a diretiva Blade @kildenScript — o loader do SDK web, já conectado à identidade.

SDKs de servidor recebem a key secreta (sk_…), nunca a pública. O construtor rejeita uma key pública de imediato. O inverso também vale: a key secreta nunca deve chegar a um navegador nem a um bundle de app — trate-a como a senha do seu banco de dados. Os SDKs cliente (web, Expo / React Native) são a imagem espelhada: recebem a key pública e rejeitam as secretas. O modelo completo está em níveis de confiança.

  • Eventostrack, identify, alias, em lote na memória e entregues em background com retries, gzip e UUIDs idempotentes. Você chama close() no shutdown; o resto é automático (no PHP-FPM o shutdown hook faz o flush depois da resposta enviada).
  • Assinatura de identidade — o IdentitySigner produz o JWT de vida curta que a verificação de identidade precisa, em três linhas, sem dependência de JWT. É a razão de ser destes SDKs.
  • Feature flagsisEnabled / getFeatureFlag avaliados pela Kilden (/decide) com cache in-process de 30 segundos, timeout duro e um default que você controla, para o seu request path nunca travar por nossa causa.

Comece pelo quickstart: primeiro evento, identify e um token de identidade assinado em cada linguagem.