User Tools

Site Tools


design2budget:webservice:modules:invoice

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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>​
  
design2budget/webservice/modules/invoice.txt · Last modified: 2015/11/27 14:09 (external edit)