Erfolgsassistent: Ihr Navigator im Digitalen Marketing

API

Mit unserer integrierten API-Schnittstelle können Sie nicht nur neue Vertriebspartner, Kunden und Bestellungen anlegen, sondern auch bestehende Daten modifizieren. Diese Lektion bietet Ihnen eine technische Übersicht über diese Schnittstelle, die Ihnen als Grundlage dient.

In der Entwicklungsumgebung werden mehrere Musterdateien integriert, die Ihnen als Ausgangspunkt für diverse Prozesse dienen. Diese direkt einsetzbaren Beispiele können Sie unmittelbar in Ihrer Umgebung nutzen und sie entsprechend Ihren Abläufen modifizieren.

Sie müssen immer zwei Parameter im JSON-Format per POST an „/wbo /api/request/run“ übergeben.

Im ersten Array übergeben Sie API-Schlüssel (Hash) wie unter Prunkt 1 beschrieben, um sich an der API unserer Software zu autorisieren.

Im zweiten Array übergeben Sie die Daten mit Inhalten des Vertriebspartners und Auftrages wie unter Punkt 2 beschrieben.

1.      Allgemeine Informationen.

URL API: host/wbo /api/request/run

Daten werden an die API als POST übergeben.

M – Pflichtfeld (Mandatory)

O – Optional (Optional)

Sie müssen immer zwei Parameter im JSON-Format übergeben.

A.      Сonnection:

Beschreibung von dem Array «connection»

FeldPflicht oder optionalTypBeschreibung
websiteIdMstring(256)Identifizierung von dem Client
hashMstring(256)hash Abfrage
ActionMstring(256)Name der API – Aufgabe

B.      Variable mit Daten (Die Bezeichnung ist von der Art der Aufgabe abhängig, die folgend näher beschrieben sind.)

Nach der Ausführung liefert die API Antwort im JSON-Format mit zwei Variablen.

  1. connection – Allgemeine Informationen
  2. response – Detaillierte Information (abhängig von der Art der Aufgabe)

