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
    },
    {
        "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

Parameter Beschreibung Datentyp Pflichtfeld
campaign_id Kampagne, in der die Order gesucht wird. Wird immer benötigt – auch bei Identifikation per id. Alternativ über emid auflösbar. Integer ✅ Ja
id Interne Order-ID zur Identifikation der Order. Alternative zu ordertoken. Integer ✅ Ja (oder ordertoken)
ordertoken Ordertoken zur Identifikation. Alternative zu id. String ✅ Ja (oder id)
trigger_id ID des Triggers, der bei Nutzung von ordertoken zwingend angegeben werden muss. Alternativ per trigger_title. String ✅ Ja (oder id)
emid Klick-/Action-ID (24-stellig hex). Kann campaign_id auflösen. String Nein
status 0 = offen, 1 = bestätigt, 2 = storniert, 3 = ausgezahlt. Integer Nein
turnover Bestellwert in Kampagnenwährung. Float Nein
original_turnover Bestellwert in Fremdwährung. Achtung: Wenn gesetzt, wird damit der turnover überschrieben. Float Nein
commission Provisionswert in Kampagnenwährung. Wert "autocalculate" berechnet bei dynamischen Triggern automatisch`. Float Nein
cancel_reason Stornogrund bei Status 2. String Nein
status_change_date Datum der Statusänderung (ISO 8601). Wird gesetzt, wenn übergeben; ansonsten bei Statuswechsel automatisch. Steuert intern auch das Billing-/Moderationsdatum. Datetime Nein
sub_status Substatus der Order (frei belegbar). String Nein
description Freitext-Beschreibung (max. 255 Zeichen). String Nein
order_currency Bestellwährung als ISO-Code. String Nein
subid_value Attributionswert (SubID). Nicht subid wie beim Create String Nein
get_parameters Objekt { "key": "value", … }. Wird pro Order upserted (orders_getparameter). Object Nein

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