Debitoor REST API: Fehler in der Request Methode

FrazeColder

Lt. Commander
Registriert
Okt. 2013
Beiträge
1.721
Guten Tag zusammen,

ich nutzte ein online Tool namens Debitoor um Rechnungen zu erstellen und würde sehr gerne dieses auch von meinem selbst programmierten PHP Skript erstellen können. Dazu müsste ich aber erst einmal es hinbekommen, Rechnungen per REST API Request zu erstellen und da hapert es leider schon...

Hier einmal die Dokumentation von Debitoor zur Folgender Funktion: /api/sales/draftinvoices/v3

Bei Debitoor muss ich erst eine "Draft Invoice" erstellen, bevor ich eine Richtige "Invoice" erstellen kann.Die benötigten Parameter könnt ihr ja dort herauslesen.

Könnt ihr mir sagen, wo die API von Debitoor das Problem hat.. Soweit ich das verstehe, müsste es was mit den "lines" zu tun haben.. Nur wieso und was genau ist das Problem? - Meiner Meinung nach sind die Daten so verschickt worden wie in der API steht..

Das hier sind meine Request Parameter:
Bildschirmfoto 2018-05-06 um 18.36.55.png

Hier nochmal als Text:
Code:
{
  "date": "2018-05-06",
  "dueDate": "2018-05-13",
  "notes": "Diese Rechnung ist vom Backend erstellt worden.",
  "customerName": "Max Mustermann",
  "customerAddress": "Mustermann Stra\u00dfe",
  "customerCountry": "DE",
  "currency": "EUR",
  "languageCode": "de-DE",
  "recargoTaxEnabled": false,
  "sent": false,
  "viewed": false,
  "displayAsPaid": false,
  "lines": {
    "taxEnabled": "false",
    "description": "Leistungszeitraum 06.04.2018 - 05.05.2018",
    "taxRate": "1.19",
    "productOrService": "product"
  }
}

Als Antwort bekomme ich:
Bildschirmfoto 2018-05-06 um 18.38.05.png

Als Text nochmal:
Code:
{
  "message": "Error validating against schema",
  "id": "9905636b-fb65-41a0-8d25-4aa096d5347d",
  "code": "schema",
  "errors": [
    {
      "message": "is the wrong type",
      "value": {
        "taxEnabled": "false",
        "description": "Leistungszeitraum 06.04.2018 - 05.05.2018",
        "taxRate": "1.19",
        "productOrService": "product"
      },
      "type": "array",
      "property": "lines"
    }
  ],
  "body": {
    "date": "2018-05-06",
    "dueDate": "2018-05-13",
    "notes": "Diese Rechnung ist vom Backend erstellt worden.",
    "customerName": "Max Mustermann",
    "customerAddress": "Mustermann Stra\u00dfe",
    "customerCountry": "DE",
    "currency": "EUR",
    "languageCode": "de-DE",
    "recargoTaxEnabled": false,
    "sent": false,
    "viewed": false,
    "displayAsPaid": false,
    "lines": {
      "taxEnabled": "false",
      "description": "Leistungszeitraum 06.04.2018 - 05.05.2018",
      "taxRate": "1.19",
      "productOrService": "product"
    }
  }
}

MfG und Vielen Dank!
 
Das Element "lines" erwartet ein Array von Objekten/Maps, siehe dein verlinktes Beispiel, also
Code:
...
"lines": [
    {
        "taxEnabled": true,
        ...
    }, ...]
...

Die Fehlernachricht sagt es ja auch, "Error validating against schema", d.h. das Format deiner Nachricht passt nicht mit dem überein was erwartet wird. Das Element "errors" der Antwort sagt es dann auch genau, allerdings habe ich das so auch nicht direkt gelesen, erst im Nachhinein nach dem anschauen der API bzw. des Beispiels ist es klar.
 
Kannst Du mir mal ein Beispiel geben?
Das reicht mir nicht aus um es zu verstehen..
 
Code:
    {
      "lines": [
        {
          "taxEnabled": "false",
          "description": "Leistungszeitraum 06.04.2018 - 05.05.2018",
          "taxRate": "1.19",
          "productOrService": "product"
        }
      ]
    }
    // anstatt
    {
      "lines": {
        "taxEnabled": "false",
        "description": "Leistungszeitraum 06.04.2018 - 05.05.2018",
        "taxRate": "1.19",
        "productOrService": "product"
      }
    }
 

Ähnliche Themen

Zurück
Oben