Beschreibung des allgemeinen Teils der Serverantwort (Array „connection“

FeldTypBeschreibung
responseCodeIntStatus der API-Antwort 1 = Aufgabe erfolgreich abgeschlossen. Ansonsten Fehlercode.  
stampstringDatum und Uhrzeit der Anfrage  
responseStatus Kurze Textmeldung mit Status  
responseMessage Ausführliche Meldung.  

Die Meldungen müssen immer auf die Fehler geprüft werden. Außer 1 darf keine andere Antwort ignoriert werden.

2.      Hash erzeugen.

Alle API-Anfragen werden verschlüsselt. Um Hash zu bekommen, ist es notwendig die Anfrage in folgender Reihenfolge zu generieren.

hashString = “websiteId.action.variables.APISecureCode”

websiteId, APISecureCode = API – Zugangsdaten

Action = Name der API – Aufgabe

Variables = Liste aller Variablen (Format „Variable = Wert“) alphabetisch sortiert

In PHP sieht die Funktion für das Erzeugen von „variables“ könnte wie folgt aussehen.

    public function getHashString($data){

        $hashstr = „“;

        foreach($data as $key => $val){

            if(is_array($data[$key])){

             $hashstr.=$this->getHashString($val);    

            } else {

             $hashstr.=$val;    

            }

        }

      return $hashstr; 

    }

Hash-Wert erhalten Sie wie folgt.

Hash= md5(hashString)

3.      Neuen User (Vertriebspartner, Kunde) registrieren.

Name der Aufgabe – user

Name der Variablen mit Daten – user

Beschreibung von dem Array «user»

FeldPflichtfelderTypBeschreibung
usernameMstring(256)Benutzername
passwordOstring(256)Passwort
webnameOstring(256)Der Text für Affiliate-Link
emailMstring(256)Email des Benutzers
usertypeMstring(256)Typ des zu erstellenden Benutzers 0 = Nur Benutzer 1 = Kunde 2 = Vertriebspartner  
numberOstring(256)Externe Vertriebspartner-Nummer, die auf allen Belegen angezeigt wird.  
languageOstring(2)Schreibweise der Sprache „de“ oder „en“ Falls Sie weitere Sprachen wünschen, teilen uns das bitte mit. Wir werden diese in Ihrem Projekt aktivieren. Sonst kommt eine Fehlermeldung.  
agentidOstring(256)Vermittler Nr.
birthdayOstring(10)Geburtsdatum des Benutzers im Format dd.mm.YYYY  
referenceOstring(256)Benutzer-Nummer aus der externen Quelle. Nach dieser Nummer kann künftig Kommunikation zwischen unsere und der Quelldatenbank erfolgen.  
taxIdOstring(256)Steuernummer  
paypalemailOstring(256)Das Feld für die zweite E-Mail-Adresse in den Vertriebspartnerdaten  
adressesOArrayArray mit der Adressdaten des Benutzers.  
bankOArrayArray mit Bankdaten.  

Beschreibung von dem Array «adresses»

FeldPflichtTypBeschreibung
primaryAdressMInt1 = Immer übergeben
typeAdressMInt1 = Immer übergeben
company string(256)Firmenname
salutation string(256)Anrede 0 = Firma 1 = Herr 2 = Frau  
firstName string(256)Vorname
lastName string(256)Nachname
streetOstring(256)Straße
countryOstring(2)Land. Zwei Buchstaben ISO-Code (z.B. de)  
townOstring(256)Ort
postCodeOstring(256)PLZ
phoneOstring(256)Telefon
MobileOstring(256)Mobil
additionalPhoneOstring(256)Telefon 2
faxOstring(256)Telefax
emailOstring(256)E-Mail
skypeOstring(256)Skype

Beschreibung des Arrays «bank»

FeldPflichtTypBeschreibung
primaryBankMInt1 = Immer übergeben
typeBankMInt1 = Immer übergeben
IBANMstring(256) 
BICMstring(256) 

Beschreibung des Arrays «response»  – Antwort des Servers

FeldTypBeschreibung
internemitarbeiternrIntInternet Nr. des angelegten Vertriebspartners
mitarbeiternrIntExterne Nr. des angelegten Vertriebspartners. (Nummer, die er kennt)  
internekdnrstring(256)Internet Nr. des angelegten Kunden
kundennrstring(256)Externe Nr. des angelegten Kunden. (Nummer, die er kennt)  
uid Internet Nr. des angelegten Benutzers

4.      Bestellung anlegen.

Name der Aufgabe – orderCreate

Name der Variablen mit Daten – orderCreate

Beschreibung des Arrays «orderCreate»

FeldPflichtfeldTypBeschreibung
buyerIdMIntKundennummer. In unserer Warenwirtschaft existieren zwei Kundennummern. tb_kundendaten.internekdnr = ist eine interne Nummer, die unsere Warenwirtschaft für alle Berechnungen verwendet. Wen Sie diese Nummer kennen, können Sie diese hier verwenden.   tb_kundendaten.kundennr = In diesem Textfeld befindet sich die Kundenummer, die nach außen auf allen Belegen angezeigt wird. Um diese externe Nummer in der API an dieser Stelle zu übergeben müssen Sie folgende Schreibweise verwenden index:10002 anstatt 10002 tragen Sie die Kundennummer ein.  
paymentMethodMIntNummer der Zahlungsart
shippingMethodMIntNummer der Versandart
orderItemsMArrayListe aller Produkte und Pakete aus der Bestellung
invoiceaddressOArrayRechnungsadresse
shippingddressOArrayLieferadresse
bankOArrayBankdaten

Beschreibung des Arrays «orderItems»

FeldPflichtTypBeschreibung
productOArrayListe der Produkte
packageOarrayListe der Pakete

Beschreibung des Arrays «product»

FeldPflichtTypBeschreibung
idOIntAuftragsnummer aus der externen Quelle für die Verbindung.  
productIdMIntArtikelnummer
quantityMDecimalMenge
sortorderOIntReihenfolge für die Sortierung

Beschreibung der Arrays «invoiceaddress» und «shippingddress»

FeldPflichtTypBeschreibung
company string(256)Firmenname
salutation string(256)Anrede: 0 – Firma 1 – Herr 2 – Frau
firstName string(256)Vorname
lastName string(256)Nachname
streetOstring(256)Straße
countryOstring(2)Land. Zwei Buchstaben ISO-Code (z.B. de)
townOstring(256)Ort
postCodeOstring(256)PLZ
phoneOstring(256)Telefon
mobileOstring(256)Mobil
faxOstring(256)Telefax
emailOstring(256)E-Mail

Beschreibung des Arrays «bank»

FeldPflichtTypBeschreibung
IBANMstring(256)IBAN
BICMstring(256)BIC

Beschreibung des Arrays «response» – Antwort des Servers

FeldTypBeschreibung
cartIdIntWarenkorb-Nummer
hashstring(256)Hash-Code des Warenkorbes

5.      User (Vertriebspartner, Kunde) ändern.

Name der Aufgabe – userUpdate
Name der Variablen mit Daten – userUpdate

Array «userUpdate» enthält die gleichen Daten wie auch beim Anlegen eines Users zusätzlich kommen folgenden Variablen dazu.

FeldPflichtTypBeschreibung
referenceMstring(256)Benutzer-Nummer für die Identifikation des Users in Abhängigkeit von «referenceType».  
referenceTypeMstring(256)Mögliche Identifikations-Typen   «reference» = Benutzer-Nummer aus der externen Quelle, falls beim Anlegen des Users angegeben.«uid» im Feld „reference“ übergeben Sie unsere interne Nummer des Users“internekdnr” im Feld „reference“ übergeben Sie unsere interne Kunden–Nummer.«internemitarbeiternr» im Feld „reference“ übergeben Sie unsere interne Vertriebspartner–Nummer. «KundenNr» im Feld „reference“ übergeben Sie Kunden–Nummer die nach außen auf allen Belegen angezeigt wird.«MitarbeiterNr» im Feld „reference“ übergeben Sie Vertriebspartner–Nummer die nach außen auf allen Belegen angezeigt wird.  

6.      Zahlungseingang verbuchen

Bezeichnung der Anfrage: orderPaymentEecute
Bezeichnung des Datenarrays mit Variablen: orderPaymentEecute

Bestellungen, die Sie mit API angelegt haben, können mit dieser Funktion als bezahlt markiert werden. Bei einer Bestellung handelt es sich um einen Warenkorb, der aus mehreren Bestellpositionen zusammengesetzt werden kann.

Mit dieser Anfrage verbuchen Sie den Zahlungseingang für eine Bestellung.

Reicht das Geld aus, um die ganze Bestellung zu bezahlen, wird diese Bestellung komplett als bezahlt markiert.

Reicht das bezahlte Geld nicht aus, wird diese Bestellung nur zum Teil bezahlt.

Beschreibung des Datenarrays «orderPaymentEecute»

FeldPflichtTypBeschreibung
hashMstring(32)Beim Anlegen der Bestellung haben Sie als Antwort eindeutigen hash – Wert zurückerhalten. Diesen Wert müssen Sie jetzt angeben, um die Bestellung identifizieren zu können.  
sumMDecimalBezahlter Betrag (Wert muss größer als 0 sein)  
currencyMIntWährungsindex
paymentdateMstring(10)Zahlungsdatum im dd.mm.yyyy Format  
invoiceIdOIntRechnungsnummer, wenn bekannt. Damit vermeiden Sie Missverständnisse in dem Mahnwesen.  
accountIdOIntIndex der Buchhaltungs-Kontonummer. Im Office müssen Sie in diesem Fall zuerst die Konten einrichten.  

Als Antwort bekommen Sie eine Standard-Antwort mit dem Status der Ausführung.
Im Falle eines Fehlers bekommen Sie die detaillierte Beschreibung des Fehlers.

Nach oben scrollen