POLLEX API für Magento .
Magento API
Dieses Dokument beschreibt die zur Verfügung gestellten Dienste für den Zugriff durch ein Magento Web-Shop-System.
Datentypen
Bei den verwendeten und angegebenen Datentypen handelt es sich um .NET-Datentypen aus der Version 4.0. Eine Beschreibung ist via MSDN (http://msdn.microsoft.com) verfügbar:
Datentyp | MSDN |
|---|---|
DataSet | Datenspeicher |
Decimal | Dezimalzahl |
Double | 64-Bit Gleitkommazahl |
Integer | 32-Bit vorzeichenbehaftete Ganzzahl |
String | Zeichenkette |
Methoden
Die Methoden werden durch den Dienst LC.MiscService zur Verfügung gestellt. Dieser ist über den Applikations-Server (Pollex TaskCenter-Installation) unter folgender Adresse erreichbar: http://hostname/LCWebServices/LC.MiscService/MiscService.asmx
Ist ein Parametername in eckigen Klammern gefasst, so ist dies ein optionaler Parameter. Ist er in runde Klammern gefasst, handelt es sich um einen Ausgangparameter, welcher einen Wert zurückgibt.
Artikel
MagentoGetItemDetails
Diese Methode gibt Informationen für eine Auflistung von Artikeln zurück. Die zurückgegebenen Informationen umfassen Preis- und Lagerbestandsdaten.
public DataSet MagentoGetItemDetails(string databasename, string servername, string username, string password, double customerNumber, DataSet dsRequestedItems)
Parameter
Parameter | Datentyp | Beschreibung |
|---|---|---|
databasename | String | Der Name der Datenbank, auf welche der Zugriff erfolgen soll. |
[servername] | String | Der Name des Servers, auf welchem sich die Datenbank befindet. |
username | String | Der Benutzername zur Anmeldung an der Warenwirtschaft. |
password | String | Das Passwort zur Anmeldung an der Warenwirtschaft. |
customerNumber | Double | Die Pollex-Kundennummer zur Bestimmung des Artikelpreises. |
dsRequestedItems | DataSet | Ein DataSet mit den Informationen der abzufragenden Artikel. Dabei werden die Informationen aus der ersten Tabelle dieses DataSets entnommen. Es werden zwei Spalten erwartet:
|
Rückgabewert
Der Rückgabewert ist vom Type DataSet und beinhaltet eine Tabelle. Wurden keine Artikelinformationen gefunden, wird ein leeres DataSet zurückgegeben. Nachfolgend eine Auflistung der enthaltenen Spalten:
Parameter | Datentyp | Beschreibung |
|---|---|---|
ITEM_NUMBER | String | Die Pollex-Artikelnummer. |
LIST_PRICE | Decimal | Der Verkaufspreis aus dem Artikelstamm. |
DISCOUNT | Decimal | Der Rabatt als Prozentwert (z.B. 10,0 entspricht 10%). |
NET_PRICE | Decimal | Der selektierte Preis exkl. Rabatt und exkl. Mehrwertsteuer aus der Preisfindung. |
VAT_CODE | Integer | Die Kennzahl der Mehrwertsteuer aus der Warenwirtschaft. |
VAT_RATE | Decimal | Der Mehrwertsteuersatz als Prozentwert (z.B. 20,0 entspricht 20%). |
AVAILABLE_QUANTITY | Decimal | Der aktuell verfügbare Lagerbestand |
MagentoGetItemDetails2
Diese Methode gibt Informationen für eine Auflistung von Artikeln zurück. Die zurückgegebenen Informationen umfassen Preis- und Lagerbestandsdaten.
public MagentoItemDetail[] MagentoGetItemDetails2(string databasename, string servername, string username, string password, double customerNumber, string[] itemNumbers, decimal quantity)
Parameter
Parameter | Datentyp | Beschreibung |
|---|---|---|
databasename | String | Der Name der Datenbank, auf welche der Zugriff erfolgen soll. |
[servername] | String | Der Name des Servers, auf welchem sich die Datenbank befindet. |
username | String | Der Benutzername zur Anmeldung an der Warenwirtschaft. |
password | String | Das Passwort zur Anmeldung an der Warenwirtschaft. |
customerNumber | Double | Die Pollex-Kundennummer zur Bestimmung des Artikelpreises. |
itemNumbers | String[] | Eine Auflistung von Artikelnummern. |
quantity | Decimal | Die Menge für Berücksichtigung von Rabatten bei der Preisfindung. |
Rückgabewert
Der Rückgabewert ist eine Auflistung vom Typ MagentoItemDetail. Wurden keine Artikelinformationen gefunden, wird eine leere Liste zurückgegeben. Nachfolgend eine Auflistung der enthaltenen Eigenschaften des Typs MagentoItemDetail:
Eigenschaft | Datentyp | Beschreibung |
|---|---|---|
ItemNumber | String | Die Pollex-Artikelnummer. |
ListPrice | Decimal | Der Verkaufspreis aus dem Artikelstamm (ARTIKELSTAMM.VK). |
Discount | Decimal | Der Rabatt als Prozentwert (z.B. 10,0 entspricht 10%). |
NetPrice | Decimal | Der selektierte Preis exkl. Rabatt und exkl. Mehrwertsteuer aus der Preisfindung. |
VatCode | Decimal | Die Kennzahl der Mehrwertsteuer aus der Warenwirtschaft (ARTIKELSTAMM.USTCODE). |
VatRate | Decimal | Der Mehrwertsteuersatz als Prozentwert (z.B. 20,0 entspricht 20%). |
AvailableQuantity | Decimal | Der aktuell verfügbare Lagerbestand. |
Kunden
MagentoImportCustomerData
Diese Methode erstellt oder aktualisiert einen Kunden in der Warenwirtschaft.
public double MagentoImportCustomerData(string databasename, string servername, string username, string password, string csv, out string ex)
Parameter
Parameter | Datentyp | Beschreibung |
|---|---|---|
databasename | String | Der Name der Datenbank, auf welche der Zugriff erfolgen soll. |
[servername] | String | Der Name des Servers, auf welchem sich die Datenbank befindet. |
username | String | Der Benutzername zur Anmeldung an der Warenwirtschaft. |
password | String | Das Passwort zur Anmeldung an der Warenwirtschaft. |
csv | String | Die Kundendaten als Zeichenkette im CSV-Format. |
(ex) | String | Eine Zeichenkette mit möglichen Fehlermeldungen. |
Rückgabewert
Der Rückgabewert ist vom Typ Double und gibt die Kundennummer des erstellten oder aktualisierten Kunden an. Ist während der Abarbeitung ein Fehler aufgetreten, wird double.NaN zurückgegeben.
MagentoImportCustomerShippingAddress
Diese Methode erstellt oder aktualisiert die Lieferadresse eines Kunden in der Warenwirtschaft.
public double MagentoImportCustomerShippingAddress(string databasename, string servername, string username, string password, string csv, out string ex)
Parameter
Parameter | Datentyp | Beschreibung |
|---|---|---|
databasename | String | Der Name der Datenbank, auf welche der Zugriff erfolgen soll. |
[servername] | String | Der Name des Servers, auf welchem sich die Datenbank befindet. |
username | String | Der Benutzername zur Anmeldung an der Warenwirtschaft. |
password | String | Das Passwort zur Anmeldung an der Warenwirtschaft. |
csv | String | Die Adressdaten als Zeichenkette im CSV-Format. |
(ex) | String | Eine Zeichenkette mit möglichen Fehlermeldungen. |
Rückgabewert
Der Rückgabewert ist vom Typ Double und gibt den Adressindex der erstellten oder aktualisierten Adresse an. Ist während der Abarbeitung ein Fehler aufgetreten, wird double.NaN zurückgegeben.
MagentoImportCustomerShippingAddress
Diese Methode erstellt oder aktualisiert die Lieferadresse eines Kunden in der Warenwirtschaft.
public double MagentoImportCustomerShippingAddress(string databasename, string servername, string username, string password, string csv, out string ex)
Parameter
Parameter | Datentyp | Beschreibung |
|---|---|---|
databasename | String | Der Name der Datenbank, auf welche der Zugriff erfolgen soll. |
[servername] | String | Der Name des Servers, auf welchem sich die Datenbank befindet. |
username | String | Der Benutzername zur Anmeldung an der Warenwirtschaft. |
password | String | Das Passwort zur Anmeldung an der Warenwirtschaft. |
csv | String | Die Adressdaten als Zeichenkette im CSV-Format. |
(ex) | String | Eine Zeichenkette mit möglichen Fehlermeldungen. |
Rückgabewert
Der Rückgabewert ist vom Typ Double und gibt den Adressindex der erstellten oder aktualisierten Adresse an. Ist während der Abarbeitung ein Fehler aufgetreten, wird double.NaN zurückgegeben.
MagentoImportCustomerBillingAddress
Diese Methode erstellt oder aktualisiert die Rechnungsadresse eines Kunden in der Warenwirtschaft.
public double MagentoImportCustomerBillingAddress(string databasename, string servername, string username, string password, string csv, out string ex)
Parameter
Parameter | Datentyp | Beschreibung |
|---|---|---|
databasename | String | Der Name der Datenbank, auf welche der Zugriff erfolgen soll. |
[servername] | String | Der Name des Servers, auf welchem sich die Datenbank befindet. |
username | String | Der Benutzername zur Anmeldung an der Warenwirtschaft. |
password | String | Das Passwort zur Anmeldung an der Warenwirtschaft. |
csv | String | Die Adressdaten als Zeichenkette im CSV-Format. |
(ex) | String | Eine Zeichenkette mit möglichen Fehlermeldungen. |
Rückgabewert
Der Rückgabewert ist vom Typ Double und gibt den Adressindex der erstellten oder aktualisierten Adresse an. Ist während der Abarbeitung ein Fehler aufgetreten, wird double.NaN zurückgegeben.
Aufträge
MagentoImportOrders
Diese Methode erstellt einen Auftrag aus dem Magento in der Warenwirtschaft.
public double MagentoImportOrders(string databasename, string servername, string username, string password, string xml, out string ex)
Parameter
Parameter | Datentyp | Beschreibung |
|---|---|---|
databasename | String | Der Name der Datenbank, auf welche der Zugriff erfolgen soll. |
[servername] | String | Der Name des Servers, auf welchem sich die Datenbank befindet. |
username | String | Der Benutzername zur Anmeldung an der Warenwirtschaft. |
password | String | Das Passwort zur Anmeldung an der Warenwirtschaft. |
csv | String | Die Adressdaten als Zeichenkette im CSV-Format. |
(ex) | String | Eine Zeichenkette mit möglichen Fehlermeldungen. |
Rückgabewert
Der Rückgabewert ist vom Typ Double und gibt die Nummer des erstellten Auftrags an. Ist während der Abarbeitung ein Fehler aufgetreten, wird double.NaN zurückgegeben.
MagentoGetOrderStatus
Liefert alle Aufträge eines Kunden mit Positionen. Wahlweise kann das Auftragsdatum eingeschränkt werden, und/oder nur offene Positionen ermittelt werden.
Methoden-Aufruf
MagentoOrderStatusOrder[] MagentoGetOrderStatus(string databasename, string username,
string password, long customerNumber, DateTime? fromDate, DateTime? toDate, bool onlyOpenPositions)
Parameter
Parameter | Datentyp | Beschreibung |
|---|---|---|
databasename | String | Der Name der Datenbank, auf welche der Zugriff erfolgen soll. Ist dieser Parameter null oder eine leere Zeichenkette, wird eine Ausnahme generiert. |
username | String | Der Benutzername zur Anmeldung an der Warenwirtschaft. Ist dieser Parameter null oder eine leere Zeichenkette, wird eine Ausnahme generiert. |
password | String | Das Passwort zur Anmeldung an der Warenwirtschaft. Ist dieser Parameter null oder eine leere Zeichenkette, wird eine Ausnahme generiert. |
customerNumber | long | Die Pollex-Kundennummer, für den die Aufträge ermittelt werden. Ist dieser Parameter null oder eine leere Zeichenkette, wird eine Ausnahme generiert. |
fromDate | DateTime? | [Optional] Von-Auftragsdatum. Wenn angegeben, werden nur Aufträge ab diesem Datum selektiert. |
toDate | DateTime? | [Optional] Bis-Auftragsdatum. Wenn angegeben, werden nur Aufträge bis (inkl) zu diesem Datum selektiert. |
onlyOpenPositions | bool | true = Es werden nur Aufträge und Positionen selektiert, die noch nicht erledigt sind. |
Rückgabewert
Der Rückgabewert ist eine Auflistung vom Typ MagentoOrderStatusOrder. Wurden keine Aufträge gefunden, wird eine leere Liste zurückgegeben. Nachfolgend eine Auflistung der enthaltenen Eigenschaften des Typs MagentoOrderStatusOrder:
MagentoStatusOrder
Eigenschaft | Datentyp | Beschreibung |
|---|---|---|
OrderNumber | Long | Die Pollex-Auftragsnummer. |
CustomerNumber | Long | die Pollex-Kundennummer. |
Name1 | String | Kunden-Name1 |
Name2 | String | Kunden-Name2 |
Street | String | Kunden-Strasse |
PostCode | String | Kunden-PLZ |
City | String | Kunden-Ort |
Country | String | Kunden-Landkürzel (kundenspezifisch) |
PaymentTerms | String | Zahlungsbedingung (kundenspezifisch) |
DeliveryTerms | String | Versandart (kundenspezifisch) |
ShippingType | String | Versandart (kundespezifisch) |
OrderDate | DateTime | Auftragsdatum |
TotalAmount | Decimal | Gesamtbetrag exkl. MWSt |
TotalAmountInc | Decimal | Gesamtbetrag inkl. MWSt |
TotalVatAmount | Decimal | Gesamt-MWSt-Betrag |
Positions | MagentoOrderStatusOrderPosition[] | Auflistung der einzelnen Positionen des Auftrags bzw. der offenen Positionen. Nachfolgend eine Auflistung der Eigenschaften des Typs MagentoOrderStatusOrderPosition. |
MagentoStatusOrderPosition
Eigenschaft | Datentyp | Beschreibung |
|---|---|---|
ItemNumber | String | ArtikelNummer |
ItemDescription1 | String | Artikel-Bezeichnung1 |
ItemDescription2 | String | Artikel-Bezeichnung2 |
ItemDescription3 | String | Artikel-Bezeichnung3 |
Quantity | Decimal | Auftragsmenge |
DeliveredQuantity | Decimal | Bereits gelieferte Menge |
OpenQuantity | Decimal | Offene Menge |
QuantityUnit | String | Mengeneinheit |
ListPrice | Decimal | Der Listenverkaufspreis der Auftragsposition (Spalte PREISORIGINAL) |
DiscountPercent | Decimal | Der Rabatt als Prozentwert (z.B. 10,0 entspricht 10%). |
NetPrice | Decimal | Der Nettoverkaufspreis (Listenpreis abzüglich Rabatt) exkl. Mehrwertsteuer |
VatCode | Integer | Die Kennzahl der Mehrwertsteuer aus der Warenwirtschaft (Spalte USTCODE). |
VatRate | Decimal | Der Mehrwertsteuersatz als Prozentwert (z.B. 20,0 entspricht 20%). |
TotalAmount | Decimal | Gesamtbetrag der Position exkl. MWSt (Nettopreis mal Gesamtmenge der Position) |
TotalAmountInc | Decimal | Gesamtbetrag der Position exkl. MWSt (Nettopreis mal Gesamtmenge der Position) |
IsFinished | Boolean | true = Position ist erledigt oder vollständig geliefert. false = Offene Menge vorhanden. |
SOAP-Request-Body
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema ">
<soap:Body>
<MagentoGetOrderStatus xmlns="<http://www.pollex-lc.com/>">
<databasename>P1</databasename>
<username>SYSADM</username>
<password>SYSADM</password>
<customerNumber>20011</customerNumber>
<fromDate xsi:nil="true" />
<toDate xsi:nil="true" />
<onlyOpenPositions>true</onlyOpenPositions>
</MagentoGetOrderStatus>
</soap:Body>
</soap:Envelope>
SOAP-Response-Body
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema ">
<soap:Body>
<MagentoGetOrderStatusResponse xmlns="<http://www.pollex-lc.com/>">
<MagentoGetOrderStatusResult>
<MagentoOrderStatusOrder>
<OrderNumber>13100025</OrderNumber>
<CustomerNumber>20011</CustomerNumber>
<Name1>Travolta, John</Name1>
<Name2>-</Name2>
<Street>Hollywood Boulevard 191</Street>
<PostCode>4531</PostCode>
<City>Kematen a.d.Krems</City>
<Country>A</Country>
<PaymentTerms>SZK</PaymentTerms>
<DeliveryTerms>SLK</DeliveryTerms>
<ShippingType />
<OrderDate>2013-06-18T10:59:00</OrderDate>
<TotalAmount>166.5</TotalAmount>
<TotalAmountInc>199.8</TotalAmountInc>
<TotalVatAmount>33.3</TotalVatAmount>
<Positions>
<MagentoOrderStatusOrderPosition>
<ItemNumber>SER1</ItemNumber>
<ItemDescription1>Seriennummernartikel 1</ItemDescription1>
<ItemDescription2 />
<ItemDescription3 />
<Quantity>2</Quantity>
<DeliveredQuantity>0</DeliveredQuantity>
<OpenQuantity>2</OpenQuantity>
<QuantityUnit>Stk</QuantityUnit>
<ListPrice>83.25</ListPrice>
<DiscountPercent>0</DiscountPercent>
<NetPrice>83.25</NetPrice>
<VatCode>1</VatCode>
<VatRate>20</VatRate>
<TotalAmount>166.5</TotalAmount>
<TotalAmountInc>199.8</TotalAmountInc>
<IsFinished>false</IsFinished>
</MagentoOrderStatusOrderPosition>
</Positions>
</MagentoOrderStatusOrder>
<MagentoOrderStatusOrder>
<OrderNumber>13100058</OrderNumber>
<CustomerNumber>20011</CustomerNumber>
<Name1>Travolta, John</Name1>
<Name2>-</Name2>
<Street>Hollywood Boulevard 191</Street>
<PostCode>4531</PostCode>
<City>Kematen a.d.Krems</City>
<Country>A</Country>
<PaymentTerms>SZK</PaymentTerms>
<DeliveryTerms>SLK</DeliveryTerms>
<ShippingType />
<OrderDate>2013-08-19T17:41:55</OrderDate>
<TotalAmount>0</TotalAmount>
<TotalAmountInc>0</TotalAmountInc>
<TotalVatAmount>0</TotalVatAmount>
<Positions>
<MagentoOrderStatusOrderPosition>
<ItemNumber>101104</ItemNumber>
<ItemDescription1>Travelbox F-Serie</ItemDescription1>
<ItemDescription2>Tasche + Heimladegerät für Falk F3, F4, </ItemDescription2>
<ItemDescription3>Vision 500, Vision 700</ItemDescription3>
<Quantity>2</Quantity>
<DeliveredQuantity>0</DeliveredQuantity>
<OpenQuantity>2</OpenQuantity>
<QuantityUnit>Stk</QuantityUnit>
<ListPrice>12.5</ListPrice>
<DiscountPercent>0</DiscountPercent>
<NetPrice>12.5</NetPrice>
<VatCode>2</VatCode>
<VatRate>0</VatRate>
<TotalAmount>25</TotalAmount>
<TotalAmountInc>27.5</TotalAmountInc>
<IsFinished>false</IsFinished>
</MagentoOrderStatusOrderPosition>
<MagentoOrderStatusOrderPosition>
<ItemNumber>SER3</ItemNumber>
<ItemDescription1>Seriennummernartikel 1</ItemDescription1>
<ItemDescription2 />
<ItemDescription3 />
<Quantity>2</Quantity>
<DeliveredQuantity>0</DeliveredQuantity>
<OpenQuantity>2</OpenQuantity>
<QuantityUnit>Stk</QuantityUnit>
<ListPrice>83.25</ListPrice>
<DiscountPercent>0</DiscountPercent>
<NetPrice>83.25</NetPrice>
<VatCode>1</VatCode>
<VatRate>0</VatRate>
<TotalAmount>166.5</TotalAmount>
<TotalAmountInc>199.8</TotalAmountInc>
<IsFinished>false</IsFinished>
</MagentoOrderStatusOrderPosition>
</Positions>
</MagentoOrderStatusOrder>
</MagentoGetOrderStatusResult>
</MagentoGetOrderStatusResponse>
</soap:Body>
</soap:Envelope>
MagentoGetOrderPDF
Diese Methode erstellt die Auftragsbestätigung als PDF und lädt diese auf einen FTP-Server hoch.
Die FTP-Zugangsdaten müssen in der Warenwirtschaft in der Tabelle UEBERSETZUNGEN wie folgt enthalten sein:
Spaltenname | Datentyp | Inhalt |
|---|---|---|
CODE | Smallint | 1 |
VON | String | PDFExportFTP |
AUF | String | Pfad;Benutzername;Passwort Der Pfad muss mit einem Schrägstrich enden. |
public double MagentoGetOrderPDF(string databasename, string servername, string username, string password, double customerNumber, double orderNumber)
Parameter
Parameter | Datentyp | Beschreibung |
|---|---|---|
databasename | String | Der Name der Datenbank, auf welche der Zugriff erfolgen soll. |
[servername] | String | Der Name des Servers, auf welchem sich die Datenbank befindet. |
username | string | Der Benutzername zur Anmeldung an der Warenwirtschaft. |
password | String | Das Passwort zur Anmeldung an der Warenwirtschaft. |
customerNumber | Double | Die Pollex-Kundennummer des dem Auftrag zugewiesenen Kunden. |
orderNumber | Double | Die Pollex-Auftragsnummer des entsprechenden Auftrags. |
Rückgabewert
Der Rückgabewert ist vom Typ String und gibt den Dateinamen des erstellten PDFs an. Der Dateiname ist als MD5-Hashwert verschlüsselt und wie folgt zusammengesetzt: Kundennummer + Auftragsnummer + phirlD7GhV3jmkns.pdf
Ist während der Abarbeitung ein Fehler aufgetreten, wird eine leere Zeichenkette zurückgegeben.
Rechnungen
MagentoGetInvoicePDF
Diese Methode erstellt eine PDF-Datei zur Rechnung aus der Warenwirtschaft und lädt diese auf einen FTP-Server hoch.
Die FTP-Zugangsdaten müssen in der Warenwirtschaft in der Tabelle UEBERSETZUNGEN wie folgt enthalten sein:
Spaltenname | Datentyp | Inhalt |
|---|---|---|
CODE | Smallint | 1 |
VON | String | PDFExportFTP |
AUF | String | Pfad;Benutzername;Passwort Der Pfad muss mit einem Schrägstrich enden. |
public double MagentoGetInvoicePDF(string databasename, string servername, string username, string password, string magentoIncrementID)
Parameter
Parameter | Datentyp | Beschreibung |
|---|---|---|
databasename | String | Der Name der Datenbank, auf welche der Zugriff erfolgen soll. |
[servername] | String | Der Name des Servers, auf welchem sich die Datenbank befindet. |
username | String | Der Benutzername zur Anmeldung an der Warenwirtschaft. |
password | String | Das Passwort zur Anmeldung an der Warenwirtschaft. |
magentoIncrementID | String | Die IncrementID aus Magento für die entsprechende Rechnung. |
Rückgabewert
Der Rückgabewert ist vom Typ String und gibt den Dateinamen des erstellten PDFs an. Der Dateiname ist als MD5-Hashwert verschlüsselt und wie folgt zusammengesetzt: Kundennummer + Rechnungsnummer + phirlD7GhV3jmkns.pdf
Ist während der Abarbeitung ein Fehler aufgetreten, wird eine leere Zeichenkette zurückgegeben.