Zum Inhalt
HALOWERK

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-disposition

Eingaben

Felder des veröffentlichten Eingabeschemas
FeldTypPflichtBeschreibung
itemsarrayJaThe returns to decide on. Every amount is in the currency named at document level.
defaultsobjectNeinValues that apply to every item that does not carry its own. An item value always wins.
currencystringNeinISO 4217 code for every amount in this request. Not converted, only carried through.
decision_margin_pctnumberNeinHow 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."
    }
  }
}

Originalschema öffnen

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

Alle Endpunkte dieses Hubs →