Zum Hauptinhalt springen
POST
/
workflows
/
trigger
Workflow-Verarbeitung auslösen
curl --request POST \
  --url https://api.comstruct.com/v1/workflows/trigger \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "external_id": "INV-2024-001",
  "base64document": "JVBERi0xLjQKJcOkw7zDtsO...",
  "project_number": "PRJ-2024-001",
  "creditor_number": "CR-001",
  "creditor_name": "ABC Supplies Ltd.",
  "invoice_number": "INV-2024-001",
  "invoice_date": "2024-01-15",
  "due_date": "2024-02-15",
  "currency": "EUR",
  "net_amount": 1000,
  "total_amount": 1190,
  "total_tax_amount": 190,
  "tenant": "tenant-123",
  "comment": "Spezielle Handhabung erforderlich",
  "document_type": "INVOICE",
  "assignee": "john.doe@example.com",
  "accounts": [
    {
      "account_number": "1000",
      "project_number": "PRJ-2024-001",
      "quantity": 10,
      "net_amount": 1000,
      "gross_amount": 1190,
      "tax_amount": 190
    }
  ],
  "dimensions": [
    {
      "dimension_label": "Kostenstelle",
      "option_title": "Verwaltung"
    }
  ]
}
'
{
  "success": true,
  "external_id": "INV-2024-001",
  "invoiceId": "123",
  "jobId": "job-789xyz012"
}
Ermöglicht das Einreichen von Rechnungen aus externen Systemen (z.B. JobRouter) zur asynchronen Verarbeitung in comstruct. Verwenden Sie die external_id später mit dem Workflow-Status-Endpunkt, um den Verarbeitungsstatus abzufragen.

Dimensionszuweisungen

Über das optionale dimensions-Feld können externe Systeme Dimensionswerte als { dimension_label, option_title }-Paare übergeben. Diese werden anhand der konfigurierten Rechnungsdimensionen des Mandanten aufgelöst und der erstellten Rechnung zugewiesen. Übergebene Dimensionswerte haben Vorrang vor KI-extrahierten Werten.

Autorisierungen

X-API-Key
string
header
erforderlich

API-Schlüssel zur Authentifizierung. Kontaktieren Sie Ihren Customer Success Manager, um einen API-Schlüssel zu erhalten.

Jeder Endpunkt erfordert spezifische Berechtigungen (Scopes); die erforderlichen Scopes werden pro Endpunkt angezeigt.

Body

application/json
external_id
string
erforderlich

Externe Kennung für die Rechnung (zur späteren Statusabfrage)

Beispiel:

"INV-2024-001"

base64document
string<byte>
erforderlich

Base64-kodiertes PDF-Dokument

Beispiel:

"JVBERi0xLjQKJcOkw7zDtsO..."

project_number
string
erforderlich

Projektnummer

Beispiel:

"PRJ-2024-001"

creditor_name
string
erforderlich

Name des Kreditors/Lieferanten

Beispiel:

"ABC Supplies Ltd."

invoice_number
string
erforderlich

Rechnungsnummer

Beispiel:

"INV-2024-001"

invoice_date
string<date>
erforderlich

Rechnungsdatum im Format YYYY-MM-DD

Beispiel:

"2024-01-15"

net_amount
number<double>
erforderlich

Nettobetrag

Beispiel:

1000

total_amount
number<double>
erforderlich

Gesamtbetrag (brutto)

Beispiel:

1190

tenant
string
erforderlich

Mandanten-Kennung

Beispiel:

"tenant-123"

creditor_number
string

Kreditorennummer (optional)

Beispiel:

"CR-001"

due_date
string<date>

Fälligkeitsdatum im Format YYYY-MM-DD (optional)

Beispiel:

"2024-02-15"

receipt_date
string<date>

Buchungsdatum im Format YYYY-MM-DD (optional). Wenn nicht angegeben, wird das aktuelle Datum verwendet.

Beispiel:

"2024-01-16"

currency
string
Standard:EUR

Währungscode (ISO-4217)

Beispiel:

"EUR"

comment
string

Kommentar (optional)

Beispiel:

"Spezielle Handhabung erforderlich"

document_type
enum<string>
Standard:INVOICE

Dokumenttyp

Verfügbare Optionen:
INVOICE,
CREDIT_NOTE
Beispiel:

"INVOICE"

total_tax_amount
number<double>

Gesamter Steuerbetrag (optional)

Beispiel:

190

assignee
string<email>

E-Mail-Adresse des Benutzers, dem die Rechnung zugewiesen werden soll (optional)

Beispiel:

"john.doe@example.com"

accounts
object[]

Vordefinierte Rechnungskontierungen mit Kontonummern, Mengen und Projektnummern (optional). Hat Vorrang vor der Comstruct-Kontierung.

Beispiel:
[
{
"account_number": "1000",
"project_number": "PRJ-001",
"quantity": 10,
"net_amount": 1000,
"gross_amount": 1190,
"tax_amount": 190
}
]
dimensions
object[]

Optionale Dimensionszuweisungen als Label/Titel-Paare (z.B. Kostenstelle, Abteilung). Werden anhand des Labels gegen die konfigurierten Rechnungsdimensionen und des Titels gegen die Dimensionsoptionen des Mandanten aufgelöst. Hat Vorrang vor KI-extrahierten Dimensionswerten.

Beispiel:
[
{
"dimension_label": "Kostenstelle",
"option_title": "Verwaltung"
},
{
"dimension_label": "Abteilung",
"option_title": "Einkauf"
}
]

Antwort

Workflow erfolgreich ausgelöst

success
boolean

Gibt an, ob der Workflow erfolgreich ausgelöst wurde

Beispiel:

true

external_id
string

Externe Kennung der verarbeiteten Rechnung

Beispiel:

"INV-2024-001"

invoiceId
string

Interne Rechnungs-ID

Beispiel:

"123"

jobId
string

Hintergrund-Job-ID zur Verfolgung des Verarbeitungsstatus

Beispiel:

"job-789xyz012"