Kalkulation über die API
Einfaches Beispiel
Wenn du ein Angebot über die API berechnen möchtest, musst du es wie folgt anlegen.
Beachte, dass du in den Feldern quantityFormula echte Formeln verwenden kannst.
POST https://app.robaws.com/api/v2/offers
Content-Type: application/json
{
"calculated": true, // gibt an, dass es sich um ein kalkuliertes Angebot handelt (im Gegensatz zu einem einfachen Angebot)
"addressDistance": { // optional: Anzahl Kilometer bis zur Baustelle
"value": "10",
"unit": "KM"
},
"lineItems": [
{
"quantityFormula": "DISTANCE_KM", // Beispiel: Verwende die vordefinierte Variable DISTANCE_KM, um die Kilometer als Anzahl zu übernehmen
"calculationLineItems": [
{
"description": "Kilometer",
"quantityFormula": "1",
"price": 0.5
}
]
}
]
}
Wenn alles korrekt ist, erhältst du eine 201 CREATED-Antwort zurück. Im Response-Body findest du unter anderem:
"calculationStatus": "PENDING"
Der Status PENDING bedeutet, dass die Kalkulation angefragt wurde und sich noch in der Warteschlange befindet.
Du kannst dann entweder:
- regelmäßig das Angebot abrufen, bis der Status auf
DONEsteht - oder einen Webhook verwenden, um informiert zu werden, sobald die Berechnung abgeschlossen ist. Das ist die empfohlene Methode.
Webhook für calculationStatus
Registriere einen Webhook wie folgt, um benachrichtigt zu werden, sobald die Berechnung eines Angebots abgeschlossen ist.
POST https://app.robaws.com/api/v2/webhook-endpoints
Content-Type: application/json
{
"url": "https://webhooks.your-app.com/robaws/offer/recalculated",
"events": ["offer.recalculated"]
}
Die Nachricht, die wir per Webhook an deine Anwendung senden, sieht wie folgt aus:
Mehr Informationen zu Webhooks
{
"id": "08241443-0335-4f3d-94a2-d6da6c201545",
"event": "offer.recalculated",
"resource": "/offers/3409",
"user": null,
"timestamp": "2025-09-15T06:35:10.329Z",
"data": {
"id": "3409"
}
}
Wenn du danach einen GET auf das betreffende Angebot ausführst, kannst du die Summen und Zwischensummen abrufen.
Beispiel mit Positionsnummern
Wenn du mit vordefinierten Positionsnummern arbeiten möchtest, ist das ebenfalls möglich.
In diesem Fall sieht die POST-Anfrage wie folgt aus:
POST https://app.robaws.com/api/v2/offers
Content-Type: application/json
{
"calculated": true, // gibt an, dass es sich um ein kalkuliertes Angebot handelt (im Gegensatz zu einem einfachen Angebot)
"addressDistance": { // optional: Anzahl Kilometer bis zur Baustelle
"value": "10",
"unit": "KM"
},
"lineItems": [
{
"quantityFormula": "1",
"chapter": "1.1" // hier übergibst du die Positionsnummer
},
{
"quantityFormula": "1",
"chapter": "1.2" // hier übergibst du die Positionsnummer
}
],
"actions": [
{
"action": "ASSIGN_POSTS" // weist Positionen aus der Bibliothek anhand von chapter zu
},
{
"action": "UPDATE_PRICES", // aktualisiert die Preise anhand der neuesten Preise aus deiner Artikelbibliothek
"strategy": "UPDATE_COST_PRICE_AND_SALES_PRICE" // oder UPDATE_COST_PRICE_KEEP_MARGIN
}
]
}
Aktualisiert am: 07/04/2026
Danke!
