Übertragen einer Freigabematrix (d.velop smart invoice)

Sie können eine API nutzen, um Daten aus einer beliebigen Datenquelle in eine konfigurierte Freigabematrix zu übertragen.

Jobs

Sie können mehrere Datensätze gleichzeitig übertragen. d.velop smart invoice verarbeitet die Daten asynchron. Es wird immer genau ein Job erzeugt, dessen Job-ID Sie als Antwort zurückerhalten.

Response

{
  "job_id": "65866efa-e8a6-4c9c-ae30-60121b6d039f"
}

Abrufen des aktuellen Status zu einem Job

Sie können den Status des Jobs anhand der Job-ID, die Sie vom Endpunkt zurückgeliefert bekommen haben, und der Matrix-ID wie folgt abrufen:

Request

   GET 
/smartinvoice/api/v1/approval_matrices/:matrix_id/rows/batch/jobs/:job_id
Accept: application/json

Als Antwort erhalten Sie ein JSON-Objekt mit Informationen über den Job.

Response

{
  "status": "successful",
  "issues": []
}

Eigenschaft

Beschreibung

status

String. Der aktuelle Status des Jobs. Folgende Möglichkeiten existieren:

  • waiting: Der Job befindet sich in der Warteschlange.

  • processing: Der Job befindet sich in der Verarbeitung.

  • successful: Der Job wurde erfolgreich verarbeitet.

  • failed: Ein Fehler ist aufgetreten.

more_issues

Boolean. Zeigt an, ob mehr Fehler aufgetreten sind als unter issues angegeben.

issues

Objekt. Enthält die bei der Verarbeitung aufgetretenen Probleme.

message: String. Eine Fehlermeldung, die das aufgetretene Problem beschreibt.

record number: Nummer. Datensatz aus dem JSON, das als Request Payload an den Endpunkt gesendet wurde.

Approval matrices (Freigabematrizen)

Eine Freigabematrix erlaubt Ihnen, geeignete Bearbeiter für eine Rechnung anhand der für die Rechnung erfassten Daten automatisch zu bestimmen. Sie können Datensätze für eine in d.velop smart invoice konfigurierte Freigabematrix wie folgt übertragen:

Request

   POST /smartinvoice/api/v1/approval_matrices/:matrix_id/rows/batch
Content-Type: application/json

{
  "rows": [
    {
      "user": {
        "type": "idp",
        "name": "username@domain.de"
      },
      "limit": {
        "amount": 10000.00,
        "currency": "EUR"
      },
      "column1": "01",
      "column2": "1300",
      "column3": {
        "user": {
          "type": "idp",
          "name": "username@domain.de"
        }
      },
      "column4": {
        "group": {
          "type": "idp",
          "name": "groupname"
        }
      }
    }
  ]
}

Jede Zeile einer Freigabematrix unterstützt die folgenden Eigenschaften:

Eigenschaft

Beschreibung

user

Objekt. Verpflichtend. Benutzerobjekt, das als Freigeber für diese Matrixzeile gilt.

type

String. Verpflichtend. Der Typ des Benutzerobjekts.

idp: Über IDP bereitgestellter Benutzer.

aad: Benutzer aus Azure AD.

name

String. Verpflichtend. Name des Benutzers.

limit

Objekt. Verpflichtend. Freigabegrenze des Benutzers für diese Matrixzeile in angegebener Währung.

amount: Nummer. Verpflichtend. Der Betrag der Freigabegrenze.

currency: String. Verpflichtend. Währungscode nach ISO 4217 für die Freigabegrenze.

column1-20

String/Objekt. Optional. Wert für die zu column<1-20> zugehörige Spalte für diese Matrixzeile. Sie finden die Zuordnung von column<1-20> zu den Matrixspalten in der Matrixkonfiguration.

Sie können in einer Freigabematrix Spalten referenzieren, die Daten zu Benutzern oder Benutzergruppen enthalten. Wenn Sie für eine solche Spalte einen Wert für eine Matrixzeile hinzufügen, muss der Wert vom Typ Object sein und ein gültiges Benutzerobjekt oder Benutzergruppenobjekt darstellen.

Wert soll ein Benutzer sein:

user: Objekt. Verpflichtend. Benutzerobjekt, das als Wert für die zu column<1-20> zugehörige Spalte der Matrixzeile gesetzt werden soll.

  • type: String. Verpflichtend. Der Typ des Benutzerobjekts.

    • idp: Über IDP bereitgestellter Benutzer.

    • aad: Benutzer aus Azure AD.

  • name: String. Verpflichtend. Name des Benutzers.

Wert soll eine Benutzergruppe sein:

group: Objekt. Verpflichtend. Benutzergruppenobjekt, das als Wert für die zu column<1-20> zugehörige Spalte der Matrixzeile gesetzt werden soll.

  • type: String. Verpflichtend. Der Typ des Benutzergruppenobjekts.

    • idp: Über IDP bereitgestellte Benutzergruppe.

    • aad: Benutzergruppe aus SharePoint.

  • name: String. Verpflichtend. Name der Benutzergruppe.