This shows you the differences between two versions of the page.
— |
design2budget:webservice:modules:invoice [2015/11/27 14:09] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== design2budget Entwickler Webservice Dokumentation ====== | ||
+ | |||
+ | Zurück zur [[design2budget:webservice|Webservice Dokumentation Startseite]] | ||
+ | |||
+ | ====== Modul invoice ====== | ||
+ | |||
+ | Das Modul invoice ist die Abbildung der Rechnungen und Mahnungen. | ||
+ | |||
+ | Achtung: Das Modul [[design2budget:webservice:modules:dunning]] beinhaltet zusätzliche Meta Daten für Mahnungen. | ||
+ | |||
+ | **ACHTUNG:** Der Preis (Feld price) darf nicht direkt geändert werden. Er wird vom System immer automatisch berechnet. | ||
+ | |||
+ | Das Schema kann unter https://server/tenant/s/invoice/schema/ abgefragt werden. | ||
+ | |||
+ | Jedes Modul bietet einige Basis-Operationen. Siehe [[design2budget:webservice|Webservice Dokumentation Startseite]]. | ||
+ | |||
+ | ^ action ^ Beschreibung ^ | ||
+ | | send | send invoice (generate pdf) | | ||
+ | | pay | pay invoice (generate pdf if not existing) | | ||
+ | |||
+ | ====== invoice/send ====== | ||
+ | |||
+ | Versendet eine Rechnung an den Kunden. | ||
+ | |||
+ | Wenn als sendtype Email gesetzt wird, wird die Rechnung per Email an den Kunden gesendet. | ||
+ | Ansonsten wird nur die PDF Datei generiert. | ||
+ | |||
+ | Die Aktion 'send' kann mehrmals pro Rechnung aufgerufen werden - z.B. um die Rechnung noch ein 2. Mal zu versenden. | ||
+ | |||
+ | ==== GET/URL ==== | ||
+ | |||
+ | https://server/tenant/s/invoice/send/id?sid=sessionID[&output=outputMode] | ||
+ | |||
+ | ^ Parameter ^ Beschreibung ^ | ||
+ | | id | invoice::id | | ||
+ | | outputMode | JSON REST API (json) oder XML REST API (xml) | | ||
+ | |||
+ | ==== POST ==== | ||
+ | |||
+ | ^ Parameter ^ Beschreibung ^ | ||
+ | | id | int [optional] invoice::id, wenn nicht in URL angegeben | | ||
+ | | sendtype | int sende Rechnung per Brief (1) oder Email (2) - siehe [[design2budget:webservice:operation:schema]] | | ||
+ | | email | string [optiona] Email Adresse - default: Feld invoice::site_email | | ||
+ | | invoice_dt | int [optional] unixtimestamp Rechnungsdatum - default: aktuelles Datum und Zeit | | ||
+ | | duepayment_dt | int [optional] unixtimestamp Zahlungsziel - default: invoice_dt + globale Einstellung paymentTargetOffset | | ||
+ | |||
+ | Wird als sendtype Brief angegeben, wird nur die PDF Datei generiert und als Attachment an die Rechnung angehängt (invoice::invoicepdf). \\ | ||
+ | Bei Auswahl sendtype Email wird die PDF Datei erstellt und an die angegebene Email Adresse (email) oder falls nicht angegeben an invoice::site_email versendet. | ||
+ | |||
+ | ==== RETURN ==== | ||
+ | |||
+ | Wenn alles funktioniert hat, ist error=0 und invoicepdf=attachment::id der erstellten und versendeten Rechnung | ||
+ | |||
+ | Beispiel: | ||
+ | <code javascript> | ||
+ | {"module":"invoice","error":0,"customerid":"4","invoiceid":"201502010","invoicepdf":"321","errormsg":[]} | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
+ | ====== invoice/pay ====== | ||
+ | |||
+ | Bezahlen einer Rechnung. | ||
+ | |||
+ | Wenn die Rechnung noch nicht erstellt wurde (kein Rechnungs-PDF existiert), dann wird zuerst die Rechnung erstellt. | ||
+ | |||
+ | Zusätzlich wird ein [[design2budget:webservice:modules:inoutexpenses]] Eintrag erzeugt und mit der Rechnung verlinkt. | ||
+ | |||
+ | Achtung: Da alle POST Parameter optional sind, reicht ein reiner GET Aufruf um eine Rechnung als bezahlt zu markieren. | ||
+ | Hierbei ist zu beachten, dass das aktuelle Datum als Bezahldatum angewendet wird! | ||
+ | |||
+ | ==== GET/URL ==== | ||
+ | |||
+ | https://server/tenant/s/invoice/pay/id?sid=sessionID[&output=outputMode] | ||
+ | |||
+ | ^ Parameter ^ Beschreibung ^ | ||
+ | | id | invoice::id | | ||
+ | | outputMode | JSON REST API (json) oder XML REST API (xml) | | ||
+ | |||
+ | ==== POST ==== | ||
+ | |||
+ | ^ Parameter ^ Beschreibung ^ | ||
+ | | id | int [optional] invoice::id, wenn nicht in URL angegeben | | ||
+ | | paid_dt | int [optional] unixtimestamp Rechnungsdatum - default: aktuelles Datum und Zeit | | ||
+ | | annotation | string [optional] interne Notizen zur Rechnung | | ||
+ | |||
+ | ==== RETURN ==== | ||
+ | |||
+ | Beispiel: | ||
+ | <code javascript> | ||
+ | {"module":"invoice","error":0,"customerid":"4","invoiceid":"201502010","invoicepdf":"321","errormsg":[]} | ||
+ | </code> | ||