Benutzer-Werkzeuge

Webseiten-Werkzeuge


develop:xmlrpc:einzelauftrag

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
develop:xmlrpc:einzelauftrag [d.m.Y H:i] willuhndevelop:xmlrpc:einzelauftrag [d.m.Y H:i] – [Schlüssel-Namen] willuhn
Zeile 4: Zeile 4:
     * **hibiscus.xmlrpc.ueberweisung** Für den Zugriff auf Einzel-Überweisungen     * **hibiscus.xmlrpc.ueberweisung** Für den Zugriff auf Einzel-Überweisungen
     * **hibiscus.xmlrpc.lastschrift** Für den Zugriff auf Einzel-Lastschriften     * **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. Die Funktionen für Überweisungen und Lastschriften sind identisch, lediglich die Service-Namen unterscheiden sich.
  
-===== Schüssel-Namen =====+===== Schlüssel-Namen =====
  
 ^ Bezeichnung      ^ Beschreibung                           ^ ^ Bezeichnung      ^ Beschreibung                           ^
 | konto            | ID des Kontos                          | | konto            | ID des Kontos                          |
 | termin           | Ausführungstermin im Format dd.mm.yyyy | | termin           | Ausführungstermin im Format dd.mm.yyyy |
-| blz              | Bankleitzahl des Gegenkontos           +| blz              | Bankleitzahl oder BIC des Gegenkontos  
-| kontonummer      | Kontonummer des Gegenkontos            |+| kontonummer      | Kontonummer oder IBAN des Gegenkontos  |
 | name             | Inhaber-Name des Gegenkontos           | | name             | Inhaber-Name des Gegenkontos           |
 | betrag           | Betrag des Auftrages im Format "0,00"  | | betrag           | Betrag des Auftrages im Format "0,00"  |
 | verwendungszweck | Verwendungszweck (Array)               | | verwendungszweck | Verwendungszweck (Array)               |
-| textschluessel   | Text-Schlüssel (Auftragsart)           |+| 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)            | | 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 ===== ===== Verfügbare Funktionen =====
 +
 +
 +==== Liste der Schlüsselnamen ermitteln ====
 +
 +<code java>
 +public Map<String,String> createParams() throws RemoteException;
 +</code>
 +
 +  * 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
  
  
