Jede bezahlte Bestellung genau einmal zählen

Ein Server-Client meldet Ihre Bestellungen aus jeder JavaScript-Laufzeit, ein Idempotenzschlüssel lässt einen doppelten Webhook einmal zählen.

Paket @mirafive/sdk-server

In 5 Schritten eingerichtet

  1. Paket installieren

    Es läuft auf Node.js 20 oder neuer, Bun, Deno und Cloudflare Workers, ist reines ESM und hat keine Laufzeit-Abhängigkeiten. In Deno: deno add npm:@mirafive/sdk-server.

    Code für Schritt 1 der Einrichtung mit Node.js: Paket installieren. npm install @mirafive/sdk-server

  2. Geheimen Schlüssel eintragen

    Nehmen Sie den geheimen Schlüssel einer Server-Quelle aus Daten → Quellen. Das Paket liest keine Umgebungsvariablen selbst, Sie übergeben den Schlüssel. Im Browser wirft new Mira() einen TypeError.

    Code für Schritt 2 der Einrichtung mit Node.js: Geheimen Schlüssel eintragen. MIRAFIVE_SECRET_KEY=mf_…

  3. Einen Client pro Prozess anlegen

    track() puffert, ein Batch geht nach 1 Sekunde oder bei 100 Events raus. Endet der Prozess früher, ist der Puffer verloren. Ein Server fährt den Client daher bei SIGTERM herunter, ein Skript wartet auf mira.flush().

    Code für Schritt 3 der Einrichtung mit Node.js: Einen Client pro Prozess anlegen. import { Mira } from '@mirafive/sdk-server' export const mira = new Mira({ key: process.env.MIRAFIVE_SECRET_KEY, host: process.env.MIRAFIVE_HOST, }) process.on('SIGTERM', async () => { await mira.shutdown() process.exit(0) })

  4. Bestellung aus dem Webhook melden

    Zahlungs-Webhooks kommen manchmal doppelt. send() sendet sofort und liefert den Beleg des Servers; mit einem Idempotenzschlüssel wird eine Wiederholung einmal gespeichert und berechnet.

    Code für Schritt 4 der Einrichtung mit Node.js: Bestellung aus dem Webhook melden. import { mira } from './mira' // Im Webhook, der die Zahlung bestätigt await mira.send( [{ name: 'order_paid', userId: order.customerId, properties: { revenue: 328, currency: 'EUR' } }], { idempotencyKey: `order-${order.id}` }, )

  5. Schlüssel prüfen

    Das Test-Event zeigt, dass Schlüssel und Host funktionieren, und wird weder gespeichert noch berechnet. Der Beleg nennt den Grund install_check, ein falscher Schlüssel führt zu einem MiraError. Danach finden Sie ein echtes Event unter Daten → Live.

    Code für Schritt 5 der Einrichtung mit Node.js: Schlüssel prüfen. import { Mira } from '@mirafive/sdk-server' const mira = new Mira({ key: process.env.MIRAFIVE_SECRET_KEY }) console.log(await mira.send([{ name: '$install_check' }]))

MIRA FIVE ist Analyse rund um die Person. @mirafive/sdk-server ist die Server-Seite für Node.js, Bun, Deno, Cloudflare Workers und Vercel Functions: Es puffert Events, wiederholt fehlgeschlagene Zustellungen und wertet Feature-Flags in Ihrem Prozess aus. Die Pakete für Next.js, TanStack Start, Nuxt und Astro bauen darauf auf.

Wie kommt eine Bestellung zu ihrem Kanal?

Über die Person. Server-Events gehen standardmäßig im vollen Modus raus und tragen die IDs, die Sie übergeben; die Rechtsgrundlage dafür liegt bei Ihrer Website. Mit Einwilligung führt der Browser eine Kennung. Schicken Sie sie nach Registrierung oder Anmeldung an den Server, und identify verknüpft die früheren Events mit Ihrer Nutzer-ID:

mira.identify(user.id, { plan: user.plan }, { anonymousId })

Die Bestellung trägt dieselbe userId, Ihre eigene pseudonyme ID, nie eine E-Mail-Adresse. Mit einem Kaufziel auf order_paid zeigt Herkunft Käufer und Umsatz je Kanal und Kampagne.

Wann track, wann send?

track() für alles, was eine Sekunde warten darf. Es puffert und wirft bei Netzproblemen nie:

mira.track('order_paid', {
  userId: order.customerId,
  properties: { revenue: 328, currency: 'EUR' },
})

send() für Webhooks und Jobs. Die Batch-ID leitet sich aus dem Idempotenzschlüssel ab, jedes MIRA-FIVE-SDK bildet denselben Schlüssel auf denselben Batch ab, und der Server merkt sich eine Batch-ID einen Tag lang. Zählen Sie ganz ohne IDs, setzen Sie mode: 'consentless'.

Im Tab Einbauen der Quelle steht Von Ihrem Coding-Agent einbauen lassen: ein Prompt für Claude Code, Cursor oder Codex mit allen Schritten und der Prüfung, nie mit dem geheimen Schlüssel. Jede Laufzeit beschreibt die Dokumentation, die Aufgabenteilung die Einrichtungsseite.

Andere Einrichtungen

Dieselben Zahlen, egal wie Ihre Website gebaut ist.

Fragen und Antworten

Wie kommen Events aus Cloudflare Workers sicher raus?
Mit einem Client pro Isolate und ctx.waitUntil(mira.flush()) in jeder Anfrage. Den Schlüssel legen Sie mit npx wrangler secret put MIRAFIVE_SECRET_KEY ab.
Und in Vercel Functions?
Übergeben Sie waitUntil aus @vercel/functions an new Mira(). Jede Zustellung geht daran, die Funktion lebt also, bis der Batch gesendet ist.
Werfen fehlgeschlagene Zustellungen Fehler?
Nein. track(), identify() und flush() melden Fehler an onError, standardmäßig console.warn. Nur send() wirft einen MiraError, der sagt, ob sich ein neuer Versuch lohnt.

Sehen Sie, welcher Kanal Käufer bringt

Kostenlos bis 25.000 Events im Monat. Ohne Kreditkarte.