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> | ||