Zeile 75: Zeile 113:
 { {
   $job = $value->arrayMem($i);   $job = $value->arrayMem($i);
-  print("ID        : ".$job->structMem("id")->scalarVal()."\n"); +  print("ID            : ".$job->structMem("id")->scalarVal()."\n"); 
-  print("Termin    : ".$job->structMem("termin")->scalarVal()."\n"); +  print("Quellkonto ID : ".$job->structMem("konto")->scalarVal()."\n"); 
-  print("Ausgeführt: ".$job->structMem("ausgefuehrt")->scalarVal()."\n"); +  print("Termin        : ".$job->structMem("termin")->scalarVal()."\n"); 
-  print("Name      : ".$job->structMem("name")->scalarVal()."\n"); +  print("Ausgeführt    : ".$job->structMem("ausgefuehrt")->scalarVal()."\n"); 
-  print("Konto     : ".$job->structMem("konto")->scalarVal()."\n"); +  print("Name          : ".$job->structMem("name")->scalarVal()."\n"); 
-  print("BLZ       : ".$job->structMem("blz")->scalarVal()."\n"); +  print("Zielkonto     : ".$job->structMem("kontonummer")->scalarVal()."\n"); 
-  print("Betrag    : ".$job->structMem("betrag")->scalarVal()."\n");+  print("BLZ           : ".$job->structMem("blz")->scalarVal()."\n"); 
 +  print("Betrag        : ".$job->structMem("betrag")->scalarVal()."\n");
  
   $zweck = $job->structMem("verwendungszweck");   $zweck = $job->structMem("verwendungszweck");
Zeile 95: Zeile 134:
  
  
-==== Liste der Aufträge ermitteln ====+==== 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. |+| **deprecated** Diese Funktion existiert aus Gründen der Abwärtskompatibilität weiterhin. \\ Verwende künftig jedoch bitte die Funktion **[[develop:xmlrpc:einzelauftrag#liste_der_auftraege_ermitteln|find]]** mit dem "struct"-Parameter - die neue Funktion liefert zudem detailliertere Rückgabe-Werte. |
  
 <code java> <code java>
Zeile 106: Zeile 145:
   * Verwendung: Liefert eine Liste aller Aufträge   * Verwendung: Liefert eine Liste aller Aufträge
   * Liste der Parameter: <keine>   * 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 <code><konto_id>:<kontonummer>:<blz>:<name>:<zweck (nur Zeile 1)>:<zweck (nur Zeile 2)>:k (nur Zeile 1)>:<betrag></code>+  * 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 <code><konto_id>:<kontonummer>:<blz>:<name>:<zweck (nur Zeile 1)>:<zweck (nur Zeile 2)>:<betrag></code>
  
  
Zeile 138: Zeile 177:
  
  
 +==== Auftrag anlegen ====
  
 +<code java>
 +public String create(Map auftrag) throws RemoteException;
 +</code>
  
 +  * Name der Funktion: **create**
 +  * Liste der Parameter
 +    - **struct** Struct mit den Eigenschaften des Auftrages. Als Schlüssel sind die o.g. Schlüssel-Namen zu verwenden.
 +  * Rückgabe-Wert
 +    * bei [[develop:xmlrpc#null-support_aktivieren_deaktivieren|xmlrpc.supports.null]]=true: **OK** = return NULL, **FEHLER** = return Fehlertext
 +    * bei [[develop:xmlrpc#null-support_aktivieren_deaktivieren|xmlrpc.supports.null]]=false: **OK** = return ID, **FEHLER** = throws Exception
 +
 +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 ==
 +
 +<code 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);
 +</code>
 +
 +
 +== PHP ==
 +
 +<code 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());
 +</code>
 +
 +
 +==== Auftrag anlegen (veraltet) ====
 +
 +| **deprecated** Diese Funktion existiert aus Gründen der Abwärtskompatibilität weiterhin. \\ Verwende künftig jedoch bitte die Funktion **[[develop:xmlrpc:einzelauftrag#auftrag_anlegen|create]]** mit dem "struct"-Parameter - die neue Funktion bietet zudem detailliertere Parameter. |
 +
 +<code java>
 +public String create(String kontoID, String kto, String blz, String name, String zweck, String zweck2, double betrag, String termin, String type) throws RemoteException;
 +</code>
 +
 +  * Name der Funktion: **create**
 +  * Liste der Parameter
 +    - **String** ID des Kontos
 +    - **String** Kontonummer des Gegenkontos
 +    - **String** Bankleitzahl des Gegenkontos
 +    - **String** Inhaber-Name des Gegenkontos
 +    - **String** Verwendungszweck (Zeile 1, max. 27 Zeichen)
 +    - **String** Verwendungszweck (Zeile 2, max. 27 Zeichen)
 +    - **double** Betrag als Dezimalzahl(!)
 +    - **String** Ausführungstermin im Format "dd.mm.yyyy" oder "yyyy-mm-dd"
 +    - **String** Textschlüssel (Auftragsart)
 +  * Rückgabe-Wert
 +    * bei [[develop:xmlrpc#null-support_aktivieren_deaktivieren|xmlrpc.supports.null]]=true: **OK** = return NULL, **FEHLER** = return Fehlertext
 +    * bei [[develop:xmlrpc#null-support_aktivieren_deaktivieren|xmlrpc.supports.null]]=false: **OK** = return ID, **FEHLER** = throws Exception
 +
 +
 +
 +=== Code-Beispiele ===
 +
 +== Java ==
 +
 +<code 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);
 +</code>
 +
 +
 +== PHP ==
 +
 +<code 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());
 +</code>
 +
 +
 +==== Auftrag löschen ====
 +
 +<code java>
 +public String delete(String id) throws RemoteException;
 +</code>
 +
 +  * Name der Funktion: **delete**
 +  * Liste der Parameter
 +    - **String** ID des zu löschenden Auftrages
 +  * Rückgabe-Wert
 +    * bei [[develop:xmlrpc#null-support_aktivieren_deaktivieren|xmlrpc.supports.null]]=true: **OK** = return NULL, **FEHLER** = return Fehlertext
 +    * bei [[develop:xmlrpc#null-support_aktivieren_deaktivieren|xmlrpc.supports.null]]=false: **OK** = return ID, **FEHLER** = throws Exception
 +
 +=== Code-Beispiele ===
 +
 +== Java ==
 +
 +<code 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);
 +</code>
 +
 +
 +== PHP ==
 +
 +<code 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());
 +</code>
  
-| Name der Funktion | //create// | 
-| Verwendung        | Anlegen einer neuen Überweisung | 
-| Aufruf-Parameter  | **1** //String// ID des Kontos (siehe "hibiscus.xmlrpc.konto.list")\\ **2** //String// Kontonummer des Gegenkontos\\ **3** //String// BLZ des Gegenkontos\\ **4** //String// Inhaber des Gegenkontos\\ **5** //String// Verwendungszweck 1\\ **6** //String// Verwendungszweck 2\\ **7** //double// Betrag\\ **8** //String// Termin im Format "dd.mm.yyyy"\\ Die Parameter 6 und 8 können leer gelassen werden. | 
-| Rückgabe-Wert     | //[[http://de.wikipedia.org/wiki/Nullwert|NULL]]// wenn die Erstellung der Überweisung erfolgreich verlief. Andernfalls ein //String// mit der Fehlermeldung | 
  


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