api-referencePOST

Automatisches Tracking verfuegbar

Wenn Sie Stripe, LemonSqueezy oder Polar verwenden, benoetigen Sie diesen Endpunkt nicht. Zahlungen werden automatisch verfolgt, wenn Ihr Zahlungsanbieter verbunden ist.
POSThttps://analytics.flowsery.com/analytics/api/v1/payments

Erfasst eine Zahlung und ordnet den Umsatz zu. amount ist Pflicht; senden Sie transactionId und visitorUid oder sessionUid, wenn vorhanden.

Bearer-Token (Workspace-Token oder Website-API-Schlüssel)

Workspace-Tokens benötigen einen Website-Selektor

Workspace-API-Tokens können auf jede Website im Workspace zugreifen. Übergeben Sie entweder <code>websiteId</code> oder <code>domain</code>, damit Flowsery weiß, welche Website abgefragt oder geändert werden muss. Website-API-Schlüssel sind bereits auf eine Website beschränkt, sodass der Selektor weggelassen werden kann.

Website-Auswahl

ParameterTypBeschreibung
websiteIdstringWebsite-ID zur Verwendung mit einem Workspace-API-Token. Fügen Sie dieses Feld in den JSON-Text ein, es sei denn, Sie geben domain an. Bei der Authentifizierung mit einem Website-API-Schlüssel weglassen.
domainstringWebsite domain zur Verwendung mit einem Workspace-API-Token, wenn websiteId nicht bereitgestellt wird. Fügen Sie dieses Feld in den JSON-Text ein. Bei der Authentifizierung mit einem Website-API-Schlüssel weglassen.

Anfrage-Body

ParameterTypBeschreibung
amountERFORDERLICHnumberPflicht. Betrag in Währungshaupteinheiten, z. B. 29.99. Mit isRefund der erstattete Betrag. 0 erfasst ein free_trial-Ziel statt eines payment-Ziels.
currencystringISO-4217-Code wie "USD", "EUR" oder "GBP". Fehlt er, gilt "USD", nicht die Währung der Website.
transactionIdstringIhre eigene Zahlungs-ID. Sie muss eindeutig sein: Eine wiederholte ID wird mit 409 Conflict abgelehnt, nicht dedupliziert. Senden Sie sie mit isRefund erneut, um die Zahlung als erstattet zu markieren, und nutzen Sie sie später zum Löschen.
visitorUidstringOptionale Flowsery Besucher-ID, die normalerweise aus dem _fs_vid-Cookie in Ihrem eigenen Backend stammt.
sessionUidstringOptionale Flowsery-Sitzungs-ID, die normalerweise aus dem _fs_sid-Cookie stammt.
emailstringE-Mail-Adresse des Kunden.
namestringName des Kunden.
customerIdstringKunden-ID von Ihrem Zahlungsanbieter.
isRenewalbooleanAuf true für wiederkehrende Zahlungen. Verlängerungen zählen zum Umsatz, erfassen aber kein automatisches payment-Ziel. Standard: false.
isRefundbooleanAuf true, um eine Erstattung zu erfassen. Mit einer vorhandenen transactionId wird der Erstattungsbetrag dieser Zahlung aktualisiert, statt einen Datensatz anzulegen. Standard: false.
timestampstringISO-8601-Zeitpunkt der Zahlung, zum Nachtragen. Standard: jetzt.

Die Erfolgsnutzlast enthält nur eine Bestätigungsnachricht.

Fehler

Eine Anfrage ohne amount liefert 400 Bad Request. Eine transactionId, die für diese Website bereits erfasst ist, liefert 409 Conflict, außer isRefund ist true.
Beispielanfrage (Node.js)
const handler = async (req, res) => {
  const _fs_vid = req.cookies._fs_vid;
  const _fs_sid = req.cookies._fs_sid;

  const response = await fetch(
    "https://analytics.flowsery.com/analytics/api/v1/payments",
    {
      method: "POST",
      headers: {
        Authorization: `Bearer ${FLOWSERY_API_KEY}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        websiteId: process.env.FLOWSERY_WEBSITE_ID,
        amount: 29.99,
        currency: "USD",
        transactionId: "payment_456",
        visitorUid: _fs_vid,
        sessionUid: _fs_sid,
        email: "buyer@example.com",
      }),
    }
  );

  res.status(200).send("Payment tracked");
};
200
{
  "status": "success",
  "data": [{
    "message": "Payment recorded successfully"
  }]
}