Einrichten und Verwenden der REST API v1
AffiliateWP verfügt über eine Reihe von schreibgeschützten REST-Endpunkten, die auf der in WordPress 4.4 und höher enthaltenen Infrastruktur aufbauen.
In diesem Artikel zeigen wir Ihnen, wie Sie die REST API v1 einrichten und verwenden, um auf AffiliateWP-Daten zuzugreifen.
REST API - Authentifizierung
Um die wichtigsten REST-Endpunkte nutzen zu können, müssen sich alle API-Kunden mit API-Schlüsseln authentifizieren, die auf der neuen Registerkarte API-Schlüssel unter Affiliates → Tools → API-Schlüssel generiert werden.
Die REST-API verwendet eine Basisauthentifizierung mit einer Kombination aus einem öffentlichen Schlüssel und einem Token.
Bevor Sie eine API-Anfrage authentifizieren können, benötigen Sie eine Reihe von API-Schlüsseln. Diese sind benutzerspezifisch und können unter Affiliates → Tools → API-Schlüssel erstellt werden :

Um einen neuen Satz von API-Schlüsseln zu generieren, geben Sie den Benutzernamen des Benutzers ein, dem die Schlüssel gehören sollen, und klicken Sie auf Neue API-Schlüssel generieren.

Hinweis: Das Benutzerkonto, dem die API-Schlüssel zugeordnet sind , muss über die entsprechenden Fähigkeiten verfügen, damit die API funktioniert. In der Regel bedeutet dies, dass der Benutzer die Rolle eines Administrators haben muss. Weitere Informationen finden Sie in unserer Dokumentation zu Rollen und Fähigkeiten.
Sobald die API-Schlüssel erstellt sind, können Sie sich bei der REST-API authentifizieren, indem Sie die Schlüssel in den Authentifizierungs-Header aufnehmen. Der öffentliche Schlüssel sollte als Benutzer und das Token als Passwort übergeben werden.
Bei der Verwendung von Postman würde unsere authentifizierte Anfrage zum Beispiel so aussehen:

