InvoiceApi Resource

Stellt Funktionen zur Ermittlung und Bezahlung von Rechnungen zur Verfügung

GET /api/v1/invoice

Eine Liste aller - den Filterkriterien entsprechenden - Rechnungen ermitteln.

Request Parameters
name type description constraints
addCustomerDetail query mit true wird zusätzlich der CustomerDetailEntry des Kunden ermittelt und ausgegeben boolean
filter_cnr query schränkt die Ausgabe auf Rechnungen ein, die diesen Teil der Rechnungsnummer beinhalten  
filter_customer query schränkt die Ausgabe auf Rechnungen ein, die für diesen Kundennamen ausgestellt wurden  
filter_open query mit true werden nur offene Rechnungen geliefert. Ohne Angabe bzw. mit false werden alle Rechnungen ausgegeben boolean
filter_project query nur Rechnungen die diese Projekt- bzw. Bestellnummer beinhalten werden ausgegeben  
filter_statisticsaddress query Einschränkung auf die Statistikadresse  
filter_textsearch query Rechnungen (und deren Positionen) die diesen Text beinhalten werden ausgegeben  
limit query limit die Anzahl der zu liefernden Datensätze. Default sind 50 int
startIndex query startIndex der x-te Eintrag ab dem die Datensätze geliefert werden sollen int
userid query ist der Token der durch die Anmeldung (login) erhalten wurde  
Response Body
media type data type description
application/json InvoiceEntryList (JSON) eine (leere) Liste aller Rechnungen die den Filterkriterien entsprechen
application/xml;charset=UTF-8 object

Example

Request
GET /api/v1/invoice
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "entries" : [ {
    "cnr" : "...",
    "customerName" : "...",
    "customerCity" : "...",
    "project" : "...",
    "grossValue" : 12345.0,
    "currency" : "...",
    "customerId" : 12345,
    "netValue" : 12345.0,
    "openGrossValue" : 12345.0,
    "status" : "PARTLYCLEARED",
    "customerEntry" : {
      "countryName" : "...",
      "name3" : "...",
      "street" : "...",
      "titlePrefix" : "...",
      "titlePostfix" : "...",
      "uid" : "...",
      "eori" : "...",
      "remark" : "...",
      "email" : "...",
      "website" : "...",
      "fax" : "...",
      "formattedCity" : "...",
      "pricelistCnr" : "...",
      "formattedSalutation" : "...",
      "partnerId" : 12345,
      "contactEntries" : { },
      "name1" : "...",
      "name2" : "...",
      "sign" : "...",
      "countryCode" : "...",
      "zipcode" : "...",
      "phone" : "...",
      "city" : "...",
      "deliveryAllowed" : true,
      "classification" : "...",
      "addressType" : "...",
      "representativeSign" : "...",
      "id" : 12345
    },
    "id" : 12345
  }, {
    "cnr" : "...",
    "customerName" : "...",
    "customerCity" : "...",
    "project" : "...",
    "grossValue" : 12345.0,
    "currency" : "...",
    "customerId" : 12345,
    "netValue" : 12345.0,
    "openGrossValue" : 12345.0,
    "status" : "NEW",
    "customerEntry" : {
      "countryName" : "...",
      "name3" : "...",
      "street" : "...",
      "titlePrefix" : "...",
      "titlePostfix" : "...",
      "uid" : "...",
      "eori" : "...",
      "remark" : "...",
      "email" : "...",
      "website" : "...",
      "fax" : "...",
      "formattedCity" : "...",
      "pricelistCnr" : "...",
      "formattedSalutation" : "...",
      "partnerId" : 12345,
      "contactEntries" : { },
      "name1" : "...",
      "name2" : "...",
      "sign" : "...",
      "countryCode" : "...",
      "zipcode" : "...",
      "phone" : "...",
      "city" : "...",
      "deliveryAllowed" : true,
      "classification" : "...",
      "addressType" : "...",
      "representativeSign" : "...",
      "id" : 12345
    },
    "id" : 12345
  } ]
}
                
              

POST /api/v1/invoice/{invoiceid}/cashpayment

Erstellt eine Zahlung für die angegebene Rechnung

Request Parameters
name type description constraints
invoiceid path ist die Id der Rechnung int
userid query ist der Token der durch die Anmeldung (login) erhalten wurde  
Request Body
media type data type description
application/json InvoiceCashPaymentPostEntry (JSON) sind die Daten der Zahlung
application/xml;charset=UTF-8 object
Response Body
media type data type description
application/json number (JSON)
application/xml int (XML)

Example

Request
POST /api/v1/invoice/{invoiceid}/cashpayment
Content-Type: application/json
Accept: application/json

                
{
  "amount" : 12345.0,
  "paymentType" : "ATM",
  "cnr" : "..."
}
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
...
                
              

POST /api/v1/invoice/{invoiceid}/cashpayment/{paymentid}

Speichert einen (zusätzlichen) Zahlungsbeleg zu einer bestehenden Zahlung ab.

Die maximale Upload-Größe ist derzeit auf 500KiB gestellt

