MemberPress Entwickler-Tools Add-on erweitert MemberPress um eine vollständige REST-API und vollständige Webhook-Ereignisfähigkeit.
Falls Ihnen die Dokumentation auf dieser Seite zum Thema Entwicklertools etwas knapp erscheint, liegt das daran, dass die gesamte Dokumentation zu den Webhook-Ereignissen und den REST-API-URLs in der Benutzeroberfläche des Plugins zu finden ist. Die Benutzeroberfläche liefert Ihnen tatsächlich dynamische Ergebnisse, auf deren Grundlage Sie arbeiten können, und bietet Ihnen die Möglichkeit, Webhooks direkt von Ihrer Website aus zu testen. Weitere Informationen finden Sie außerdem in den folgenden zusätzlichen Dokumenten:
- Entwickler-Tools-Aktionen
- Entwicklertools Ereignisauslöser
- Hinzufügen von Usermeta über REST API (Entwickler-Tools)
Der Einstieg könnte nicht einfacher sein … So geht’s
- Stellen Sie sicher, dass Ihr MemberPress-Aktivierungsschlüssel für die MemberPress Skalierte Ausgabe.
- Um das MemberPress Developer Tools Add-on zu installieren, gehen Sie auf die Seite MemberPress > Add-ons, und klicken Sie auf die Schaltfläche "Add-on installieren".

- Um die MemberPress-REST-API nutzen zu können, benötigen Sie WordPress 4.7 oder höher.
- Sobald das Add-on Developer Tools installiert und aktiviert ist, sollten Sie einen neuen Eintrag in Ihrem MemberPress-Menü sehen:

- Über das Entwicklermenü können Sie nun Webhooks einrichten, dynamische Dokumentationen zu Webhook-Ereignissen einsehen und diese testen sowie dynamische Dokumentationen zu allen MemberPress-REST-API-URLs einsehen:



Beispiel PHP cURL Code
Dieses Beispiel fügt ein Mitglied hinzu, ordnet es einer Mitgliedschaft zu (über eine Transaktion) und löst dabei eine Willkommens-E-Mail aus:
'testingboy897@test.com',
'username' => 'testingboy897@test.com',
'vorname' => 'test',
'nachname' => 'test_nachname',
'send_welcome_email' => true, // Auslösen einer Willkommens-E-Mail - dies funktioniert nur, wenn eine Transaktion hinzugefügt wird (siehe unten)
'Transaktion' => [
'membership' => 376, // ID der Mitgliedschaft
'Betrag' => '0.00',
'gesamt' => '0.00',
'tax_amount' => '0.00',
'steuer_satz' => '0.000',
'trans_num' => 'mp-txn-' . uniqid(),
'status' => 'complete',
'gateway' => 'frei',
'created_at' => gmdate( 'c' ),
'expires_at' => '0000-00-00 00:00:00'
]
]
);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, "POST" );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $data_string );
$header = array();
$header[] = 'MEMBERPRESS-API-KEY: MgCUGSO5Qg'; // Ihr API-KEY von MemberPress Developer Tools hier
$header[] = 'Inhalt-Typ: application/json';
$header[] = 'Inhalts-Länge: ' . strlen($data_string);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$response = curl_exec($ch);
if(curl_errno($ch)){
throw new Exception(curl_error($ch));
}
echo $response;
curl_close($ch);
Webhook-Schlüssel
Seit MemberPress Developer Tools Add-on 1.2.5 haben wir eine Webhook-Schlüssel-Einstellung eingeführt, die Sie im MemberPress-Menü > Entwickler > Registerkarte Webhook finden.

Sie können den Schlüssel verwenden, um Webhook-POST-Anfragen zu authentifizieren. Er wird automatisch vom MemberPress-Add-on generiert, aber wenn Sie glauben, dass Ihr Schlüssel kompromittiert wurde, können Sie jederzeit einen neuen Webhook-Schlüssel generieren.
Um die Webhook-Anfrage zu validieren, rufen Sie die HTTP-Header ab und suchen Sie nach „memberpress-webhook-key“. Hier ist ein Beispiel für einen HTTP-Header mit „memberpress-webhook-key“, der empfangen wurde, nachdem eine neue Webhook-URL im MemberPress-Menü unter „Entwickler“ > Registerkarte „Webhook“ erstellt wurde und auf Anmeldeereignisse gewartet wurde:

