Benutzer-Werkzeuge

Webseiten-Werkzeuge


develop:xmlrpc:einzelauftrag

Dies ist eine alte Version des Dokuments!


XML-RPC: Einzel-Aufträge

  • Namen der Services
    • hibiscus.xmlrpc.ueberweisung Für den Zugriff auf Einzel-Überweisungen
    • hibiscus.xmlrpc.lastschrift Für den Zugriff auf Einzel-Lastschriften
    • hibiscus.xmlrpc.sepaueberweisung Für den Zugriff auf SEPA-Überweisungen
    • hibiscus.xmlrpc.sepalastschrift Für den Zugriff auf SEPA-Lastschriften

Die Funktionen für Überweisungen und Lastschriften sind identisch, lediglich die Service-Namen unterscheiden sich.

Schlüssel-Namen

Bezeichnung Beschreibung
konto ID des Kontos
termin Ausführungstermin im Format dd.mm.yyyy
blz Bankleitzahl oder BIC des Gegenkontos
kontonummer Kontonummer oder IBAN des Gegenkontos
name Inhaber-Name des Gegenkontos
betrag Betrag des Auftrages im Format „0,00“
verwendungszweck Verwendungszweck (Array)
textschluessel Text-Schlüssel (Auftragsart) (bei SEPA nicht möglich)

Mögliche Werte:
04: Lastschrift - Abbuchungsverfahren
05: Lastschrift - Einzugsermächtigung
51: Überweisung (muss nicht explizit angegeben werden)
53: Überweisung - Lohn/Gehalt/Rente
54: Überweisung - Vermögenswirksame Leistungen
59: Überweisung Rücküberweisung
ausgefuehrt Auftragsstatus (true/false)

Für SEPA-Überweisungen existieren zusätzlich noch die folgenden Schlüssel-Namen:

Bezeichnung Beschreibung
endtoendid Ende-zu-Ende Referenz
pmtinfid Payment-Information ID (erscheint als KREF im Kontoauszug)

Für SEPA-Lastschriften existieren zusätzlich noch die folgenden Schlüssel-Namen:

Bezeichnung Beschreibung
endtoendid Ende-zu-Ende Referenz
pmtinfid Payment-Information ID (erscheint als KREF im Kontoauszug)
mandateid Mandats-Referenz
creditorid Gläubiger-Identifikation
sigdate Unterschriftsdatum des Mandats im Format dd.mm.yyyy
sequencetype Sequenz-Typ (FRST,RCUR,FNAL,OOFF)
sepatype Lastschrift-Art (CORE,COR1,B2B)
targetdate Fälligkeitsdatum im Format dd.mm.yyyy (Vorlaufzeit beachten!)

Generell gilt bei SEPA-Aufträgen: Nur eine Zeile Verwendungszweck mit maximal 140 Zeichen.

Zeichensatz

Es ist zu beachten, dass die Zeichenketten insbesondere Namen und Verwendungszwecke im ISO-8859-1 Zeichensatz übermittelt werden. UTF-8 Umlaute werden z.B. abgelehnt. In PHP kann UTF-8 mittels utf8_decode umgewandelt werden.

Verfügbare Funktionen

Liste der Schlüsselnamen ermitteln

public Map<String,String> createParams() throws RemoteException;
  • Name der Funktion: createParams
  • Liste der Parameter <keine>
  • Rückgabe-Wert: struct Ein leeres Struct, welches lediglich die o.g. Schlüssel, jedoch noch keine Werte enthält. Das Struct kann als Vorlage für neue Aufträge verwendet werden

Liste der Aufträge ermitteln

public List<Map> find(String text, String von, String bis) throws RemoteException;
  • Name der Funktion: find
  • Liste der Parameter
    1. String Suchbegriff (darf leer sein)
    2. String Start-Datum des Termins im Format „dd.mm.yyyy“ oder „yyyy-mm-dd“ (darf leer sein)
    3. String End-Datum des Termins im Format „dd.mm.yyyy“ oder „yyyy-mm-dd“ (darf leer sein)
  • Rückgabe-Werte: array<struct> (Liste mit „struct“-Elementen)
    Liste der gefundenen Aufträge. Jedes Element der Liste enthält einen Auftrag in Form eines Struct mit den o.g. Schlüsseln

Code-Beispiele

Java
String[] params = new String[]{"test",
                               "01.01.2009",
                               "31.12.2011"
                              };
Object[] l = (Object[]) client.execute("hibiscus.xmlrpc.ueberweisung.find",params);
// Object[] l = (Object[]) client.execute("hibiscus.xmlrpc.lastschrift.find",params);
 
