Handelswerk
return disposition
Takes a list of returns with the figures your own systems already hold and returns one decision per return, with the arithmetic that produced it.
POST https://handel.halowerk.com/v1/return-dispositionEingaben
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| items | array | Ja | The returns to decide on. Every amount is in the currency named at document level. |
| defaults | object | Nein | Values that apply to every item that does not carry its own. An item value always wins. |
| currency | string | Nein | ISO 4217 code for every amount in this request. Not converted, only carried through. |
| decision_margin_pct | number | Nein | How far ahead the best route must be before it counts as a decision. Inside this margin the result is reported as ambiguous instead of asserting a winner. |
Vollständiges Eingabeschema anzeigen
{
"type": "object",
"required": [
"items"
],
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"minItems": 1,
"maxItems": 500,
"description": "The returns to decide on. Every amount is in the currency named at document level.",
"items": {
"type": "object",
"required": [
"return_id"
],
"additionalProperties": false,
"properties": {
"return_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Your identifier for this return. Must be unique within the request."
},
"condition": {
"type": "string",
"enum": [
"new",
"like_new",
"used",
"damaged",
"defective",
"unknown"
],
"description": "Condition as your inspection recorded it. Passed through unchanged; it does not change the arithmetic."
},
"resale_value": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Expected proceeds from selling the item as it is."
},
"resale_probability": {
"type": "number",
"minimum": 0,
"maximum": 1,
"default": 1,
"description": "Probability that the as-is resale actually happens within your planning window."
},
"refurb_resale_value": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Expected proceeds after a successful repair."
},
"repair_cost": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Cost of the repair attempt. Incurred whether or not the repair succeeds."
},
"repair_success_probability": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Probability that the repair succeeds. A failed repair falls back to salvage_value."
},
"salvage_value": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Proceeds from parts recovery or material recycling."
},
"disposal_cost": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Cost of disposing of the item. Scrapping is a cost, not proceeds."
},
"inspection_cost": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Cost of inspecting this return. Incurred on every route and therefore does not change the ranking, only the level."
},
"inbound_freight_cost": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Freight already spent getting the item back. Incurred on every route."
},
"restocking_cost": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Cost of putting the item back into stock. Only charged to the as-is resale route."
}
}
}
},
"defaults": {
"type": "object",
"additionalProperties": false,
"description": "Values that apply to every item that does not carry its own. An item value always wins.",
"properties": {
"resale_probability": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"repair_cost": {
"type": "number",
"minimum": 0,
"maximum": 100000000
},
"repair_success_probability": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"disposal_cost": {
"type": "number",
"minimum": 0,
"maximum": 100000000
},
"inspection_cost": {
"type": "number",
"minimum": 0,
"maximum": 100000000
},
"inbound_freight_cost": {
"type": "number",
"minimum": 0,
"maximum": 100000000
},
"restocking_cost": {
"type": "number",
"minimum": 0,
"maximum": 100000000
}
}
},
"currency": {
"type": "string",
"minLength": 3,
"maxLength": 3,
"default": "EUR",
"description": "ISO 4217 code for every amount in this request. Not converted, only carried through."
},
"decision_margin_pct": {
"type": "number",
"minimum": 0,
"maximum": 100,
"default": 5,
"description": "How far ahead the best route must be before it counts as a decision. Inside this margin the result is reported as ambiguous instead of asserting a winner."
}
}
}Veröffentlichtes Eingabebeispiel
{
"currency": "EUR",
"defaults": {
"inspection_cost": 4.5,
"inbound_freight_cost": 3.9,
"restocking_cost": 2,
"disposal_cost": 1.5
},
"items": [
{
"return_id": "R-1001",
"condition": "like_new",
"resale_value": 189,
"resale_probability": 0.95,
"refurb_resale_value": 199,
"repair_cost": 35,
"repair_success_probability": 0.9,
"salvage_value": 12
},
{
"return_id": "R-1002",
"condition": "defective",
"resale_value": 20,
"resale_probability": 0.4,
"refurb_resale_value": 149,
"repair_cost": 60,
"repair_success_probability": 0.7,
"salvage_value": 18
},
{
"return_id": "R-1003",
"condition": "damaged",
"resale_value": 9,
"resale_probability": 0.3,
"refurb_resale_value": 40,
"repair_cost": 55,
"repair_success_probability": 0.5,
"salvage_value": 6
}
],
"decision_margin_pct": 5
}Ergebnis & Dokumentation
Veröffentlichtes Ergebnisschema anzeigen
{
"$ref": "https://handel.halowerk.com/v1/return-disposition/schema#/outputSchema"
}Veröffentlichtes Ergebnisbeispiel öffnen
Maschinenlesbare Dokumentation dieses Hubs
Quelle dieser Seite: der veröffentlichte HALOWERK-Katalog. Stand: 2026-11-01, 15:19 UTC.
Weitere Endpunkte dieses Hubs
- Handelswerk0,005 USDC
allergen check
POSThttps://handel.halowerk.com/v1/allergen-checkReturns what a product declares about allergens: the allergen tags, the trace warnings, the ingredients text in its original language, and the completeness of the record. The distinction it holds to throughout is between not declared and no
- Handelswerk0,006 USDC
container load
POSThttps://handel.halowerk.com/v1/container-loadLoads a package list into one loading space and returns the plan, not an estimate. The floor starts as one free surface; packages are sorted by footprint, then height, then weight, then identifier, and each one is placed on the lowest, then
- Handelswerk0,004 USDC
delivery note json
POSThttps://handel.halowerk.com/v1/delivery-note-jsonAdds structured delivery-note extraction alongside the existing invoice extractor and purchase-order matcher; does not duplicate invoice-extract or filing-to-json. Strict namespace-aware XML parsing, no model or foreign API. Only supplied s