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
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
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()einenTypeError.Code für Schritt 2 der Einrichtung mit Node.js: Geheimen Schlüssel eintragen. MIRAFIVE_SECRET_KEY=mf_…
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 beiSIGTERMherunter, ein Skript wartet aufmira.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) })
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}` }, )
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 einemMiraError. 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?
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?
waitUntil aus @vercel/functions an new Mira(). Jede Zustellung geht daran, die Funktion lebt also, bis der Batch gesendet ist.Werfen fehlgeschlagene Zustellungen Fehler?
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.