WordPress-Formular-Eingaben direkt in Access verfügbar machen: Mein Weg über Webhooks & REST-API

Warum das Ganze?

Du willst Formulareingaben aus WordPress nicht per E-Mail oder CSV.
Du willst sie direkt in Access verarbeiten.

Geht.
Mit Webhooks, REST und VBA.

Ich zeig Dir meinen Weg.

Grundidee

  • WordPress-Formular (z. B. WPForms, Gravity, Formidable)
  • Webhook schickt JSON an lokalen API-Endpunkt
  • Access holt sich die Daten zyklisch oder on-demand
  • Daten landen direkt in einer Tabelle

Voraussetzungen

  • Formular-Plugin mit Webhook-Support
  • Lokaler Webserver oder Script-Receiver (z. B. PowerShell, PHP, Flask)
  • Access-DB mit JSON-Verarbeitung
  • VBA für automatisierten Import

Schritt 1: Webhook in WordPress aktivieren

In WPForms:
→ Einstellungen → Marketing → Webhooks aktivieren

Ziel-URL:

http://dein-pc-im-netzwerk:5000/input  

Payload als JSON. Beispiel:

{
  "name": "Max Mustermann",
  "email": "max@example.com",
  "nachricht": "Bitte Angebot zusenden"
}

Schritt 2: Lokalen API-Endpunkt einrichten (Beispiel Flask)

from flask import Flask, request
import json

app = Flask(__name__)

@app.route('/input', methods=['POST'])
def receive_data():
    data = request.json
    with open("form_input.json", "a") as f:
        json.dump(data, f)
        f.write("\n")
    return "OK", 200

app.run(host='0.0.0.0', port=5000)

Alternativen: PowerShell mit IIS, PHP auf XAMPP

Schritt 3: JSON-Daten in Access einlesen

VBA-Funktion zum Einlesen und Schreiben

Public Sub ImportWebhookData()
    Dim fso As Object, ts As Object
    Dim sPath As String, sLine As String
    Dim json As Object
    Dim db As DAO.Database

    Set fso = CreateObject("Scripting.FileSystemObject")
    sPath = CurrentProject.Path & "\form_input.json"
    
    If Not fso.FileExists(sPath) Then Exit Sub
    
    Set ts = fso.OpenTextFile(sPath, 1)
    Set db = CurrentDb

    Do Until ts.AtEndOfStream
        sLine = ts.ReadLine
        Set json = JsonConverter.ParseJson(sLine)

        db.Execute "INSERT INTO tbl_Formulare (Name, Email, Nachricht) VALUES (" & _
            "'" & json("name") & "', " & _
            "'" & json("email") & "', " & _
            "'" & Replace(json("nachricht"), "'", "''") & "')"
    Loop

    ts.Close
    Set ts = Nothing
    Kill sPath
End Sub

JsonConverter z. B. von VBA-JSON (Tim Hall) erforderlich

Schritt 4: Automatisieren

Du kannst die ImportWebhookData-Funktion regelmäßig starten:

  • beim Start der Access-Anwendung
  • als Button im Menü
  • über Aufgabenplanung + AutoExec-Makro

Vorteil gegenüber CSV & Co.

  • Echtzeitfähig
  • Kein manueller Export/Import
  • Beliebig erweiterbar mit Logik (z. B. Duplikatprüfung)

Mögliche Erweiterungen

  • Rückmeldung per API an WordPress
  • Logging aller Formulareingaben
  • Verbindung zu bestehenden Kundenstammdaten
  • Automatische E-Mail-Benachrichtigung bei bestimmten Feldern

Du willst Formular-Daten nicht mehr „rüberschubsen“ – sondern direkt nutzen?

Dann meld Dich bei mir.
Ich helfe Dir beim Aufbau einer echten WordPress-Access-Integration.

Kategorien:

Keine Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert