Sind Sie ein Entwickler, der die vollständige Kontrolle über Ihre Affiliate-Daten mithilfe der AffiliateWP REST API erhalten möchte? Das REST API Extended Add-on ermöglicht Create-, Read-, Update- und Delete-Operationen, sodass Sie Affiliates, Empfehlungen, Creatives und mehr über externe Anwendungen verwalten können.
In diesem Artikel zeigen wir Ihnen, wie Sie das REST API Extended Add-on für AffiliateWP installieren und einrichten.
Sie benötigen eine Pro-Lizenz, um auf das REST API Extended Add-on zugreifen zu können.
Installation des REST API Extended Add-ons
Bevor wir beginnen, stellen Sie sicher, dass Sie AffiliateWP installiert und aktiviert haben auf Ihrer WordPress-Website.
Sobald Sie AffiliateWP installiert und Ihre Lizenz verifiziert haben, können Sie das REST API Extended Add-on schnell installieren und aktivieren.
Konfiguration des REST API Extended Add-ons
Nach der Aktivierung des REST API Extended Add-ons müssen Sie dessen Einstellungen konfigurieren. Navigieren Sie dazu in Ihrem WordPress-Dashboard zu AffiliateWP » Einstellungen » REST API.
Hier können Sie die Kontrollkästchen aktivieren, um die Endpunkte auszuwählen, die Sie verwenden möchten, z. B. Affiliates, Referrals, Payouts und Creatives.
Ihre Website verfügt nun über eine vollständige CRUD-REST-API für die Interaktion mit Ihren Affiliate-Daten.
Nachdem diese Einstellungen konfiguriert wurden, ist Ihre Website mit einer voll funktionsfähigen CRUD-fähigen REST-API ausgestattet, die es Ihnen ermöglicht, Daten in AffiliateWP zu erstellen, zu lesen, zu aktualisieren und zu löschen.
Wenn Sie mit der grundlegenden AffiliateWP REST API nicht vertraut sind oder Hilfe bei der Authentifizierung benötigen, lesen Sie die REST API Übersicht in der Kerndokumentation für zusätzliche Anleitungen zur Verwendung und zu Authentifizierungsmethoden.
Affiliates verwalten
REST API Extended fügt drei Endpunkte hinzu, jeweils einen zum Erstellen, Bearbeiten und Löschen von Affiliates, zusätzlich zu den beiden schreibgeschützten Endpunkten, die in AffiliateWP Core bereits verfügbar sind.
Alle fünf Endpunkte nutzen dieselben zwei Routenmuster:
- Affiliates – Bei einer GET-Anfrage wird eine Liste von Affiliates zurückgegeben und kann mit zusätzlichen Argumenten gefiltert werden. Bei einer POST- oder PUT-Anfrage kann ein neuer Affiliate erstellt werden.
- Affiliates/[ID] – Bei einer GET-, PATCH- oder DELETE-Anfrage kann ein einzelner Affiliate abgerufen, bearbeitet oder gelöscht werden.
Beide Routen können auch generische OPTIONS-Anfragen akzeptieren, was sehr hilfreich sein kann, um Informationen über verfügbare Endpunkte, akzeptierte Anfragetypen und Argumente sowie das Element-Schema zu entdecken.
Ob Sie Affiliates lesen, schreiben, bearbeiten oder löschen möchten, dieses Add-on macht es möglich.
Alle Anfragen müssen mithilfe von API-Schlüsseln authentifiziert werden, die über den Tab AffiliateWP → Tools → API Keys generiert und verwaltet werden. Lesen Sie den Artikel REST API – Authentifizierung für weitere Informationen.
Einen Affiliate erstellen
Affiliates können durch Senden einer POST- oder PUT-Anfrage an die Route affiliates erstellt werden:
https://alfsflowersandgifts.com/wp-json/affwp/v1/affiliates
Der create Endpunkt akzeptiert alle der folgenden affwp_add_affiliate()-Argumente:
- user_id – (integer) Jeder Affiliate hat eine 1:1-Beziehung zu einem bestehenden WordPress-Benutzerkonto. Wenn keine geeignete Benutzer-ID verfügbar ist, kann das Argument create_user übergeben werden, um zu versuchen, einen Affiliate und ein Benutzerkonto im selben Schritt zu erstellen.
- username – (string) Optional. Wird verwendet, um den user_login beim Erstellen eines neuen Benutzerkontos festzulegen. Wenn nicht angegeben, wird die payment_email verwendet, um den user_login des generierten WordPress-Benutzers zu generieren.
- create_user – (boolean) Wird verwendet, um ein neues Benutzerkonto anstelle von user_id zu erstellen. Muss von einem eindeutigen payment_email-Wert begleitet werden, der bei der Registrierung des Benutzerkontos verwendet wird.
- rate – (integer) Zu verwendender Affiliate-Satz. Wenn nicht angegeben, wird der globale Standard verwendet.
- rate_type – (string) Satztyp. Standardmäßig akzeptierte Typen sind 'percentage' oder 'flat'. Wenn nicht angegeben, wird der globale Standard verwendet.
- payment_email – (string) Affiliate-Zahlungs-E-Mail. Wenn weggelassen, wird die E-Mail des Benutzerkontos bei Abruf verwendet. Erforderlich bei Verwendung von create_user.
- status – (string) Affiliate-Status. Akzeptiert 'active', 'inactive', 'pending' oder 'rejected'. Standard ist 'pending'.
- notes – (string) Affiliate-Notizen.
Erstellen eines Affiliates mit user_id:
Method: PUT/POST
Endpoint: https://alfsflowersandgifts.com/wp-json/affwp/v1/affiliates/?user_id=5&rate=25&rate_type=percentage
Der neue Affiliate würde mit user_id 5 verknüpft und eine Provision von 25 Prozent erhalten.
Beispielantwort:
{
"affiliate_id": 30,
"user_id": 5,
"rate": "25",
"rate_type": "percentage",
"payment_email": "",
"status": "pending",
"earnings": 0,
"unpaid_earnings": 0,
"referrals": 0,
"visits": 0,
"date_registered": "2024-01-26 07:27:52",
"id": 30
}
Erstellen eines Affiliates und eines Benutzers mit create_user:
Method: PUT/POST
Endpoint: https://alfsflowersandgifts.com/wp-json/affwp/v1/affiliates/?create_user=1&[email protected]
Der neue Affiliate würde mit dem neuen Benutzer (ID 10) verknüpft und eine Zahlungs-E-Mail von [email protected] erhalten.
Beispielantwort:
{
"affiliate_id": 31,
"user_id": 10,
"rate": "",
"rate_type": "",
"payment_email": "[email protected]",
"status": "pending",
"earnings": 0,
"unpaid_earnings": 0,
"referrals": 0,
"visits": 0,
"date_registered": "2024-01-26 07:27:52",
"id": 31
}
Bearbeiten eines bestehenden Affiliates
Einzelne Affiliates können durch Senden einer POST- oder PATCH-Anfrage an die Route affiliates/[id] aktualisiert werden:
https://alfsflowersandgifts.com/wp-json/affwp/v1/affiliates/[id]
Der edit Endpunkt akzeptiert alle der folgenden affwp_update_affiliate()-Argumente:
- account_email – (string) Neue Konto-E-Mail für das zugehörige Benutzerkonto.
- payment_email – (string) Neue Zahlungs-E-Mail.
- rate – (integer) Zu verwendender Affiliate-Satz
- rate_type – (string) Satztyp.
- status – (string) Affiliate-Status. Akzeptiert 'active', 'inactive', 'pending' oder 'rejected'.
- notes – (string) Affiliate-Notizen.
Aktualisieren eines Affiliates
In diesem Beispiel aktualisieren wir den Status eines Affiliates von pending auf active.
Method: POST/PATCH
Endpoint: https://alfsflowersandgifts.com/wp-json/affwp/v1/affiliates/31?status=active
Antwort:
{
"affiliate_id": 31,
"user_id": 10,
"rate": "",
"rate_type": "",
"payment_email": "[email protected]",
"status": "active",
"earnings": 0,
"unpaid_earnings": 0,
"referrals": 0,
"visits": 0,
"date_registered": "2024-01-26 07:27:52",
"id": 31
}
Löschen eines Affiliates
Ein Affiliate kann durch Senden einer DELETE-Anfrage an die Route affiliates/[id] gelöscht werden:
https://alfsflowersandgifts.com/wp-json/affwp/v1/affiliates/[id]
Der delete Endpunkt akzeptiert keine zusätzlichen Argumente. Wenn ein Affiliate erfolgreich gelöscht wurde, wird ein Schlüssel/Wert-Paar deleted: true in die Antwort aufgenommen, zusammen mit einer Kopie der alten Affiliate-Antwort.
Beispielanfrage:
Method: DELETE
Endpoint: https://alfsflowersandgifts.com/wp-json/affwp/v1/affiliates/31
Antwort:
{
"deleted": true,
"previous": {
"affiliate_id": 31,
"user_id": 10,
"rate": "",
"rate_type": "",
"payment_email": "[email protected]",
"status": "active",
"earnings": 0,
"unpaid_earnings": 0,
"referrals": 0,
"visits": 0,
"date_registered": "2024-01-26 07:27:52",
"id": 31
}
}
Kreative verwalten
REST API Extended fügt drei Endpunkte hinzu, je einen zum Erstellen, Bearbeiten und Löschen von Kreativen, zusätzlich zu den beiden schreibgeschützten Endpunkten, die bereits im AffiliateWP-Kern verfügbar sind.
Alle fünf Endpunkte nutzen dieselben zwei Routenmuster:
- Kreative – Bei einer GET-Anfrage wird eine Liste von Kreativen zurückgegeben und kann mit zusätzlichen Argumenten gefiltert werden. Bei einer POST- oder PUT-Anfrage kann ein neues Kreativobjekt erstellt werden.
- Kreative/[id] – Bei einer GET-, PATCH- oder DELETE-Anfrage kann ein einzelnes Kreativobjekt abgerufen, bearbeitet oder gelöscht werden.
Beide Routen können auch generische OPTIONS-Anfragen akzeptieren, was sehr hilfreich sein kann, um Informationen über verfügbare Endpunkte, akzeptierte Anfragetypen und Argumente sowie das Element-Schema zu entdecken.
Ob Sie Kreative lesen, schreiben, bearbeiten oder löschen möchten, dieses Add-on macht es möglich.
Alle Anfragen müssen mithilfe von API-Schlüsseln authentifiziert werden, die über den Tab AffiliateWP → Tools → API Keys generiert und verwaltet werden. Lesen Sie den Artikel REST API – Authentifizierung für weitere Informationen.
Erstellen eines Kreativobjekts
Kreative können durch Senden einer POST- oder PUT-Anfrage an die Route creatives erstellt werden:
https://alfsflowersandgifts.com/wp-json/affwp/v1/creatives
Der Endpunkt create akzeptiert alle folgenden Argumente von affwp_add_creative():
- Name – (integer) Name für das Kreativobjekt.
- Description – (string) Beschreibung des Kreativobjekts.
- Url – (string) URL, auf die das Kreativobjekt verweisen soll.
- Text – (string) Text, der mit dem Kreativobjekt angezeigt werden soll.
- Image – (string) Bild-URL, die mit dem Kreativobjekt verknüpft werden soll.
- Status – (string) Status des Kreativobjekts. Akzeptiert 'active' oder 'inactive'. Standard: 'active'.
Erstellen eines Kreativobjekts
Method: PUT/POST
Endpoint: https://alfsflowersandgifts.com/wp-json/affwp/v1/creatives/?name=New+Creative&text=REST
Das neue Kreativobjekt mit dem Namen „New Creative“ würde den Text „REST“ enthalten.
Beispielantwort:
{
"creative_id": 20,
"name": "New Creative",
"description": "",
"url": "",
"text": "REST",
"image": "",
"status": "",
"date": "2024-01-26 09:25:05",
"id": 20
}
Bearbeiten eines vorhandenen Kreativobjekts
Einzelne Kreativobjekte können durch Senden einer POST- oder PATCH-Anfrage an die Route creatives/[id] aktualisiert werden:
https://alfsflowersandgifts.com/wp-json/affwp/v1/creatives/[id]
Der Endpunkt edit akzeptiert alle folgenden Argumente von affwp_update_creative():
- Name – (integer) Name für das Kreativobjekt.
- Description – (string) Beschreibung des Kreativobjekts.
- Url – (string) URL, auf die das Kreativobjekt verweisen soll.
- Text – (string) Text, der mit dem Kreativobjekt angezeigt werden soll.
- Image – (string) Bild-URL, die mit dem Kreativobjekt verknüpft werden soll.
- Status – (string) Status des Kreativobjekts. Akzeptiert 'active' oder 'inactive'.
Aktualisieren eines Kreativobjekts
In diesem Beispiel aktualisieren wir den Status eines Kreativobjekts von aktiv auf inaktiv.
Method: POST/PATCH
Endpoint: https://alfsflowersandgifts.com/wp-json/affwp/v1/creatives/20?status=inactive
Antwort:
{
"creative_id": 20,
"name": "Creative",
"description": "",
"url": "http://alfsflowersandgifts.com",
"text": "AffiliateWP Plugin Testing",
"image": "",
"status": "inactive",
"date": "2024-01-26 09:25:05",
"id": 20
}
Löschen eines Kreativobjekts
Ein Kreativobjekt kann durch Senden einer DELETE-Anfrage an die Route creatives/[id] gelöscht werden:
https://alfsflowersandgifts.com/wp-json/affwp/v1/creatives/[id]
Der Endpunkt delete akzeptiert keine zusätzlichen Argumente. Wenn ein Kreativobjekt erfolgreich gelöscht wurde, wird ein Schlüssel/Wert-Paar deleted: true zusammen mit einer Kopie der alten Kreativobjektantwort in die Antwort aufgenommen.
Beispielanfrage:
Method: DELETE
Endpoint: https://alfsflowersandgifts.com/wp-json/affwp/v1/creatives/20
Antwort:
{
"deleted": true,
"previous": {
"creative_id": 20,
"name": "Creative",
"description": "",
"url": "http://alfsflowersandgifts.com",
"text": "AffiliateWP Plugin Testing",
"image": "",
"status": "inactive",
"date": "2024-01-26 09:25:05",
"id": 20
}
}
Auszahlungen verwalten
REST API Extended fügt drei Endpunkte hinzu, je einen zum Erstellen, Bearbeiten und Löschen von Auszahlungen, zusätzlich zu den beiden schreibgeschützten Endpunkten, die bereits im AffiliateWP-Kern verfügbar sind.
Alle fünf Endpunkte nutzen dieselben zwei Routenmuster:
- Auszahlungen – Bei einer GET-Anfrage wird eine Liste von Auszahlungen zurückgegeben und kann mit zusätzlichen Argumenten gefiltert werden. Bei einer POST- oder PUT-Anfrage kann eine neue Auszahlung erstellt werden.
- Auszahlungen/[id] – Bei einer GET-, PATCH- oder DELETE-Anfrage kann eine einzelne Auszahlung abgerufen, bearbeitet oder gelöscht werden.
Beide Routen können auch generische OPTIONS-Anfragen akzeptieren, was sehr hilfreich sein kann, um Informationen über verfügbare Endpunkte, akzeptierte Anfragetypen und -argumente sowie das Element-Schema zu entdecken.
Alle Anfragen müssen mithilfe von API-Schlüsseln authentifiziert werden, die über den Tab AffiliateWP → Tools → API Keys generiert und verwaltet werden. Lesen Sie den Artikel REST API – Authentifizierung für weitere Informationen.
Auszahlung erstellen
Auszahlungen können durch Senden einer POST- oder PUT-Anfrage an die Auszahlungen-Route erstellt werden:
https://alfsflowersandgifts.com/wp-json/affwp/v1/payouts
Der create-Endpunkt akzeptiert alle der folgenden affwp_add_payout()-Argumente:
- affiliate_id – (integer) ID des Affiliates, dem die Auszahlung zugeordnet werden soll. Dieses Feld ist erforderlich.
- referrals – (array|string) Array oder durch Kommas getrennte Liste von Referral-IDs, die in die Auszahlung aufgenommen werden sollen.
- amount – (float) Auszahlungsbetrag (typischerweise abgeleitet von Referral-Beträgen).
- payout_method – (string) Auszahlungsmethode.
- status – (string) Akzeptiert 'paid' oder 'failed'. Standard 'paid'.
Beispielanfrage:
Method: PUT/POST
Endpoint: https://alfsflowersandgifts.com/wp-json/affwp/v1/payouts/?affilite_id=30&referrals=10,15,20
Die neue Auszahlung mit der Auszahlungs-ID 15 würde die Referrals 10, 15 und 20 für die Affiliate-ID 30 abdecken.
Antwort:
{
"payout_id": 15,
"affiliate_id": 30,
"referrals": "10,15,20",
"amount": 27.87,
"payout_method": "manual",
"status": "paid",
"date": "2024-01-26 12:55:13",
"owner": 1,
"id": 15
}
Bearbeiten einer bestehenden Auszahlung
Einzelne Auszahlungen können durch Senden einer POST- oder PATCH-Anfrage an die payouts/[id]-Route aktualisiert werden:
https://alfsflowersandgifts.com/wp-json/affwp/v1/payouts/[id]
Der edit-Endpunkt akzeptiert alle der folgenden Argumente:
- affiliate_id – (integer) ID des Affiliates, dem die Auszahlung zugeordnet werden soll. Dieses Feld ist erforderlich.
- referrals – (array|string) Array oder durch Kommas getrennte Liste von Referral-IDs, die in die Auszahlung aufgenommen werden sollen.
- amount – (float) Auszahlungsbetrag (typischerweise abgeleitet von Referral-Beträgen).
- payout_method – (string) Auszahlungsmethode.
- status – (string) Akzeptiert 'paid' oder 'failed'. Standard 'paid'.
Aktualisieren einer Auszahlung
In diesem Beispiel aktualisieren wir den Status einer Auszahlung von failed auf paid.
Method: POST/PATCH
Endpoint: https://alfsflowersandgifts.com/wp-json/affwp/v1/payouts/15?status=paid
Antwort:
{
"payout_id": 15,
"affiliate_id": 30,
"referrals": "10,15,20",
"amount": 30,
"payout_method": "manual",
"status": "paid",
"date": "2024-01-26 12:55:13",
"owner": 1,
"id": 15
}
Löschen einer Auszahlung
Eine Auszahlung kann durch Senden einer DELETE-Anfrage an die payouts/[id]-Route gelöscht werden:
https://alfsflowersandgifts.com/wp-json/affwp/v1/payouts/[id]
Der delete-Endpunkt akzeptiert keine zusätzlichen Argumente. Wenn eine Auszahlung erfolgreich gelöscht wurde, wird ein Schlüssel/Wert-Paar von deleted: true zusammen mit einer Kopie der alten Auszahlungsantwort in die Antwort aufgenommen.
Beispielanfrage:
Method: DELETE
Endpoint: https://alfsflowersandgifts.com/wp-json/affwp/v1/payouts/15
Antwort:
{
"deleted": true,
"previous": {
"payout_id": 6751,
"affiliate_id": 5454,
"referrals": "35878,35877,35876",
"amount": 30,
"payout_method": "manual",
"status": "paid",
"date": "2024-01-26 12:55:13",
"owner": 1,
"id": 6751
}
}
Verwaltung von Referrals
REST API Extended fügt drei Endpunkte hinzu, je einen für das Erstellen, Bearbeiten und Löschen von Referrals, zusätzlich zu den beiden schreibgeschützten Endpunkten, die bereits im AffiliateWP-Kern verfügbar sind.
Alle fünf Endpunkte nutzen dieselben zwei Routenmuster:
- referrals – Bei einer GET-Anfrage wird eine Liste von Referrals zurückgegeben und kann mit zusätzlichen Argumenten gefiltert werden. Bei einer POST- oder PUT-Anfrage kann ein neuer Referral erstellt werden.
- referrals/[id] – Bei einer GET-, PATCH- oder DELETE-Anfrage kann ein einzelner Referral abgerufen, bearbeitet oder gelöscht werden.
Beide Routen können auch generische OPTIONS-Anfragen akzeptieren, was sehr hilfreich sein kann, um Informationen über verfügbare Endpunkte, akzeptierte Anfragetypen und -argumente sowie das Element-Schema zu entdecken.
Alle Anfragen müssen mithilfe von API-Schlüsseln authentifiziert werden, die über den Tab AffiliateWP → Tools → API Keys generiert und verwaltet werden. Lesen Sie den Artikel REST API – Authentifizierung für weitere Informationen.
Erstellen eines Referrals
Referrals können durch Senden einer POST- oder PUT-Anfrage an die referrals-Route erstellt werden:
https://alfsflowersandgifts.com/wp-json/affwp/v1/referrals
Der create-Endpunkt akzeptiert alle der folgenden affwp_add_referral()-Argumente:
- affiliate_id – (integer) ID des Affiliates, dem der Referral zugeordnet werden soll. Dieses Feld ist erforderlich. Siehe user_id und user_name.
- user_id – (integer) Benutzer-ID, die verwendet wird, um die zugehörige Affiliate-ID abzurufen, wenn affiliate_id nicht gesendet wird.
- user_name – (string) Benutzername, der verwendet wird, um die zugehörige Affiliate-ID abzurufen, wenn affiliate_id nicht gesendet wird.
- amount – (float) Endgültiger, berechneter Referral-Betrag, nicht der Transaktions- oder Verkaufsbetrag.
- currency – (string) Währung des Referral-Betrags.
- description – (string) Beschreibung des Referrals.
- referenz – (string) Überweisungsreferenz. Normalerweise enthält dies Produktinformationen wie Produkt-IDs.
- kontext – (string) Kontext, unter dem die Überweisung erstellt wurde. Normalerweise ist dies der Integrations-Slug.
- status – (string) Akzeptiert 'paid', 'unpaid', 'pending' oder 'rejected'. Standard 'pending'.
Erstellen einer Überweisung
Method: PUT/POST
Endpoint: https://alfsflowersandgifts.com/wp-json/affwp/v1/referrals/?affilite_id=30&amount=15
Das Obige würde eine neue Überweisung erstellen, die mit der Affiliate-ID 30 für einen Betrag von 15 US-Dollar mit dem Status 'pending' verbunden ist.
Beispielantwort:
{
"referral_id": 450,
"affiliate_id": 30,
"visit_id": 0,
"description": "",
"status": "pending",
"amount": "15.00",
"currency": "USD",
"custom": "",
"context": "",
"campaign": "",
"reference": "",
"products": "",
"date": "2024-01-26 22:28:54",
"payout_id": "0",
"id": 450
}
Bearbeiten einer bestehenden Überweisung
Einzelne Überweisungen können durch Senden einer POST- oder PATCH-Anfrage an die Route referrals/[id] aktualisiert werden:
https://alfsflowersandgifts.com/wp-json/affwp/v1/referrals/[id]
Der edit-Endpunkt akzeptiert alle der folgenden Argumente von affwp_process_update_referral():
- affiliate_id – (integer) ID des Affiliates, dem die Überweisung zugeordnet werden soll.
- visit_id – (integer) ID des Besuchs, dem die Überweisung zugeordnet werden soll.
- amount – (float) Aktualisierter Überweisungsbetrag.
- currency – (string) Währung des aktualisierten Überweisungsbetrags.
- description – (string) Aktualisierte Überweisungsbeschreibung.
- referenz – (string) Überweisungsreferenz. Normalerweise enthält dies Produktinformationen wie Produkt-IDs.
- kontext – (string) Kontext, unter dem die Überweisung erstellt wurde. Normalerweise ist dies der Integrations-Slug.
- status – (string) Akzeptiert 'paid', 'unpaid', 'pending' oder 'rejected'.
Aktualisieren einer Überweisung
In diesem Beispiel aktualisieren wir den Status einer Überweisung von pending auf paid.
Method: POST/PATCH
Endpoint: https://alfsflowersandgifts.com/wp-json/affwp/v1/referrals/450?status=paid
Antwort:
{
"referral_id": 450,
"affiliate_id": 30,
"visit_id": 0,
"description": "",
"status": "paid",
"amount": "",
"currency": "",
"custom": "",
"context": "",
"campaign": "",
"reference": "",
"products": "",
"date": "2024-01-26 22:28:54",
"payout_id": "0",
"id": 450
}
Löschen einer Überweisung
Eine Überweisung kann durch Senden einer DELETE-Anfrage an die Route referrals/[id] gelöscht werden:
https://alfsflowersandgifts.com/wp-json/affwp/v1/referrals/[id]
Der delete-Endpunkt akzeptiert keine zusätzlichen Argumente. Wenn eine Überweisung erfolgreich gelöscht wurde, wird ein Schlüssel/Wert-Paar deleted: true zusammen mit einer Kopie der alten Überweisungsantwort in die Antwort aufgenommen.
Beispielanfrage:
Method: DELETE
Endpoint: https://alfsflowersandgifts.com/wp-json/affwp/v1/referrals/450
Antwort:
{
"deleted": true,
"previous": {
"referral_id": 35879,
"affiliate_id": 5454,
"visit_id": 0,
"description": "",
"status": "paid",
"amount": "",
"currency": "",
"custom": "",
"context": "",
"campaign": "",
"reference": "",
"products": "",
"date": "2024-01-26 22:28:54",
"payout_id": "0",
"id": 35879
}
}
Besuche verwalten
REST API Extended fügt drei Endpunkte hinzu, jeweils einen zum Erstellen, Bearbeiten und Löschen von Besuchen, zusätzlich zu den beiden schreibgeschützten Endpunkten, die bereits im AffiliateWP-Kern verfügbar sind.
Alle fünf Endpunkte nutzen dieselben zwei Routenmuster:
- visits – Bei einer GET-Anfrage wird eine Liste von Besuchen zurückgegeben und kann mit zusätzlichen Argumenten gefiltert werden. Bei einer POST- oder PUT-Anfrage kann eine neue Überweisung erstellt werden.
- visits/[id] – Bei einer GET-, PATCH- oder DELETE-Anfrage kann ein einzelner Besuch abgerufen, bearbeitet oder gelöscht werden.
Beide Routen können auch generische OPTIONS-Anfragen akzeptieren, was sehr hilfreich sein kann, um Informationen über verfügbare Endpunkte, akzeptierte Anfragetypen und -argumente sowie das Element-Schema zu entdecken.
Alle Anfragen müssen mithilfe von API-Schlüsseln authentifiziert werden, die über den Tab AffiliateWP → Tools → API Keys generiert und verwaltet werden. Lesen Sie den Artikel REST API – Authentifizierung für weitere Informationen.
Erstellen eines Besuchs
Besuche können durch Senden einer POST- oder PUT-Anfrage an die Besuchsroute erstellt werden:
https://alfsflowersandgifts.com/wp-json/affwp/v1/visits
Der create-Endpunkt akzeptiert alle der folgenden Argumente:
- affiliate_id – (integer) ID des zugeordneten Affiliates für den Besuch. Dieses Feld ist erforderlich.
- referral_id – (integer) ID der zugeordneten Überweisung für den Besuch.
- url – (string) Besuchte URL.
- referrer – (string) Verweisende URL
- campaign – (string) Zugehörige Kampagne.
- ip – (string) IP-Adresse des Besuchers.
Beispielanfrage:
Method: PUT/POST
Endpoint: https://alfsflowersandgifts.com/wp-json/affwp/v1/visits/?affilite_id=30&url=https%3A%2F%2Faffiliatewp.com
Das obige würde einen neuen Besuch erstellen, der mit der Affiliate-ID 30 verknüpft ist und die gespeicherte URL https://affiliatewp.com hat.
Antwort:
{
"visit_id": 541,
"affiliate_id": 30,
"referral_id": 0,
"url": "https://affiliatewp.com",
"referrer": "",
"campaign": "",
"ip": "",
"date": "2024-01-26 23:05:21",
"id": 541
}
Bearbeiten eines vorhandenen Besuchs
Einzelne Besuche können durch Senden einer POST- oder PATCH-Anfrage an die Route visits/[id] aktualisiert werden:
https://alfsflowersandgifts.com/wp-json/affwp/v1/visits/[id]
Der edit-Endpunkt akzeptiert alle der folgenden Argumente:
- visit_id – (integer) ID des Besuchs. Dieses Feld ist erforderlich.
- referral_id – (integer) ID der zugeordneten Überweisung für den Besuch.
- affiliate_id – (integer) ID des Affiliates, der dem Besuch zugeordnet werden soll.
- url – (string) Besuchte URL.
- referrer – (string) Verweisende URL
- campaign – (string) Zugehörige Kampagne.
- ip – (string) IP-Adresse des Besuchers.
Aktualisieren eines Besuchs
In diesem Beispiel aktualisieren wir die zugehörige Kampagne eines Besuchs:
Method: POST/PATCH
Endpoint: https://alfsflowersandgifts.com/wp-json/affwp/v1/visits/541?campaign=spring-sale
Antwort:
{
"visit_id": 541,
"affiliate_id": 30,
"referral_id": 0,
"url": "https://affiliatewp.com",
"referrer": "",
"campaign": "spring-sale",
"ip": "",
"date": "2024-01-26 23:05:21",
"id": 541
}
Löschen eines Besuchs
Ein Besuch kann durch Senden einer DELETE-Anfrage an die Route visits/[id] gelöscht werden:
https://alfsflowersandgifts.com/wp-json/affwp/v1/visits/[id]
Der delete-Endpunkt akzeptiert keine zusätzlichen Argumente. Wenn ein Besuch erfolgreich gelöscht wurde, wird ein Schlüssel/Wert-Paar deleted: true zusammen mit einer Kopie der alten Besuchsantwort in die Antwort aufgenommen.
Beispielanfrage:
Method: DELETE
Endpoint: https://alfsflowersandgifts.com/wp-json/affwp/v1/visits/541
Antwort:
{
"deleted": true,
"previous": {
"visit_id": 541,
"affiliate_id": 30,
"referral_id": 0,
"url": "https://affiliatewp.com",
"referrer": "",
"campaign": "spring-sale",
"ip": "",
"date": "2024-01-26 23:05:21",
"id": 541
}
}
Beispiel: REST-API-Integration zwischen zwei WordPress-Sites
Einer der häufigsten Anwendungsfälle für das REST API Extended Add-on ist die Ermöglichung der Interaktion einer WordPress-Site mit einer anderen Site, auf der AffiliateWP läuft.
Sie könnten beispielsweise einen Affiliate auf einer WordPress-Site (Site A) erstellen und ihn über die API als Affiliate auf einer separaten WordPress-basierten Site (Site B) registrieren. Diese Integration ermöglicht eine nahtlose Kommunikation zwischen den beiden Sites.
Die folgenden Beispiele setzen voraus, dass Sie über grundlegende Kenntnisse verfügen, wie WordPress Remote-Anfragen sendet und Antworten abruft.
Wenn Sie mit der HTTP-API oder der REST-API nicht vertraut sind, empfehlen wir Ihnen, den Artikel zur HTTP-API im offiziellen Entwicklerhandbuch des Plugins sowie das REST-API-Handbuch zu lesen.
Informationsermittlung
Wie in den Abschnitten Affiliate, Creatives, Auszahlungen, Überweisungen und Besuche verwalten beschrieben, bietet das REST API Extended Add-on vollständige CRUD-Funktionen (Erstellen, Lesen, Aktualisieren und Löschen) bei der Interaktion mit AffiliateWP aus der Ferne.
Größtenteils sind Remote-Antworten über Objekttypen hinweg konsistent strukturiert. Abhängig vom verwendeten Endpunkt sind jedoch bestimmte Felder, die für die jeweiligen Objekttypen spezifisch sind, unter verschiedenen Umständen erforderlich.
Der einfachste Weg, um festzustellen, welche Felder erforderlich sind oder welche Parameter akzeptiert werden, ist das Senden einer OPTIONS-Anfrage an den Endpunkt. Die Antwort auf die OPTIONS-Anfrage sollte Ihnen alles Wissenswerte liefern.
Zum Beispiel ist das Folgende ein Ausschnitt aus der Antwort einer OPTIONS-Anfrage, die mit aktiviertem REST API Extended an den /v1/creatives/-Endpunkt gesendet wurde:
{
"namespace": "affwp/v1",
"methods": [
"GET",
"POST",
"PUT",
"PATCH"
],
"endpoints": [
{
"methods": [
"POST",
"PUT",
"PATCH"
],
"args": {
"name": {
"required": false,
"description": "Name of the creative.",
"type": "string"
},
"description": {
"required": false,
"description": "Description for the creative.",
"type": "string"
},
"url": {
"required": false,
"description": "URL the creative points to.",
"type": "string"
},
"text": {
"required": false,
"description": "Text for the creative.",
"type": "string"
},
"image": {
"required": false,
"description": "ID of the media library image associated with the creative",
"type": "integer"
},
"status": {
"required": false,
"description": "The creative status.",
"type": "string"
},
"date": {
"required": false,
"description": "The date the creative was created.",
"type": "string"
}
}
}
],
Sie können sehen, dass die verfügbaren Anfragemethoden für diesen Endpunkt klar aufgelistet sind und die verfügbaren Argumente für jede Methode innerhalb der nachstehenden Hierarchie definiert und aufgelistet sind. Weitere nützliche Informationen, die in einer OPTIONS-Anfrage zurückgegeben werden, sind Schema-Informationen, die die Felder definieren, die in einem einzelnen Objekt vorhanden sein werden, und mehr.
Anfragen erstellen
Nachdem Sie nun eine gute Grundlage dessen haben, was Sie wissen müssen, und wie Sie weitere Informationen finden, wollen wir einige Beispielanfragen erstellen.
Authentifizierung
Wenn Sie sich aus dem Artikel REST API v1 Übersicht erinnern, müssen alle gesendeten Anfragen einen Autorisierungsheader enthalten, der mit dem Basic Auth-Schema erstellt wurde. Der Basic Auth-Header in AffiliateWP wird mit den Werten des öffentlichen Schlüssels und des Tokens erreicht. Das folgende Beispiel zeigt einen Basic Auth-Header:
Authorization : Basic N2Q4NTM1OWM4NzlkYWNjOWE2ZmMxZjgxYjQ2ZDYyZDE6YmE3YjUwZGUyMjZkOGI2YzRkNjQyMjA1YjcwNDUwMjY=
„Authorization“ ist der Schlüssel und „Basic N2Q4NTM…“ ist der Wert. Der Wert wird durch Kodierung der Kombination aus dem öffentlichen Schlüssel und den Token-Werten, getrennt durch einen Doppelpunkt, und dem Hinzufügen von „Basic “ am Anfang erstellt. Zum Beispiel:
"Basic " . base64_encode( "{$public_key}:{$token}" );
Bei Verwendung der WordPress HTTP API-Funktionen sollte der Authorization-Header wie folgt gesendet werden:
wp_remote_*( 'request_url', array(<br> 'headers' => array(<br> 'Authorization' => 'Basic hash_value'<br> )<br>) );
Weitere Informationen darüber, wie die AffiliateWP REST API authentifiziert, finden Sie im Artikel REST API – Authentifizierung.
Beispielanfrage: Affiliate erstellen
Wie im Abschnitt Affiliates verwalten erwähnt, ist eine user_id erforderlich, wenn ein Affiliate erstellt wird. Alternativ kann das Argument create_user zusammen mit einem payment_email-Wert gesendet werden, um einen Benutzer und einen Affiliate im selben Schritt zu erstellen.
Der folgende WordPress-Code ist erforderlich, um einen Affiliate remote zu erstellen, wenn Sie bereits eine gültige user_id haben:
$request_url = add_query_arg( array(
'user_id' => 5
),
'https://alfsflowersandgifts.com/wp-json/affwp/v1/affiliates' );
$response = wp_remote_post( $request_url, array(
'headers' => array(
'Authorization' => 'Basic hash_value'
)
) );
Beachten Sie im obigen Ausschnitt, dass der Wert user_id über $request_url und nicht über das Argument „body“ übergeben wird, was für POST-Anfragen unterstützt wird. Dies geschieht zur Konsistenz mit den Beispielen anderer Endpunkte, insbesondere derjenigen, die die Methoden PUT oder PATCH verwenden, welche die Übergabe von Parametern über den Anfragetext nicht unterstützen.
Beispielanfrage: Auszahlung erstellen
Ähnlich wie bei der Erstellung von Affiliates erfordern neue Auszahlungen bestimmte Felder, insbesondere die Werte affiliate_id und referrals.
Der folgende Code ist erforderlich, um eine neue Auszahlung remote zu erstellen, gegeben eine gültige affiliate_id und eine Liste von Referral-IDs:
$request_url = add_query_arg( array(
'affiliate_id' => 2,
'referrals' => '2,3,4',
'payout_method' => 'REST',
),
'https://alfsflowersandgifts.com/wp-json/affwp/v1/payouts' );
$response = wp_remote_post( $request_url, array(
'headers' => array(
'Authorization' => 'Basic hash_value'
)
) );
Beachten Sie, dass der Wert payout_method nicht unbedingt erforderlich ist, aber nützlich ist, um den Kontext anzugeben, dass die Auszahlung über REST generiert wurde.
Beispielanfrage: Referral aktualisieren
Beim Aktualisieren eines Objekts über REST ist zu beachten, dass die ID des zu ändernden Objekts tatsächlich Teil des Endpunkts ist, sodass der Wert dieses Primärschlüssels nicht auch mit der Anfrage gesendet werden muss.
Das folgende Beispiel zeigt, wie der Status eines Referrals von „unbezahlt“ auf „bezahlt“ aktualisiert wird:
$request_url = add_query_arg( array(
'status' => 'paid',
'https://alfsflowersandgifts.com/wp-json/affwp/v1/referrals/3' );
$response = wp_remote_request( $request_url, array(
'method' => 'PATCH',
'headers' => array(
'Authorization' => 'Basic hash_value'
)
) );
Beachten Sie, dass diese Anfrage anstelle von wp_remote_post() wie zuvor wp_remote_request() mit dem Argument ‚method‘ => ‚PATCH‘ verwendet. Dies teilt der REST API mit, dass Sie speziell eine PATCH-Anfrage senden.
Beachten Sie auch, dass die Referral-ID 3 als Teil des Endpunkts und nicht im URL-ähnlichen Status übergeben wird.
Antworten analysieren
Zusätzlich zur Erstellung von Anfragen ist es wichtig, die Struktur von Antworten gut zu verstehen und sich damit vertraut zu machen, wie eine erfolgreiche Anfrage im WordPress-Umfeld validiert wird.
In den ersten beiden Beispielen unter „Anfragen erstellen“ sprachen wir über das Erstellen von Anfragen zum Erstellen neuer Affiliates und Auszahlungen.
Bei der Untersuchung einer Antwort ist eine der einfachsten Möglichkeiten, deren Erfolg zu bestätigen, ein Blick auf den Antwortcode:
$response_code = wp_remote_retrieve_response_code( $response );
if ( 201 === $response_code ) {
// success
}
Bei den Endpunkten für die Erstellung und Aktualisierung von AffiliateWP senden erfolgreiche Anfragen Antworten mit dem Statuscode 201 zurück. Bei erfolgreichen Löschungsanfragen sind die Antwortcodes die Standardwerte 200.
Antworten, die für erfolgreiche Löschungsanfragen zurückgesendet werden, enthalten auch ein Schlüssel-Wert-Paar deleted: true sowie eine Kopie des vorherigen Objekts:
{
"deleted": true,
"previous": {
"affiliate_id": 35,
"user_id": 11,
"rate": "",
"rate_type": "",
"payment_email": "[email protected]",
"status": "active",
"earnings": 0,
"unpaid_earnings": 0,
"referrals": 0,
"visits": 0,
"date_registered": "2024-01-31 07:31:05",
"id": 35
}
}
Nachdem wir nun behandelt haben, wie Anfragen erstellt und Antworten analysiert werden, sehen wir uns an, wie eine Affiliate-Erstellungsanfrage erstellt wird, dann die abgerufenen Informationen bei Erfolg untersucht und mit der Verarbeitung fortfährt:
$request_url = add_query_arg( array(
'user_id' => 5 ),
'https://alfsflowersandgifts.com/wp-json/affwp/v1/affiliates' );
// Send the request, storing the return in $response.
$response = wp_remote_post( $request_url, array(
'headers' => array(
'Authorization' => 'Basic hash_value'
)
) );
// Check for the requisite response code. If 201, retrieve the response body and continue.
if ( 201 === wp_remote_retrieve_response_code( $response ) ) {
$body = wp_remote_retrieve_body( $response );
// do something successful
} else {
// maybe display an error message
}
Häufig gestellte Fragen
Was ist das REST API Extended Add-on für AffiliateWP?
Das REST API Extended Add-on für AffiliateWP bietet Entwicklern vollständige CRUD-Funktionen (Erstellen, Lesen, Aktualisieren, Löschen), um Affiliate-Daten über API-Anfragen zu verwalten. Dieses Add-on erweitert die Kern-REST-API von AffiliateWP um Endpunkte, die es externen Anwendungen ermöglichen, Affiliates, Überweisungen, Auszahlungen, Creatives und Besuche zu erstellen, zu ändern und zu löschen.
Wie authentifiziere ich API-Anfragen mit der AffiliateWP REST API?
Um API-Anfragen zu authentifizieren, müssen Sie API-Schlüssel unter AffiliateWP » Tools » API-Schlüssel in Ihrem WordPress-Dashboard generieren. Die Authentifizierung erfolgt über Basic Authentication, wobei der öffentliche Schlüssel und das Token kodiert und in den Anforderungsheadern übergeben werden.
Was kann ich mit dem REST API Extended Add-on machen?
Mit diesem Add-on können Sie eine Vielzahl von Aktionen ausführen, darunter das Erstellen neuer Affiliates, das Aktualisieren von Affiliate-Informationen, die Verwaltung von Überweisungen, Auszahlungen und Besuchen sowie das Löschen von Affiliate-Daten. Es gibt Ihnen die vollständige Kontrolle über die Affiliate-Verwaltung über die API.
Was passiert, wenn ich einen Affiliate, eine Überweisung oder eine Auszahlung über die API lösche?
Wenn Sie einen Affiliate, eine Überweisung oder eine Auszahlung über die API löschen, wird eine Antwort mit dem Wert deleted: true zusammen mit einer Kopie des gelöschten Objekts zurückgegeben. Dies stellt sicher, dass die Aktion erfolgreich abgeschlossen wurde und ermöglicht es Ihnen, die Details des gelöschten Elements zu überprüfen.
Das ist alles! Das REST API Extended Add-on für AffiliateWP bietet Entwicklern ein leistungsstarkes Werkzeug zur programmatischen Verwaltung von Affiliates, Überweisungen, Auszahlungen, Creatives und Besuchen. Durch die Aktivierung vollständiger CRUD-Operationen eröffnet dieses Add-on eine Reihe von Möglichkeiten für die Integration von AffiliateWP mit externen Systemen, die Automatisierung von Prozessen und die Anpassung der Affiliate-Verwaltung an spezifische Bedürfnisse.