for (Object o:l)
{
  System.out.println(o);
}
PHP
$params = array(new xmlrpcval("test","string"),
                new xmlrpcval("01.01.2009","string"),
                new xmlrpcval("31.12.2011","string"));
 
$msg = new xmlrpcmsg("hibiscus.xmlrpc.ueberweisung.find",$params);
// $msg = new xmlrpcmsg("hibiscus.xmlrpc.lastschrift.find",$params);
 
$response = $client->send($msg);
 
$value = $response->value();
 
for ($i=0;$i<$value->arraySize();$i++)
{
  $job = $value->arrayMem($i);
  print("ID            : ".$job->structMem("id")->scalarVal()."\n");
  print("Quellkonto ID : ".$job->structMem("konto")->scalarVal()."\n");
  print("Termin        : ".$job->structMem("termin")->scalarVal()."\n");
  print("Ausgeführt    : ".$job->structMem("ausgefuehrt")->scalarVal()."\n");
  print("Name          : ".$job->structMem("name")->scalarVal()."\n");
  print("Zielkonto     : ".$job->structMem("kontonummer")->scalarVal()."\n");
  print("BLZ           : ".$job->structMem("blz")->scalarVal()."\n");
  print("Betrag        : ".$job->structMem("betrag")->scalarVal()."\n");
 
  $zweck = $job->structMem("verwendungszweck");
  for ($k=0;$k<$zweck->arraySize();$k++)
  {
    $line = $zweck->arrayMem($k);
    print("  ".$line->scalarVal()."\n");
  }
  print("\n");
}

Liste der Aufträge ermitteln (veraltet)

deprecated Diese Funktion existiert aus Gründen der Abwärtskompatibilität weiterhin.
Verwende künftig jedoch bitte die Funktion find mit dem „struct“-Parameter - die neue Funktion liefert zudem detailliertere Rückgabe-Werte.
public String[] list() throws RemoteException;
  • Name der Funktion: list
  • Verwendung: Liefert eine Liste aller Aufträge
  • Liste der Parameter: <keine>
  • Rückgabe-Werte: array<string> (Liste mit „String“-Elementen)
    Liste der gefundenen Aufträge. Die Werte in jeder Zeile sind durch Doppelpunkte getrennt.

    Aufbau der Zeilen
    <konto_id>:<kontonummer>:<blz>:<name>:<zweck (nur Zeile 1)>:<zweck (nur Zeile 2)>:<betrag>

Code-Beispiele

Java
Object[] list = (Object[]) client.execute("hibiscus.xmlrpc.ueberweisung.list",(Object[])null);
// Object[] list = (Object[]) client.execute("hibiscus.xmlrpc.lastschrift.list",(Object[])null);
for (Object o:list)
{
  System.out.println(o);
}
PHP
$msg = new xmlrpcmsg("hibiscus.xmlrpc.ueberweisung.list");
// $msg = new xmlrpcmsg("hibiscus.xmlrpc.lastschrift.list");
$response = $client->send($msg);
$value = $response->value();
 
for ($i=0;$i<$value->arraySize();$i++)
{
  print($value->arrayMem($i)->scalarVal()."\n");
}

Auftrag anlegen

public String create(Map auftrag) throws RemoteException;
  • Name der Funktion: create
  • Liste der Parameter
    1. struct Struct mit den Eigenschaften des Auftrages. Als Schlüssel sind die o.g. Schlüssel-Namen zu verwenden.
  • Rückgabe-Wert

Beim Anlegen einer SEPA-Überweisung wird die IBAN mit dem Schlüssel „konto“ und die BIC mit dem Schlüssel „blz“ übergeben.

Code-Beispiele

Java
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
 
Map params = new HashMap();
params.put("betrag","1,50");
params.put("termin","15.01.2011");
params.put("konto","1");
params.put("name","Max Mustermann");
params.put("blz","12345678");
params.put("kontonummer","1234567890");
 
params.put("verwendungszweck","Test");
// alternativ
// List lines = new ArrayList();
// lines.add("Zweck 1");
// lines.add("Zweck 2");
// lines.add(...);
// params.put("verwendungszweck",lines);
 
Object result = client.execute("hibiscus.xmlrpc.ueberweisung.create",new Object[]{params});
// Object result = client.execute("hibiscus.xmlrpc.lastschrift.create",new Object[]{params});
System.out.println(result);
PHP
$params = new xmlrpcval(
  array(
    "betrag"           => new xmlrpcval("1,50","string"),
    "termin"           => new xmlrpcval("15.01.2011","string"),
    "konto"            => new xmlrpcval("1","string"),
    "name"             => new xmlrpcval("Max Mustermann","string"),
    "blz"              => new xmlrpcval("12345678","string"),
    "kontonummer"      => new xmlrpcval("1234567890","string"),
    "verwendungszweck" => new xmlrpcval("Test","string"),
    // alternativ
    // "verwendungszweck" => new xmlrpcval(array(new xmlrpcval("Zweck 1","string"),new xmlrpcval("Zweck 2","string")),"array")
  ),"struct");
 