Request Parameters
name type description constraints
invoiceid path ist die Id der Rechnung int
paymentid path ist die Id der Zahlung int
cnr query ist die eindeutige Nummer der Kassa  
userid query ist der Token der durch die Anmeldung (login) erhalten wurde  
Request Body
media type data type description
application/json MultipartBody (JSON) ist der multipart/form-data des Requests, der den/die Zahlungsbelege als "Datei" enthält
application/xml multipartBody (XML)
Response Body
media type data type description
application/json number (JSON) 0 wenn der Dateianhang nicht zur Zahlung hinzugefügt werden konnte, ansonsten > 0
application/xml int (XML)

Example

Request
POST /api/v1/invoice/{invoiceid}/cashpayment/{paymentid}
Content-Type: application/json
Accept: application/json

                
{
  "allAttachments" : [ {
    "contentDisposition" : {
      "type" : "...",
      "parameters" : {
        "property1" : "...",
        "property2" : "..."
      }
    },
    "object" : { },
    "contentType" : {
      "type" : "...",
      "wildcardSubtype" : true,
      "parameters" : {
        "property1" : "...",
        "property2" : "..."
      },
      "wildcardType" : true,
      "subtype" : "..."
    },
    "contentId" : "...",
    "dataHandler" : "...",
    "headers" : {
      "property1" : [ "...", "..." ],
      "property2" : [ "...", "..." ]
    }
  }, {
    "contentDisposition" : {
      "type" : "...",
      "parameters" : {
        "property1" : "...",
        "property2" : "..."
      }
    },
    "object" : { },
    "contentType" : {
      "type" : "...",
      "wildcardSubtype" : true,
      "parameters" : {
        "property1" : "...",
        "property2" : "..."
      },
      "wildcardType" : true,
      "subtype" : "..."
    },
    "contentId" : "...",
    "dataHandler" : "...",
    "headers" : {
      "property1" : [ "...", "..." ],
      "property2" : [ "...", "..." ]
    }
  } ],
  "type" : {
    "type" : "...",
    "wildcardSubtype" : true,
    "parameters" : {
      "property1" : "...",
      "property2" : "..."
    },
    "wildcardType" : true,
    "subtype" : "..."
  },
  "rootAttachment" : {
    "contentDisposition" : {
      "type" : "...",
      "parameters" : {
        "property1" : "...",
        "property2" : "..."
      }
    },
    "object" : { },
    "contentType" : {
      "type" : "...",
      "wildcardSubtype" : true,
      "parameters" : {
        "property1" : "...",
        "property2" : "..."
      },
      "wildcardType" : true,
      "subtype" : "..."
    },
    "contentId" : "...",
    "dataHandler" : "...",
    "headers" : {
      "property1" : [ "...", "..." ],
      "property2" : [ "...", "..." ]
    }
  },
  "childAttachments" : [ {
    "contentDisposition" : {
      "type" : "...",
      "parameters" : {
        "property1" : "...",
        "property2" : "..."
      }
    },
    "object" : { },
    "contentType" : {
      "type" : "...",
      "wildcardSubtype" : true,
      "parameters" : {
        "property1" : "...",
        "property2" : "..."
      },
      "wildcardType" : true,
      "subtype" : "..."
    },
    "contentId" : "...",
    "dataHandler" : "...",
    "headers" : {
      "property1" : [ "...", "..." ],
      "property2" : [ "...", "..." ]
    }
  }, {
    "contentDisposition" : {
      "type" : "...",
      "parameters" : {
        "property1" : "...",
        "property2" : "..."
      }
    },
    "object" : { },
    "contentType" : {
      "type" : "...",
      "wildcardSubtype" : true,
      "parameters" : {
        "property1" : "...",
        "property2" : "..."
      },
      "wildcardType" : true,
      "subtype" : "..."
    },
    "contentId" : "...",
    "dataHandler" : "...",
    "headers" : {
      "property1" : [ "...", "..." ],
      "property2" : [ "...", "..." ]
    }
  } ]
}
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
...
                
              

DELETE /api/v1/invoice/{invoiceid}/cashpayment/{year}/{month}/{day}

Löscht eine zuvor durchgeführte Zahlung

Wird der Zahlbetrag für das angegebene Zahldatum für die angegebene Id der Rechnung nicht gefunden, wird der Statuscode 404 zurückgeliefert. Konnte die Zahlung storniert werden, wird 204 geantwortet.

Request Parameters
name type description constraints
day path der Tag der Zahlung (beginnend bei 1, beispielsweise: 13 für den 13ten) int
invoiceid path ist die Id der Rechnung int
month path das Monat der Zahlung (beginnend bei 1, beispielsweise: 7 für Juli) int
year path das Jahr der Zahlung (beispielsweise: 2016) int
amount query der zu löschende Zahlbetrag  
userid query ist der Token der durch die Anmeldung (login) erhalten wurde  

Example

Request
DELETE /api/v1/invoice/{invoiceid}/cashpayment/{year}/{month}/{day}
Content-Type: application/json;charset=UTF-8

                
...
                
              
Response
HTTP/1.1 204 No Content