Skip to main content

Update / easy.affiliate REST-API (Orders)

📝 Einleitung

Um Orders automatisiert im easy.affiliate-System bearbeiten zu können, stellt die easy Marketing GmbH eine Webservice-API zur Verfügung. Diese ermöglicht es, bestehende Orders im Nachgang zu bearbeiten, sobald sie den Validierungsprozess durchlaufen.

Jedem User stehen hierfür ein Authentifizierungs-Token und eine Login_id zur Verfügung, die über das Frontend abgerufen werden können.

  • User-ID: Wo ist die User-ID hinterlegt? (Siehe Frontend-Profil)
  • Access-Token: Wo ist der Access-Token hinterlegt? (Siehe API-Einstellungen)

Endpunkte

Zielgruppe URL
Admin https://SUBDOMAIN.de/ws/V6/admin/JSON/Orders
Advertiser https://SUBDOMAIN.de/ws/V6/advertiser/JSON/Orders

Beispiele

Beispiel mit cURL

curl -X PUT \
  -H "Content-Type: application/json" \
  -H "X-Network-ID: -1" \
  -H "X-Auth-Token: ADMIN_APIUSER_TOKEN" \
  -H "X-Auth-ID: ADMIN_APIUSER_LOGIN_ID" \
  -d '[{ "campaign_id": 1, "id": 12345, "status": 1, "turnover":100.00, "commission":12.34 },{ "campaign_id": 1, "ordertoken":"123a456b", "status": 2, "turnover": 0.00 }]' \
  https://DOMAIN/ws/V6/admin/JSON/Orders

Codebeispiel

Mit der folgenden Methode können mehrere Orders geupdatet werden. Ein Beispielaufruf sieht folgendermaßen aus:

Headers

Variable Wert / Bedeutung
Content-Type application/json
X-Network-ID -1
X-Auth-Token ADMIN_APIUSER_TOKEN
X-Auth-ID ADMIN_APIUSER_LOGIN_ID

Body

[
    {
        "id": "12345",
        "campaign_id": 1,
        "status": 1,
        "turnover": 10.00,
        "commission": 0.99
    },
    {
        "ordertoken": "123a456b",
        "campaign_id": 1,
        "trigger_id": 1,              
        "status": 2,
        "turnover": 9.99,
        "cancel_reason": "Storno Grund"
    }
]

Variablenerläuterung

Headers

Variable Bedeutung Datentyp
Content-Type Der Content-Type des Requests String
X-NETWORKID Hier wird die ID des Mandanten eingetragen. Wenn nur ein Mandant vorhanden ist oder mandantenübergreifend gearbeitet wird, muss der Wert “-1” eingetragen werden. Integer
X-AUTH-TOKEN Hier wird der API-Authentifizierungs-Token des Admin Nutzers hinterlegt. String
X-AUTH-ID Hier wird die ID des Admin Nutzers hinterlegt. Integer

Body

Im nachfolgenden werden die Standard-Parameter aufgelistet. Es ist aber über die API möglich, alle zur Verfügung stehenden Parameter zu updaten.

Parameter ErklärungBeschreibung Datentyp Pflichtfeld
campaign_idKampagne, in der die Order gesucht wird. Wird immer benötigt – auch bei Identifikation per id. Alternativ über emid auflösbar.Integer✅ Ja
id HierInterne wirdOrder-ID diezur TransaktionsidIdentifikation hinterlegt.
Aufbau:der Order. Alternative zu "id":"ID"ordertoken.
StringInteger Ja (oder ordertoken)
ordertoken HierOrder-Token wirdzur derIdentifikation. OrdertokenAlternative hinterlegt.
Aufbau:zu "ordertoken":"ORDERTOKEN"id. trigger_id ist hierfür nicht erforderlich.
String Ja (oder id).*
campaign_idemid HierKlick-/Action-ID wird(24-stellig diehex). Campaign_id hinterlegt.
Aufbau:Kann "campaign_id":CAMPAIGN_IDcampaign_id auflösen.
IntegerString JaNein
trigger_idstatus Hier wird die Trigger ID hinterlegt.
Aufbau:Order-Status: "trigger_id":TRIGGER_ID-5 = Moderation, 0 = offen, 1 = bestätigt, 2 = storniert (-6 = storniert mit Grund).
Integer Nein, nur falls ordertoken genutzt wird.Nein
statusturnover HierBestellwert wirdin der Status hinterlegt.
Werte: -5 (ausstehende Nachbuchung), 0 (offen), 1 (bestätigt), 2 (storniert)Kampagnenwährung.
IntegerFloat Nein
turnoveroriginal_turnover HierBestellwert in Fremdwährung. Achtung: Wenn gesetzt, wird der Bestellwertdamit der Transaktionturnover in Kampagnenwährung hinterlegt.
Aufbau: "turnover":TURNOVERüberschrieben.
Float Nein
original_turnovercommission Hier wird der Bestellwert der TransaktionProvisionswert in FremdwährungKampagnenwährung. hinterlegt.
Aufbau:Wert "original_turnover":TURNOVER_IN_FREMDWÄHRUNGautocalculate" berechnet bei dynamischen Triggern automatisch aus turnover × trigger_value.
Float Nein
commissioncancel_reason HierStornogrund wirdbei dieStatus Provisionshöhe2 inbzw. Kampagnenwährung hinterlegt, falls Sie die Commission selbst berechnen möchten.-6. FloatString Nein
cancel_reasonstatus_change_date ÜbergebenDatum Sieder denStatusänderung Stornogrund.
Aufbau:(ISO "cancel_reason":"Stornogrund"8601). Wird gesetzt, wenn übergeben; ansonsten bei Statuswechsel automatisch. Steuert intern auch das Billing-/Moderationsdatum.
StringDatetime Nein
sub_statusSubstatus der Order (frei belegbar).StringNein
descriptionFreitext-Beschreibung (max. 255 Zeichen). Nicht descr wie beim Create – beim Update ist der Spaltenname description.StringNein
order_currencyBestellwährung als ISO-Code. Nicht currency wie beim Create.StringNein
subid_valueAttributionswert (SubID). Nicht subid wie beim Create.StringNein
visibilitySichtbarkeit: 0 (versteckt) oder 1 (sichtbar).IntegerNein
get_parametersObjekt { "key": "value", … }. Wird pro Order upserted (orders_getparameter).ObjectNein

*) Hinweis: Wird der ordertoken genutzt, ist neben der campaign_id auch die trigger_id ein Pflichtfeld.