Ir para o conteúdo
FloFi

SDK TypeScript

Pacote privado do workspace

Um cliente de servidor pequeno e sem dependências para a API para desenvolvedores e os webhooks assinados.

Use o SDK do workspace

Disponibilidade do pacoteO SDK é privado neste repositório. A publicação no npm não está autorizada. Use o pacote existente do workspace; não há comando público de instalação no npm.

O guia da API suporta Node 20+ ou um ambiente com fetch e Web Crypto. Para desenvolver neste repositório, use as versões fixadas Node 24.21.0 e pnpm 11.22.0.

Inicialização no servidor · typescript
import { FloFi, FloFiError, verifyWebhook }
  from "@defi-workflow-engine/developer-sdk";

const flofi = new FloFi({
  apiKey: process.env.FLOFI_API_KEY!,
  baseUrl: "https://<your FloFi deployment>",
});

Descubra a implantação primeiro

Capacidades · typescript
const { data } = await flofi.capabilities.list({
  network: "base", action: "bridge",
});
const available = data.filter(row => row.operations.approve.available);

Use o exampleStrategy de uma linha disponível e guarde a estratégia canônica e o hash retornados. Continue no tutorial da API para desenvolvedores. Quem decide as capacidades é o FloFi; o SDK não tem um motor de fluxo alternativo.

Verifique notificações assinadas

Verificação do corpo bruto · typescript
const event = await verifyWebhook({
  payload: rawBody,
  headers: request.headers,
  secret: process.env.FLOFI_WEBHOOK_SECRET!,
});
// Deduplicate event.id before handling.
// Fetch the resource again for its current state.

Verifique o corpo bruto do pedido antes de interpretar ou reserializar. A ordem de entrega não é garantida. Notificações execution.* só são emitidas enquanto o usuário compartilha o status. Notificações não autorizam um fluxo nem mudam o estado financeiro dele.

Trate falhas de forma deliberada

FloFiError traz status, code, reason, requestId, issues e retryAfter. O cliente repete GETs seguros e POSTs com chave depois de erros de rede, 429, 502, 503 e 504, respeitando o Retry-After. Chamadas de criação reaproveitam a chave de idempotência nessas repetições.

Uma incerteza na execução não é motivo para repetir a chamada à API. Siga o limite de recuperação do fluxo financeiro.

Fontes: packages/developer-sdk/README.md · packages/developer-sdk/src/client.ts · docs/developer/WEBHOOKS.md