$msg = new xmlrpcmsg("hibiscus.xmlrpc.ueberweisung.create",array($params));
// $msg = new xmlrpcmsg("hibiscus.xmlrpc.lastschrift.create",array($params));
$response = $client->send($msg);
print($response->value()->scalarval());

Auftrag anlegen (veraltet)

deprecated Diese Funktion existiert aus Gründen der Abwärtskompatibilität weiterhin.
Verwende künftig jedoch bitte die Funktion create mit dem „struct“-Parameter - die neue Funktion bietet zudem detailliertere Parameter.
public String create(String kontoID, String kto, String blz, String name, String zweck, String zweck2, double betrag, String termin, String type) throws RemoteException;
  • Name der Funktion: create
  • Liste der Parameter
    1. String ID des Kontos
    2. String Kontonummer des Gegenkontos
    3. String Bankleitzahl des Gegenkontos
    4. String Inhaber-Name des Gegenkontos
    5. String Verwendungszweck (Zeile 1, max. 27 Zeichen)
    6. String Verwendungszweck (Zeile 2, max. 27 Zeichen)
    7. double Betrag als Dezimalzahl(!)
    8. String Ausführungstermin im Format „dd.mm.yyyy“ oder „yyyy-mm-dd“
    9. String Textschlüssel (Auftragsart)
  • Rückgabe-Wert

Code-Beispiele

Java
Object[] params = {
  "1",              // ID des Kontos
  "1234567890",     // Kontonummer des Gegenkontos
  "12345678",       // BLZ des Gegenkontos
  "Max Mustermann", // Inhaber-Name des Gegenkontos
  "Zweck 1",        // Verwendungszweck, Zeile 1
  "Zweck 2",        // Verwendungszweck, Zeile 2
  1.5d,             // Betrag
  "15.01.2011",     // Ausfuehrungstermin
  "",               // Text-Schluessel
};
 
Object result = client.execute("hibiscus.xmlrpc.ueberweisung.create",params);
// Object result = client.execute("hibiscus.xmlrpc.lastschrift.create",params);
System.out.println(result);
PHP
$params = array(
  new xmlrpcval("1","string"),              // ID des Kontos
  new xmlrpcval("1234567890","string"),     // Kontonummer des Gegenkontos
  new xmlrpcval("12345678","string"),       // BLZ des Gegenkontos
  new xmlrpcval("Max Mustermann","string"), // Inhaber-Name des Gegenkontos
  new xmlrpcval("Zweck 1","string"),        // Verwendungszweck, Zeile 1
  new xmlrpcval("Zweck 2","string"),        // Verwendungszweck, Zeile 2
  new xmlrpcval(1.5,"double"),              // Betrag (Achtung: Punkt statt Komma, da Variable vom Typ double!)
  new xmlrpcval("15.01.2011","string"),     // Ausfuehrungstermin
  new xmlrpcval("","string")                // Text-Schluessel
);
 
$msg = new xmlrpcmsg("hibiscus.xmlrpc.ueberweisung.create",$params);
// $msg = new xmlrpcmsg("hibiscus.xmlrpc.lastschrift.create",array($params));
$response = $client->send($msg);
print($response->faultString());
print($response->value()->scalarval());

Auftrag löschen

public String delete(String id) throws RemoteException;
  • Name der Funktion: delete
  • Liste der Parameter
    1. String ID des zu löschenden Auftrages
  • Rückgabe-Wert

Code-Beispiele

Java
Object result = client.execute("hibiscus.xmlrpc.ueberweisung.delete",new Object[]{"13"});
// Object result = client.execute("hibiscus.xmlrpc.lastschrift.delete",new Object[]{"13"});
System.out.println(result);
PHP
$msg = new xmlrpcmsg("hibiscus.xmlrpc.ueberweisung.delete",array(new xmlrpcval("13","string")));
// $msg = new xmlrpcmsg("hibiscus.xmlrpc.lastschrift.delete",array(new xmlrpcval("13","string")));
$response = $client->send($msg);
print($response->value()->scalarval());


Impressum | Datenschutz
develop/xmlrpc/einzelauftrag.1413532387.txt.gz · Zuletzt geändert: d.m.Y H:i von willuhn