Bei Verwendung von curl würde eine authentifizierte Anfrage wie folgt aussehen:
curl -u 229c1d4292800a4fdaa1099a4c646c9a:c7fd218923e058e1637698e5257855de http://local.wp/woo/wp-json/affwp/v1/affiliates
Der Autorisierungs-Header muss bei jeder API-Anforderung angegeben werden, um eine ordnungsgemäße Authentifizierung bei der API zu ermöglichen. Wenn keine grundlegende Authentifizierung erfolgt oder die Anmeldeinformationen falsch sind, wird eine Fehlermeldung ausgegeben:
{
"code": "rest_forbidden",
"message": "Sorry, you are not allowed to do that.",
"data": {
"status": 403
}
}
Routen und Endpunkte
AffiliateWP bietet fünf Routen und mehrere zugrunde liegende Endpunkte. Diese fünf Routen sind:
Klicken Sie auf die obigen Routennamen, um mehr über die jeweiligen Endpunkte zu erfahren, Beispielanfragen zu sehen und vieles mehr.
Hinweis: Vollständige Vorgänge zum Erstellen, Lesen, Aktualisieren und Löschen (CRUD) können über das Add-on REST API Extended aktiviert werden. Informationen zu den Vorgängen "Erstellen", "Aktualisieren" und "Löschen" finden Sie in der Dokumentation zu REST API Extended.
1. Partner-Endpunkte
AffiliateWP core 1.9+ bietet zwei schreibgeschützte REST-Endpunkte für Affiliates:
- Affiliates - Ruft Antwortobjekte für alle Partner auf der aktuellen Website ab
- affiliates/{ID} - Ruft ein Antwortobjekt für einen Partner mit der angegebenen Partner-ID ab
Auf die Partner-Endpunkte kann über GET-Anfragen an den folgenden Stellen zugegriffen werden:
http://example.com/wp-json/affwp/v1/affiliates http://example.com/wp-json/affwp/v1/affiliates/ID
Alle Affiliate-Endpunkte und ihre verschiedenen Optionen sind auch durch den direkten Besuch des AffiliateWP-REST-Namensraums zu finden:
http://example.com/wp-json/affwp/v1/
Endpunkte
Die angeschlossenen Unternehmen Endpunkt akzeptiert alle gültigen get_affiliates()-Argumente:
- number - Die Anzahl der abzurufenden Ergebnisse (falls verfügbar)
- offset - Die Anzahl der zu verschiebenden Ergebnisse in der Abfrage. Standardwert ist 0 (kein Versatz)
- affiliate_id - Die Partner-ID oder ein Array von IDs, nach denen gesucht werden soll.
- user_id - Die Benutzer-ID oder ein Array von IDs, für die Auszahlungen abgefragt werden sollen.
- exclude - Partner-ID oder Array von IDs, die von der Anfrage ausgeschlossen werden sollen.
- search - Begriffe für die Suche nach Partnern. Akzeptiert eine Partner-ID oder eine Zeichenfolge.
- status - Der Status des Partners. Akzeptiert "aktiv", "inaktiv", "anhängig" oder "abgelehnt".
- order - Wie die Ergebnisse geordnet werden sollen. Akzeptiert 'ASC' (aufsteigend) oder 'DESC' (absteigend).
- orderby - Nach welchem Feld sollen die Ergebnisse der Antwort geordnet werden. Standard ist 'Datum'.
- fields - Spezifische Felder, die für jedes Partnerunternehmen in der Antwort zurückgegeben werden sollen. Standardwert '*' (alle). Akzeptiert 'ids' oder jede gültige Spalte
Zusätzliche Argumente:
- user - Wenn user als true übergeben wird, werden benutzerdefinierte Benutzerobjekte für jeden Partner in der Antwort sofort abgerufen. Bei der Verwendung dieser Option ist Vorsicht geboten, da sich die Anzahl der Datenbankabfragen für jeden Partner im Verhältnis 1:1 erhöht.
- meta - Bei der Übergabe von true wird ein Array von Affiliate-Metadaten für jeden Partner in der Antwort abgerufen. Wie bei user ist auch hier Vorsicht geboten, da die Leistung beeinträchtigt wird.
Alle gültigen Argumente können auch durch Senden einer OPTIONS-Anfrage an den jeweiligen Endpunkt abgeleitet werden.
Der Endpunkt affiliates/{ID} akzeptiert jede gültige Partner-ID. Wenn user und/oder meta als true übergeben werden, wird zusätzlich ein benutzerdefiniertes Benutzerobjekt und/oder ein Array mit Affiliate-Metadaten abgerufen und der Antwort beigefügt.
Sichtbarkeit
Alle Endpunkte benötigen den API-Schlüssel und das Token, mit Ausnahme des Hauptendpunkts affwp/v1 Endpunkt.
Antwort
Die Antworten werden in JSON-Form zurückgegeben.
Beispiel Tochtergesellschaften Antwort:
[
{
"affiliate_id": 2736,
"user_id": 1336,
"rate": "",
"rate_type": "",
"payment_email": "",
"status": "active",
"earnings": 6,
"unpaid_earnings": 0,
"referrals": 6,
"visits": 0,
"date_registered": "2016-08-17 19:46:25",
"id": 2736
},
{
"affiliate_id": 2737,
"user_id": 1337,
"rate": "",
"rate_type": "",
"payment_email": "",
"status": "inactive",
"earnings": 1,
"unpaid_earnings": 3145.59,
"referrals": 1,
"visits": 0,
"date_registered": "2016-08-17 19:46:25",
"id": 2737
}
]
Example affiliates/{ID} response:
{
"affiliate_id": 2737,
"user_id": 1337,
"rate": "",
"rate_type": "",
"payment_email": "",
"status": "inactive",
"earnings": 1,
"unpaid_earnings": 3145.59,
"referrals": 1,
"visits": 0,
"date_registered": "2016-08-17 19:46:25"
}
Example affiliates{ID}?user=1 response:
{
"affiliate_id": 2737,
"user_id": 1337,
"rate": "",
"rate_type": "",
"payment_email": "",
"status": "inactive",
"earnings": 1,
"unpaid_earnings": 3145.59,
"referrals": 1,
"visits": 0,
"date_registered": "2016-08-17 19:46:25",
"user": {
"ID": "1337",
"user_login": "user_1_11",
"user_nicename": "user_1_11",
"user_url": "",
"user_registered": "2016-08-17 19:46:25",
"user_status": "0",
"display_name": "User 11",
"spam": "0",
"deleted": "0",
"first_name": "",
"last_name": ""
}
}
Example affiliates{ID}?meta=1 response:
{
"affiliate_id": 2737,
"user_id": 1337,
"rate": "",
"rate_type": "",
"payment_email": "[email protected]",
"status": "active",
"earnings": 32039.07,
"unpaid_earnings": 3145.59,
"referrals": 3192,
"visits": 0,
"date_registered": "2016-08-17 19:46:25",
"meta": {
"some_key": [
"some_value"
]
},
"id": 2737
}<br>
.
2. Kreative Endpunkte
AffiliateWP core 1.9+ bietet zwei schreibgeschützte REST-Endpunkte für Kreative:
- Werbemittel - Ruft Antwortobjekte für alle Werbemittel auf der aktuellen Website ab
- kreativ/{ID} - Ruft ein Antwortobjekt für einen Kreativen mit der angegebenen Kreativ-ID ab
Auf die kreativen Endpunkte kann über GET-Anfragen an den folgenden Stellen zugegriffen werden:
http://example.com/wp-json/affwp/v1/creatives http://example.com/wp-json/affwp/v1/creatives/ID
Alle kreativen Endpunkte und ihre verschiedenen Optionen sind auch durch den direkten Besuch des AffiliateWP REST-Namensraums zu finden:
http://example.com/wp-json/affwp/v1/
Endpunkte
Die Kreative Endpunkt akzeptiert alle gültigen get_creatives()-Argumente:
- number - Die Anzahl der abzurufenden Ergebnisse (falls verfügbar)
- offset - Die Anzahl der zu verschiebenden Ergebnisse in der Abfrage. Standardwert ist 0 (kein Versatz)
- creative_id - Die Kreativ-ID oder ein Array von IDs, nach denen gesucht werden soll.
- status - Der kreative Status. Akzeptiert "aktiv" oder "inaktiv".
- order - Wie die Ergebnisse geordnet werden sollen. Akzeptiert 'ASC' (aufsteigend) oder 'DESC' (absteigend).
- orderby - Erzeugt eine Tabellenspalte, nach der geordnet werden soll.
- fields - Spezifische Felder, die für jeden Kreativen in der Antwort zurückgegeben werden sollen. Standardwert '*' (alle). Akzeptiert 'ids' oder jede gültige Spalte.
Alle gültigen Argumente können auch durch Senden einer OPTIONS-Anfrage an den jeweiligen Endpunkt abgeleitet werden.
Die creatives/{ID} Endpunkt akzeptiert jede gültige Kreativ-ID.
Sichtbarkeit
Alle Endpunkte benötigen den API-Schlüssel und das Token, mit Ausnahme des Hauptendpunkts affwp/v1 Endpunkt.
Antwort
Die Antworten werden in JSON-Form zurückgegeben.
Beispiel creatives sresponse:
{
"creative_id": 2,
"name": "My Other Creative",
"description": "",
"url": "http://affiliate.dev",
"text": "AffiliateWP Plugin Testing",
"image": "",
"status": "inactive",
"date": "2016-05-11 23:35:58",
"id": 2
},
{
"creative_id": 3,
"name": "Special Case",
"description": "",
"url": "http://affiliate.dev",
"text": "AffiliateWP Plugin Testing",
"image": "https://affwp.dev/wp-content/images/brand-assets/affiliatewp-1v.png",
"status": "active",
"date": "2016-05-11 23:43:02",
"id": 3
},
Example creatives/{ID} response:
{
"creative_id": 2,
"name": "My Other Creative",
"description": "",
"url": "http://affiliate.dev",
"text": "AffiliateWP Plugin Testing",
"image": "",
"status": "inactive",
"date": "2016-05-11 23:35:58",
"id": 2
}
.
3. Auszahlungen Endpunkte
AffiliateWP core 1.9+ bietet zwei schreibgeschützte REST-Endpunkte für Auszahlungen:
- Auszahlungen - Ruft Antwortobjekte für alle Auszahlungen auf der aktuellen Website ab
- Auszahlungen/{ID} - Ruft ein Antwortobjekt für eine Auszahlung mit der angegebenen Auszahlungs-ID ab.
Die Auszahlungsendpunkte können über GET-Anfragen an den folgenden Stellen erreicht werden:
http://example.com/wp-json/affwp/v1/payouts http://example.com/wp-json/affwp/v1/payouts/ID
Alle Auszahlungsendpunkte und ihre verschiedenen Optionen sind auch durch den direkten Besuch des AffiliateWP REST-Namensraums auffindbar:
http://example.com/wp-json/affwp/v1/
Endpunkte
Die Auszahlungen Endpunkt akzeptiert alle gültigen get_payouts()-Argumente:
- number - Die Anzahl der abzurufenden Ergebnisse (falls verfügbar)
- offset - Die Anzahl der zu verschiebenden Ergebnisse in der Abfrage. Standardwert ist 0 (kein Versatz)
- payout_id - Die Auszahlungs-ID oder ein Array von IDs, nach denen abgefragt werden soll.
- affiliate_id - Die Partner-ID oder ein Array von IDs, für die Auszahlungen abgefragt werden sollen.
- referrals - Referral ID oder Array von Referral IDs, für die Auszahlungen abgerufen werden sollen.
- amount - Auszahlungsbetrag (Float) oder Min/Max-Bereich (Array), für den Auszahlungen abgerufen werden sollen.
- amount_compare – Comparison operator used with amount. Accepts ‘>’, ‘<‘, ‘>=’, ‘<=’, ‘=’, or ‘!=’.
- status - Der Auszahlungsstatus. Akzeptiert 'bezahlt' oder 'fehlgeschlagen'.
- date - Das Datumsfeld oder die Zeichenkette, innerhalb derer die Auszahlungen abgefragt werden sollen.
- order - Wie die Ergebnisse geordnet werden sollen. Akzeptiert 'ASC' (aufsteigend) oder 'DESC' (absteigend).
- orderby - Nach welchem Feld sollen die Ergebnisse der Antwort geordnet werden. Standard ist 'Datum'.
- fields - Spezifische Felder, die für jede Auszahlung in der Antwort zurückgegeben werden. Standardwert '*' (alle). Akzeptiert 'ids' oder jede gültige Spalte
Alle gültigen Argumente können auch durch Senden einer OPTIONS-Anfrage an den jeweiligen Endpunkt abgeleitet werden.
Die Auszahlungen/{ID} Endpunkt akzeptiert jede gültige Auszahlungs-ID.
Sichtbarkeit
Alle Endpunkte benötigen den API-Schlüssel und das Token, mit Ausnahme des Hauptendpunkts affwp/v1 Endpunkt.
Antwort
Die Antworten werden in JSON-Form zurückgegeben.
Beispiel Auszahlungen Antwort:
[
{
"payout_id": 1,
"affiliate_id": 22,
"referrals": "2,3",
"amount": 1,
"payout_method": "manual",
"status": "paid",
"date": "2016-08-04 16:54:21",
"owner": 0,
"id": 1
},
{
"payout_id": 2,
"affiliate_id": 22,
"referrals": "2,3",
"amount": 1,
"payout_method": "manual",
"status": "paid",
"date": "2016-08-04 16:54:24",
"owner": 0,
"id": 2
},
Example payouts/{ID} response:
{
"payout_id": 2,
"affiliate_id": 22,
"referrals": "2,3",
"amount": 1,
"payout_method": "manual",
"status": "paid",
"date": "2016-08-04 16:54:24",
"owner": 0,
"id": 2
}<br>
.
4. Verweise Endpunkte
AffiliateWP core 1.9+ bietet zwei schreibgeschützte REST-Endpunkte für Überweisungen:
- Überweisungen - Ruft Antwortobjekte für alle Verweise auf der aktuellen Website ab
- Überweisungen/{ID} - Ruft ein Antwortobjekt für eine Überweisung mit der angegebenen Überweisungs-ID ab
Auf die Verweisungsendpunkte kann über GET-Anfragen an den folgenden Stellen zugegriffen werden:
http://example.com/wp-json/affwp/v1/referrals http://example.com/wp-json/affwp/v1/referrals/ID
Alle Empfehlungsendpunkte und ihre verschiedenen Optionen sind auch durch den direkten Besuch des AffiliateWP REST-Namensraumes zu finden:
http://example.com/wp-json/affwp/v1/
Endpunkte
Die Website Überweisungen Endpunkt akzeptiert alle gültigen get_referrals()-Argumente:
- number - Die Anzahl der abzurufenden Ergebnisse (falls verfügbar)
- offset - Die Anzahl der zu verschiebenden Ergebnisse in der Abfrage. Standardwert ist 0 (kein Versatz)
- referral_id - Die Überweisungs-ID oder ein Array von IDs, nach denen gesucht werden soll.
- affiliate_id - Die Partner-ID oder ein Array von IDs, nach denen gesucht werden soll.
- Referenz - Referenzinformationen (Produkt-ID) für die Verweisung.
- ref_context - Der Kontext, in dem die Überweisung erstellt wurde (Integration).
- campaign - Die zugehörige Kampagne.
- status - Der Überweisungsstatus oder eine Reihe von Status. Akzeptiert "bezahlt", "unbezahlt", "anhängig" oder "abgelehnt".
- order - Wie die Ergebnisse geordnet werden sollen. Akzeptiert 'ASC' (aufsteigend) oder 'DESC' (absteigend).
- orderby - Nach welchem Feld sollen die Ergebnisse der Antwort geordnet werden. Standard ist 'Datum'.
- search - Eine Verweis-ID oder der Suchbegriff, mit dem nach Verweisen gesucht werden soll.
- date - Das Datumsarray oder die Zeichenkette, in der die Verweise abgefragt werden sollen.
- fields - Spezifische Felder, die für jede Verweisung in der Antwort zurückgegeben werden sollen. Standardwert '*' (alle). Akzeptiert 'ids' oder jede gültige Spalte
Alle gültigen Argumente können auch durch Senden einer OPTIONS-Anfrage an den jeweiligen Endpunkt abgeleitet werden.
Die Überweisungen/{ID} Endpunkt akzeptiert jede gültige Verweisungs-ID.
Sichtbarkeit
Alle Endpunkte benötigen den API-Schlüssel und das Token, mit Ausnahme des Hauptendpunkts affwp/v1 Endpunkt.
Antwort
Die Antworten werden in JSON-Form zurückgegeben.
Beispiel Überweisungen Antwort:
{
"referral_id": 21,
"affiliate_id": 0,
"visit_id": 0,
"description": "",
"status": "",
"amount": "",
"currency": "",
"custom": "",
"context": "",
"campaign": "",
"reference": "",
"products": "",
"date": "2016-08-17 19:57:30",
"payout_id": "102",
"id": 21
},
{
"referral_id": 22,
"affiliate_id": 2736,
"visit_id": 0,
"description": "",
"status": "paid",
"amount": "1.00",
"currency": "USD",
"custom": "",
"context": "",
"campaign": "",
"reference": "",
"products": "",
"date": "2016-08-17 19:57:43",
"payout_id": "81",
"id": 22
},
Example referrals/{ID} response:
{
"referral_id": 21,
"affiliate_id": 0,
"visit_id": 0,
"description": "",
"status": "",
"amount": "",
"currency": "",
"custom": "",
"context": "",
"campaign": "",
"reference": "",
"products": "",
"date": "2016-08-17 19:57:30",
"payout_id": "102",
"id": 21
}
.
5. Besuche Endpunkte
AffiliateWP core 1.9+ bietet zwei schreibgeschützte REST-Endpunkte für Besuche:
- Besuche - Ruft Antwortobjekte für alle Besuche auf der aktuellen Website ab
- besuche/{ID} - Ruft ein Antwortobjekt für einen Besuch mit der angegebenen Besuchs-ID ab
Die Besuchsendpunkte können über GET-Anfragen an folgenden Stellen aufgerufen werden:
http://example.com/wp-json/affwp/v1/visits http://example.com/wp-json/affwp/v1/visits/ID
Alle Besuchsendpunkte und ihre verschiedenen Optionen sind auch durch den direkten Besuch des AffiliateWP REST-Namensraums auffindbar:
http://example.com/wp-json/affwp/v1/
Endpunkte
Die Besuche Endpunkt akzeptiert alle gültigen get_visits()-Argumente:
- number - Die Anzahl der abzurufenden Ergebnisse (falls verfügbar)
- offset - Die Anzahl der zu verschiebenden Ergebnisse in der Abfrage. Standardwert ist 0 (kein Versatz)
- visit_id - Die Besuchs-ID oder ein Array von IDs, nach denen Besuche abgefragt werden sollen.
- affiliate_id - Die Partner-ID oder ein Array von IDs, nach denen Besuche abgefragt werden sollen.
- referral_id - Die Überweisungs-ID oder ein Array von IDs, nach denen Besuche abgefragt werden sollen.
- referral_status - Der Überweisungsstatus oder eine Reihe von Status, für die Besuche abgerufen werden sollen.
- campaign - Die zugehörige Kampagne.
- order - Wie der Besuch in der Antwort geordnet werden soll. Standard ist "ASC" (aufsteigend)
- orderby - Nach welchem Feld sollen die Ergebnisse der Antwort geordnet werden. Standard ist 'Datum'.
- fields - Spezifische Felder, die für jeden Besuch in der Antwort zurückgegeben werden sollen. Standardwert '*' (alle). Akzeptiert 'ids' oder jede gültige Spalte
Alle gültigen Argumente können auch durch Senden einer OPTIONS-Anfrage an den jeweiligen Endpunkt abgeleitet werden.
Die Besuche/{ID} Endpunkt akzeptiert jede gültige Besuchs-ID.
Sichtbarkeit
Alle Endpunkte benötigen den API-Schlüssel und das Token, mit Ausnahme des Hauptendpunkts affwp/v1 Endpunkt.
Antwort
Die Antworten werden in JSON-Form zurückgegeben.
Beispiel besucht Antwort:
{
"visit_id": 1,
"affiliate_id": 5464,
"referral_id": 0,
"url": "http://google.com",
"referrer": "https://affiliatewp.com",
"campaign": "test",
"ip": "",
"date": "2016-09-20 21:58:09",
"id": 1
},
{
"visit_id": 2,
"affiliate_id": 5464,
"referral_id": 0,
"url": "http://google.com",
"referrer": "https://affiliatewp.com",
"campaign": "test",
"ip": "",
"date": "2016-09-18 21:58:11",
"id": 2
},
Example visits/{ID} response:
{
"visit_id": 2,
"affiliate_id": 5464,
"referral_id": 0,
"url": "http://google.com",
"referrer": "https://affiliatewp.com",
"campaign": "test",
"ip": "",
"date": "2016-09-18 21:58:11",
"id": 2
}
.