Bestellungen aus jedem PHP-Backend melden
Ein Client sendet Ihre Server-Events am Ende der Anfrage, ein Idempotenzschlüssel lässt einen doppelten Webhook einmal zählen.
Paket mirafive/sdk-php
In 5 Schritten eingerichtet
Paket installieren
Es setzt PHP 8.3 mit
ext-jsonvoraus und braucht kein weiteres Composer-Paket. Gesendet wird mitext-curl, sonst über PHP-Streams oder Ihren eigenen PSR-18-Client.Code für Schritt 1 der Einrichtung mit PHP: Paket installieren. composer require mirafive/sdk-php
Geheimen Schlüssel eintragen
Nehmen Sie den geheimen Schlüssel einer Server-Quelle aus Daten → Quellen. Er bleibt auf dem Server und gehört nie in HTML, JavaScript oder eine App.
Code für Schritt 2 der Einrichtung mit PHP: Geheimen Schlüssel eintragen. MIRAFIVE_SECRET_KEY=mf_…
Einen Client anlegen
new Miraliest den Schlüssel aus$_ENV,$_SERVERodergetenv().track()puffert; gesendet wird am Ende der Anfrage, alle 100 Events und beiflush(). Ein Flush dauert nie länger als 3 Sekunden.Code für Schritt 3 der Einrichtung mit PHP: Einen Client anlegen. <?php declare(strict_types=1); use MiraFive\Mira; require __DIR__.'/vendor/autoload.php'; // Liest MIRAFIVE_SECRET_KEY und, falls gesetzt, MIRAFIVE_HOST. $mira = new Mira;
Bestellung melden
Rufen Sie
track()mit benannten Argumenten dort auf, wo die Zahlung bestätigt wird. IDs sind Strings, Integer-IDs wandeln Sie mit(string)um.Code für Schritt 4 der Einrichtung mit PHP: Bestellung melden. $mira->track('order_paid', userId: (string) $order->customerId, properties: [ 'revenue' => 328, 'currency' => 'EUR', ]);
Schlüssel prüfen
Das Test-Event zeigt, dass Schlüssel und Host funktionieren, und wird weder gespeichert noch berechnet. Ein falscher Schlüssel wirft einen
MiraError. Danach finden Sie ein echtes Event unter Daten → Live.Code für Schritt 5 der Einrichtung mit PHP: Schlüssel prüfen. $receipt = $mira->send([['name' => '$install_check']]); var_dump($receipt->reason); // string(13) "install_check"
MIRA FIVE ist Analyse rund um die Person. mirafive/sdk-php ist die Server-Seite für reines PHP und für Frameworks
ohne eigenes MIRA-FIVE-Paket: Es puffert Events, sendet sie am Ende der Anfrage und wertet
Feature-Flags in Ihrem Prozess aus. Unter PHP-FPM übergeben Sie einen PSR-16-Cache
(new Mira(cache: $psr16Cache)), damit sich alle Prozesse Flags und Sendepausen teilen.
Woher kommen die Pageviews?
Aus dem Browser. Das zweizeilige Script-Tag mit dem Website-Schlüssel einer Website-Quelle gehört in Ihre Templates. Beide Quellen melden in dasselbe Projekt, der geheime Schlüssel erreicht nie eine Seite.
Wie kommt eine Bestellung zu ihrem Kanal?
Über die Person. Mit Einwilligung führt der Browser eine Kennung. Schicken Sie sie an Ihren Server, etwa in einem
versteckten Feld des Checkout-Formulars, und identify verknüpft die früheren Besuche mit Ihrer Nutzer-ID:
$mira->identify((string) $user->id, ['plan' => 'pro'], anonymousId: $anonymousId);Die Bestellung trägt dieselbe ID und landet bei dieser Person, neben dem Kanal ihres ersten Besuchs. Nehmen Sie Ihre
interne ID, nie die E-Mail-Adresse. Mit einem Kaufziel auf order_paid zeigt Herkunft Käufer und Umsatz je Kanal.
Wie zählt ein Webhook nur einmal?
Mit send() und einem Idempotenzschlüssel. Die Methode sendet sofort und gibt den Receipt des Servers zurück:
$receipt = $mira->send([
['name' => 'order_paid', 'userId' => (string) $order->customerId, 'properties' => ['revenue' => 328, 'currency' => 'EUR']],
], idempotencyKey: "order-{$order->id}");send() wirft einen MiraError, wenn MIRA FIVE den Batch ablehnt. track() und flush() werfen bei
Netzproblemen nie.
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. Queues und Transports beschreibt die Dokumentation, die Aufgabenteilung die Einrichtungsseite.
Andere Einrichtungen
Dieselben Zahlen, egal wie Ihre Website gebaut ist.
Fragen und Antworten
Was passiert, wenn MIRA FIVE nicht erreichbar ist?
cache gilt die Pause für alle PHP-Prozesse.Und in Octane, RoadRunner oder Queue-Workern?
$mira->flush() nach jeder Anfrage oder jedem Job auf.Wie bleiben Tests und lokale Läufe still?
new Mira(enabled: getenv('APP_ENV') === 'production') sendet nichts und braucht keinen Schlüssel, weist aber dieselben Eingaben ab wie in Produktion.Gilt das auch für Laravel und Symfony?
mirafive/sdk-laravel oder mirafive/sdk-symfony, siehe Einrichtung für Laravel und für Symfony.Sehen Sie, welcher Kanal Käufer bringt
Kostenlos bis 25.000 Events im Monat. Ohne Kreditkarte.