Pular para o conteúdo principal

Instalar um SDK

Escolha o SDK do seu runtime. Cada um envia eventos ao mesmo endpoint de ingestão e avalia feature flags localmente a partir das mesmas regras, então o usuário cai no mesmo rollout qualquer que seja sua escolha.

A chave destes trechos vem do console: Obtenha uma chave de API

At a glance

Packages
@prodantix/sdk (web), prodantix_sdk (Dart), prodantix_sdk_flutter (Flutter), prodantix-sdk (Python)
Ingest host
https://eu.api.prodantix.com
Flags host
https://api.prodantix.com
Credentials
Public project key in the client, access token for GraphQL
Verify
Read the event back from the events query
Bash
bun add @prodantix/sdk

# Apps React também levam o adaptador:
bun add @prodantix/react
JavaScript
import { createWebClient } from '@prodantix/sdk/web';

const prodantix = createWebClient({
  apiKey: PRODANTIX_PUBLIC_KEY,
  host: 'https://eu.api.prodantix.com',
  flagsHost: 'https://api.prodantix.com',
});

prodantix.capture('order.completed', { properties: { amount: 4200 } });
JavaScript
import { ProdantixProvider, useProdantix } from '@prodantix/react';

<ProdantixProvider options={{ apiKey: PRODANTIX_PUBLIC_KEY, host: 'https://eu.api.prodantix.com' }}>
  <App />
</ProdantixProvider>

const prodantix = useProdantix();
prodantix?.capture('order.completed');

Flutter e Dart

Bash
flutter pub add prodantix_sdk_flutter

# Servidor Dart ou CLI, sem a camada Flutter:
dart pub add prodantix_sdk

Servidor Python

Bash
pip install prodantix-sdk

Sua chave de projeto é pública: ela nomeia o projeto, não concede acesso aos seus dados, então pertence ao código do cliente. Uma chave de servidor, que pode escrever, nunca pertence.

Confirme que chegou

Ingestion answers 202 as soon as the batch is accepted. To see the event itself, read it back from the events query, or watch it arrive on the realtime project room.

Bash
curl "https://api.prodantix.com/graphql" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query":"{ events(projectId: \"p_1\", limit: 5) { name receivedAt } }"}'