Fehlerbehebung bei der Basisauthentifizierung
Die bevorzugte Methode zur Authentifizierung ist der API-Schlüssel, der von MemberPress Developer Tools bereitgestellt wird. Wir wissen jedoch, dass viele von Ihnen auch die weniger sichere Methode der Basis-Authentifizierung verwenden, um sich mit der WP-API zu verbinden. Dies kann jedoch ein paar Herausforderungen mit sich bringen, bei denen Ihnen die folgenden Informationen helfen können.
Wenn Sie Probleme haben, die Basisauthentifizierung zum Laufen zu bringen, stellen Sie sicher, dass Sie
das Plugin für Anwendungskennwörter installiert und befolgte dessen Anweisungen.
Eine typische Basic Auth-Anfrage sieht wie folgt aus:
Name der Überschrift:
Autorisierung
Kopfzeile Wert:
Basic base64_encode( wp_admin_user_login_here:application_passwords_password_here )
Ihr Benutzer sollte die
remove_users Fähigkeit, oder MemberPress Developer Tools gibt eine 401-Antwort zurück.

Sollte die Authentifizierung weiterhin nicht möglich sein, liegen möglicherweise Konfigurationsprobleme auf Ihrem Hosting-Server vor.
Lesen Sie hier mehr über die häufigste Ursache. Für das Plugin „Application Passwords“ müssen die Variablen PHP_AUTH_USER und PHP_AUTH_PW gesetzt sein. Sind sie nicht gesetzt, kann „Application Passwords“ den Benutzer nicht authentifizieren, und Sie müssen sich an Ihren Webhost wenden, um das Problem zu beheben. In der Regel muss dazu etwa folgender Eintrag in die .htaccess-Datei aufgenommen werden:
SetEnvIf Autorisierung "(.*)" HTTP_AUTHORIZATION=$1
Wenn alles andere fehlschlägt, ist es am besten, einfach den API-Schlüssel in der
MEMBERPRESS-API-KEY HTTP-Anfrage-Header zu verwenden. Nachstehend finden Sie einen Beispielcode mit dem API-Schlüssel und PHP cURL:
<?php
$url = 'http://testsite.com/wp-json/mp/v1/me';
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$headers = [ 'MEMBERPRESS-API-KEY: MdCUPSO5Qr', 'Content-Type: application/json' ];
curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers );
$response = curl_exec( $ch );
if( curl_errno( $ch ) ) { throw new Exception( curl_error( $ch ) ); }
curl_close($ch);
echo $response;
Fehlerbehebung bei Webhooks
Wenn Ihre Test-Webhooks funktionieren, aber Ihre Live-Tests nicht ausgelöst werden, dann ist WP Cron höchstwahrscheinlich deaktiviert oder funktioniert nicht so, wie es sollte. Die MemberPress-Entwickler-Tools verlassen sich auf WP Cron, um die Webhooks zu senden.
In diesem Fall ist es am einfachsten, die Tabelle wp_mepr_jobs in Ihrer Datenbank zu überprüfen, um zu sehen, ob die Webhook-Aufträge dort mit dem Status "pending" hängen bleiben.
Wenn möglich, empfehlen wir, WP Cron für das Laden von Seiten zu deaktivieren und stattdessen einen serverseitigen Cron auszulösen, der jede Minute läuft. SiteGround hat einen großartigen Artikel über
dies hier zu tun. Und WordPress.org hat einige zusätzliche Informationen hier. Leider können wir Ihnen dabei nicht weiterhelfen; Ihr Webhost muss Ihnen bei der Einrichtung behilflich sein.
Wenn Sie WP Cron auch nach der Aktivierung eines serverseitigen Cron-Jobs nicht ordnungsgemäß zum Laufen bringen können, müssen Sie möglicherweise (als letzten Ausweg) die folgende Abfrage ausführen:
UPDATE wp_options SET option_value = '' WHERE option_name = 'cron';

