4. FTML (E-Commerce)
funtrade erlaubt die Anbindung eines externen E-Commerce Systems mit einer eigens dafür geschaffenen Schnittstelle FTML. FTML steht für funtrade Markup Language und ermöglicht es, Daten von (und nach) einer Website zu übermitteln.
Eine Website mit Angeboten für die Kunden der NPO generiert eine Menge von sogenannten Transaktionen, die als XML Datei an die NPO übermittelt wird. Wenn z.B. Hans Muster auf der Website eine Geldbetrag für ein bestimmtes Projekt per Kreditkarte spendet, dann generiert die Website ein Stück FTML, das so aussehen könnte:
<?xml version='1.0' encoding='ISO8859-1' ?>
<Transaction date="20011003" ident="D10000370" source="www.org.ch" target="org">
<Donation>
<DonorAddress>
<Address AddressType="Person" LanguageCode="f">
<Person SalutationCode="m">
<Firstname>Hans</Firstname>
<Name>Muster</Name>
</Person>
<MailingAddress>
<Street>Molkenstr.</Street>
<StreetNumber>21</StreetNumber>
<ZIP>8004</ZIP>
<City>Zürich</City>
</MailingAddress>
<EMail>hans.muster@provider.ch</EMail>
</Address>
</DonorAddress>
<Event>
<EventID>2133</EventID>
</Event>
<Amount Currency="CHF">250</Amount>
<Payment PaymentType="Invoice"/>
</Donation>
</Transaction>
Nachdem solche Transaktionen bei der NPO eintreffen, müssen sie in funtrade eingelesen und verarbeitet werden.
Die Benutzer haben beim Verarbeiten der Transaktionen die Möglichkeit, Korrekturen vorzunehmen oder sogar ganze Transaktionen abzulehnen (z.B. Herr Mickey Mouse aus 7899 Entenhausen spendet 1'000'000 Franken per Rechnung). Der grösste Teil der Transaktionen wird aber von funtrade automatisch erledigt.
4.1. FTML Daten einlesen
Das Einlesen der auf der Website generierten Daten ist der erste Schritt der Verarbeitung. Angenommen eine Datei mit den neuesten Transaktionen ist in /u/ftml/trans-20011010.xml
angekommen. Dann wird mit Extras → FTML-Import die Einlesemaske geöffnet und entsprechend ausgefüllt:
+----------------------- FTML-Import ------------------------+
|Beim Einlesen wird Status der Transaktionen automatisch |
|ermittelt. Eine Transaktion kann Status OK automatisch nur |
|dann erhalten, wenn die folgenden Parameter erfüllt sind. |
|Parameter: |
|Betrag von.: 10.00 bis: 1'000.00 |
|Ereignisse.: \* |
|Zahlungsart: \* |
| |
|Datei zum Einlesen: /u/ftml/trans-20011010.xml |
| |
+------------------------------------------------------------+
Danach sind die Daten in funtrade eingelesen und bereit zur Verarbeitung. Alle Details über das Einlesen und allfällige Fehlermedungen, finden sich in der Referenz in FTML Import.
4.2. FTML Daten Verarbeiten
Eingelesene, verarbeitete und abgelehnte Transaktionen können im Bildschirm FTML-Datenbearbeitung bearbeitet werden. Der Bildschirm listet alle Transaktionen (oder wahlweise nur zu bearbeitende Transaktionen) auf:
+--------------------------- FTML-Datenbearbeitung ----------------------------+
|Transaktion Datum Typ Auftraggeber Status |
|----------- -------- --- ------------------------------------------- ---------|
| 381 10.10.01 ZUS Kägi-Forrer, Max; Zürich (10189381) OK Aut |
| 376 08.10.01 ZUS Kägi-Forrer, Max; Zürich (10189381) OK Aut |
| 375 08.10.01 ZUS Kägi; Zürich () OK Aut |
| 374 05.10.01 ZUS Kägi, André; Zürich () OK Aut |
| 373 04.10.01 ZUS Kägi-Forrer, Max; Zürich (10189381) OK Aut |
| 372 04.10.01 ZUS Kägi, André; Zürich () OK Aut |
| 371 04.10.01 ZUS Kägi, André; Zürich () OK Aut |
| 213 11.10.01 PUB Gisler, Stefan; Zürich () NOK 19 |
+------------------------------------------------------------------------------+
Zuerst startet man verarbeiten → Transaktionen verarbeiten und lässt das System alle validierten Transaktionen in funtrade verarbeiten.
Nachdem die Transaktionen verarbeitet sind, kann man sich den „Problemfällen“ zuwenden (Status NOK).
4.3. Problemfälle bearbeiten
Transaktionen, die nicht verarbeitet werden können, haben einen Status NOK. Diese müssen manuell bearbeitet werden.
Bei einer solchen Transaktion muss zuerst der Grund für den Status NOK in Erfahrung gebracht werden. Die Detailansicht mit Zoom gibt Auskunft über den Status. Je nach Fehlermeldung können unterschiedliche Aktionen unternommen werden.
4.3.1.
Die Adressdaten sind nicht plausibel (z.B. nicht existierende PLZ)
Mit Adressen zuordnen kann die eingelesene Adresse bearbeitet werden. Es werden automatisch mögliche Kandidaten für die direkte Zuweisung aus der Adressdatenbank aufgelistet:
+------------------------- Kandidaten Übersicht 1-2/2--------------------------+
| Adr.Nr. Haush. Sts. Vorn. Nachname Firma Strasse Nr. PLZ Ort |
|-------- -------- ---- ----- ------------ ---------- --------- ---- ---- -----|
| 1456322 ---- Juerg Jessen Weberstra 9 4577 Hessi|
| 7634665 ---- Jürg Jessen Konradstr 1 4812 Mühle|
Für die Detailansicht der aufgelisteten Adressen kann zoom verwendet werden. Falls keine Treffer vorhanden sind, kann die Suche nach möglichen Kandidaten auch manuell mit suchen ermittelt werden. Diese können dann direkt mit übernehmen zugewiesen werden. Für die einfache Bearbeitung, wird einerseits die original eingelesene Adresse (FTML-Adresse) links oben angezeigt und andererseits die zugewiesene Adresse rechts oben:
+-------- FTML-Adresse --------+ +---- Zugewiesene Adresse -----+
|Juergen Jessen | |Herr ---- 2807742|
|Weberstrasse 9 | |Jürgen Jessen |
|4577 Hessigkofen | |Konradstrasse 1 |
|Email: j.jessen@worldonline.de| |4812 Mühlethal |
| | | |
+------------------------------+ +------------------------------+
Falls keine Adresse vom Adressstamm zutrifft, kann die Adresse mit erfassen auch neu erfasst werden. Mittels erfassenHH kann die eingelesene FTML-Adresse als Haushaltsmitglied zum gewählten Kandidaten erfasst werden. Danach wird die Transaktion manuell auf OK gesetzt und kann dann verarbeitet werden.
4.3.2.
Das mitgelieferte Ereignis existiert nicht, ein Artikel existiert nicht etc.
Offenbar sind die Systeme Web und funtrade nicht synchron. Das sollte so schnell wie möglich in Ordnung gebracht werden (z.B. Update des Artikelstamms auf der Website).
Um die vorhandene Transaktion doch noch zu verarbeiten, muss der Auftrag (die Spende etc.) manuell erfasst werden. Die FTML Transaktion wird dann auf abgelehnt gesetzt.
4.3.3.
Die Transaktion ist absurd (z.B. jemand hat als Name „xyz“ eingegeben und bestellt Waren).
Die Transaktion wird abgelehnt.
4.3.4.
Eine Transaktion wurde aufgrund der Benutzer-Plausibilisierungen auf NOK gesetzt (z.B. Spende in der Höhe von CHF 2'000.)
Die Transaktion sollte angeschaut und begutachtet werden. Ist sie OK, dann wird der Status manuell auf OK gesetzt. Wenn die Transaktion nicht in Ordnung ist, dann sollte sie abgelehnt werden.