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.