Zum Inhalt
HALOWERK

Agentenwerk

oss opencart checkout rule regression review

Runs your simple-product checkout cases against the pinned OpenCart source in a private, non-root database that exists only for the length of the request. For each case it reports the totals the native code actually produces, which expectations were missed, and where a cart path diverged, rather than a single pass or fail.

POST https://agent.halowerk.com/v1/oss-opencart-checkout-rule-regression-review

Eingaben

Felder des veröffentlichten Eingabeschemas
FeldTypPflichtBeschreibung
productsarrayJa
discountsarrayJa
tax_classesarrayJa
flat_shippingobjectJa
casesarrayJa
Vollständiges Eingabeschema anzeigen
{
  "type": "object",
  "properties": {
    "products": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "product_id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2147483647
          },
          "price": {
            "type": "string",
            "pattern": "^(?:0|[1-9][0-9]{0,4})(?:\\.[0-9]{1,4})?$",
            "maxLength": 10
          },
          "stock": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100000
          },
          "minimum_quantity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "enabled": {
            "type": "boolean"
          },
          "shipping": {
            "type": "boolean"
          },
          "tax_class_id": {
            "type": "integer",
            "minimum": 0,
            "maximum": 8
          }
        },
        "required": [
          "product_id",
          "price",
          "stock",
          "minimum_quantity",
          "enabled",
          "shipping",
          "tax_class_id"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 16
    },
    "discounts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "product_id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2147483647
          },
          "customer_group_id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 16
          },
          "quantity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "priority": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "type": {
            "enum": [
              "F",
              "P",
              "S"
            ]
          },
          "value": {
            "type": "string",
            "pattern": "^(?:0|[1-9][0-9]{0,4})(?:\\.[0-9]{1,4})?$",
            "maxLength": 10
          }
        },
        "required": [
          "product_id",
          "customer_group_id",
          "quantity",
          "priority",
          "type",
          "value"
        ],
        "additionalProperties": false
      },
      "minItems": 0,
      "maxItems": 64
    },
    "tax_classes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "tax_class_id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 8
          },
          "percentage_rate": {
            "type": "string",
            "pattern": "^(?:0|[1-9][0-9]{0,4})(?:\\.[0-9]{1,4})?$",
            "maxLength": 10
          },
          "fixed_amount": {
            "type": "string",
            "pattern": "^(?:0|[1-9][0-9]{0,4})(?:\\.[0-9]{1,4})?$",
            "maxLength": 10
          }
        },
        "required": [
          "tax_class_id",
          "percentage_rate",
          "fixed_amount"
        ],
        "additionalProperties": false
      },
      "minItems": 0,
      "maxItems": 8
    },
    "flat_shipping": {
      "type": "object",
      "properties": {
        "cost": {
          "type": "string",
          "pattern": "^(?:0|[1-9][0-9]{0,4})(?:\\.[0-9]{1,4})?$",
          "maxLength": 10
        },
        "tax_class_id": {
          "type": "integer",
          "minimum": 0,
          "maximum": 8
        }
      },
      "required": [
        "cost",
        "tax_class_id"
      ],
      "additionalProperties": false
    },
    "cases": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "case_id": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9_-]{1,32}$",
            "maxLength": 32
          },
          "customer_id": {
            "type": "integer",
            "minimum": 0,
            "maximum": 2147483647
          },
          "customer_group_id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 16
          },
          "lines": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "product_id": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 2147483647
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 100
                }
              },
              "required": [
                "product_id",
                "quantity"
              ],
              "additionalProperties": false
            },
            "minItems": 1,
            "maxItems": 16
          },
          "coupon": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean"
              },
              "type": {
                "enum": [
                  "F",
                  "P"
                ]
              },
              "value": {
                "type": "string",
                "pattern": "^(?:0|[1-9][0-9]{0,4})(?:\\.[0-9]{1,4})?$",
                "maxLength": 10
              },
              "product_ids": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 2147483647
                },
                "minItems": 0,
                "maxItems": 16
              },
              "free_shipping": {
                "type": "boolean"
              },
              "requires_login": {
                "type": "boolean"
              },
              "minimum_subtotal": {
                "type": "string",
                "pattern": "^(?:0|[1-9][0-9]{0,4})(?:\\.[0-9]{1,4})?$",
                "maxLength": 10
              },
              "total_use_limit": {
                "type": "integer",
                "minimum": 0,
                "maximum": 10000
              },
              "customer_use_limit": {
                "type": "integer",
                "minimum": 0,
                "maximum": 10000
              },
              "prior_total_uses": {
                "type": "integer",
                "minimum": 0,
                "maximum": 64
              },
              "prior_customer_uses": {
                "type": "integer",
                "minimum": 0,
                "maximum": 64
              }
            },
            "required": [
              "enabled",
              "type",
              "value",
              "product_ids",
              "free_shipping",
              "requires_login",
              "minimum_subtotal",
              "total_use_limit",
              "customer_use_limit",
              "prior_total_uses",
              "prior_customer_uses"
            ],
            "additionalProperties": false
          },
          "expected": {
            "type": "object",
            "properties": {
              "total": {
                "type": "string",
                "pattern": "^(?:0|[1-9][0-9]{0,8})(?:\\.[0-9]{1,8})?$",
                "maxLength": 18
              },
              "coupon_eligible": {
                "type": "boolean"
              },
              "cart_paths_equivalent": {
                "type": "boolean"
              }
            },
            "required": [
              "total",
              "coupon_eligible",
              "cart_paths_equivalent"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "case_id",
          "customer_id",
          "customer_group_id",
          "lines",
          "coupon",
          "expected"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 16
    }
  },
  "required": [
    "products",
    "discounts",
    "tax_classes",
    "flat_shipping",
    "cases"
  ],
  "additionalProperties": false
}

Originalschema öffnen

Veröffentlichtes Eingabebeispiel

{
  "products": [
    {
      "product_id": 101,
      "price": "10.0000",
      "stock": 100,
      "minimum_quantity": 1,
      "enabled": true,
      "shipping": true,
      "tax_class_id": 1
    },
    {
      "product_id": 102,
      "price": "5.0000",
      "stock": 100,
      "minimum_quantity": 1,
      "enabled": true,
      "shipping": true,
      "tax_class_id": 1
    },
    {
      "product_id": 103,
      "price": "100.0000",
      "stock": 100,
      "minimum_quantity": 1,
      "enabled": false,
      "shipping": true,
      "tax_class_id": 1
    }
  ],
  "discounts": [
    {
      "product_id": 101,
      "customer_group_id": 2,
      "quantity": 2,
      "priority": 1,
      "type": "P",
      "value": "10.0000"
    }
  ],
  "tax_classes": [
    {
      "tax_class_id": 1,
      "percentage_rate": "10.0000",
      "fixed_amount": "0.5000"
    }
  ],
  "flat_shipping": {
    "cost": "4.0000",
    "tax_class_id": 1
  },
  "cases": [
    {
      "case_id": "baseline",
      "customer_id": 0,
      "customer_group_id": 1,
      "lines": [
        {
          "product_id": 101,
          "quantity": 2
        },
        {
          "product_id": 102,
          "quantity": 3
        }
      ],
      "coupon": {
        "enabled": false,
        "type": "F",
        "value": "7.0000",
        "product_ids": [],
        "free_shipping": false,
        "requires_login": false,
        "minimum_subtotal": "0.0000",
        "total_use_limit": 0,
        "customer_use_limit": 0,
        "prior_total_uses": 0,
        "prior_customer_uses": 0
      },
      "expected": {
        "total": "44.40000000",
        "coupon_eligible": false,
        "cart_paths_equivalent": false
      }
    },
    {
      "case_id": "customer_use_rejected",
      "customer_id": 7,
      "customer_group_id": 1,
      "lines": [
        {
          "product_id": 101,
          "quantity": 2
        },
        {
          "product_id": 102,
          "quantity": 3
        }
      ],
      "coupon": {
        "enabled": true,
        "type": "F",
        "value": "7.0000",
        "product_ids": [],
        "free_shipping": false,
        "requires_login": false,
        "minimum_subtotal": "0.0000",
        "total_use_limit": 0,
        "customer_use_limit": 1,
        "prior_total_uses": 1,
        "prior_customer_uses": 1
      },
      "expected": {
        "total": "44.40000000",
        "coupon_eligible": false,
        "cart_paths_equivalent": false
      }
    },
    {
      "case_id": "disabled_product_removed",
      "customer_id": 0,
      "customer_group_id": 1,
      "lines": [
        {
          "product_id": 101,
          "quantity": 2
        },
        {
          "product_id": 102,
          "quantity": 3
        },
        {
          "product_id": 103,
          "quantity": 1
        }
      ],
      "coupon": {
        "enabled": false,
        "type": "F",
        "value": "7.0000",
        "product_ids": [],
        "free_shipping": false,
        "requires_login": false,
        "minimum_subtotal": "0.0000",
        "total_use_limit": 0,
        "customer_use_limit": 0,
        "prior_total_uses": 0,
        "prior_customer_uses": 0
      },
      "expected": {
        "total": "44.40000000",
        "coupon_eligible": false,
        "cart_paths_equivalent": false
      }
    },
    {
      "case_id": "eligible_product_cap",
      "customer_id": 0,
      "customer_group_id": 1,
      "lines": [
        {
          "product_id": 101,
          "quantity": 2
        },
        {
          "product_id": 102,
          "quantity": 3
        }
      ],
      "coupon": {
        "enabled": true,
        "type": "F",
        "value": "100.0000",
        "product_ids": [
          102
        ],
        "free_shipping": false,
        "requires_login": false,
        "minimum_subtotal": "0.0000",
        "total_use_limit": 0,
        "customer_use_limit": 0,
        "prior_total_uses": 0,
        "prior_customer_uses": 0
      },
      "expected": {
        "total": "27.90000000",
        "coupon_eligible": true,
        "cart_paths_equivalent": false
      }
    },
    {
      "case_id": "fixed_free_shipping",
      "customer_id": 0,
      "customer_group_id": 1,
      "lines": [
        {
          "product_id": 101,
          "quantity": 2
        },
        {
          "product_id": 102,
          "quantity": 3
        }
      ],
      "coupon": {
        "enabled": true,
        "type": "F",
        "value": "7.0000",
        "product_ids": [],
        "free_shipping": true,
        "requires_login": false,
        "minimum_subtotal": "0.0000",
        "total_use_limit": 0,
        "customer_use_limit": 0,
        "prior_total_uses": 0,
        "prior_customer_uses": 0
      },
      "expected": {
        "total": "32.30000000",
        "coupon_eligible": true,
        "cart_paths_equivalent": false
      }
    },
    {
      "case_id": "global_use_rejected",
      "customer_id": 0,
      "customer_group_id": 1,
      "lines": [
        {
          "product_id": 101,
          "quantity": 2
        },
        {
          "product_id": 102,
          "quantity": 3
        }
      ],
      "coupon": {
        "enabled": true,
        "type": "F",
        "value": "7.0000",
        "product_ids": [],
        "free_shipping": false,
        "requires_login": false,
        "minimum_subtotal": "0.0000",
        "total_use_limit": 1,
        "customer_use_limit": 0,
        "prior_total_uses": 1,
        "prior_customer_uses": 0
      },
      "expected": {
        "total": "44.40000000",
        "coupon_eligible": false,
        "cart_paths_equivalent": false
      }
    },
    {
      "case_id": "group_discount",
      "customer_id": 0,
      "customer_group_id": 2,
      "lines": [
        {
          "product_id": 101,
          "quantity": 2
        },
        {
          "product_id": 102,
          "quantity": 3
        }
      ],
      "coupon": {
        "enabled": false,
        "type": "F",
        "value": "7.0000",
        "product_ids": [],
        "free_shipping": false,
        "requires_login": false,
        "minimum_subtotal": "0.0000",
        "total_use_limit": 0,
        "customer_use_limit": 0,
        "prior_total_uses": 0,
        "prior_customer_uses": 0
      },
      "expected": {
        "total": "42.20000000",
        "coupon_eligible": false,
        "cart_paths_equivalent": false
      }
    },
    {
      "case_id": "logged_coupon_rejected",
      "customer_id": 0,
      "customer_group_id": 1,
      "lines": [
        {
          "product_id": 101,
          "quantity": 2
        },
        {
          "product_id": 102,
          "quantity": 3
        }
      ],
      "coupon": {
        "enabled": true,
        "type": "F",
        "value": "7.0000",
        "product_ids": [],
        "free_shipping": false,
        "requires_login": true,
        "minimum_subtotal": "0.0000",
        "total_use_limit": 0,
        "customer_use_limit": 0,
        "prior_total_uses": 0,
        "prior_customer_uses": 0
      },
      "expected": {
        "total": "44.40000000",
        "coupon_eligible": false,
        "cart_paths_equivalent": false
      }
    },
    {
      "case_id": "minimum_rejected",
      "customer_id": 0,
      "customer_group_id": 1,
      "lines": [
        {
          "product_id": 101,
          "quantity": 2
        },
        {
          "product_id": 102,
          "quantity": 3
        }
      ],
      "coupon": {
        "enabled": true,
        "type": "F",
        "value": "7.0000",
        "product_ids": [],
        "free_shipping": false,
        "requires_login": false,
        "minimum_subtotal": "40.0000",
        "total_use_limit": 0,
        "customer_use_limit": 0,
        "prior_total_uses": 0,
        "prior_customer_uses": 0
      },
      "expected": {
        "total": "44.40000000",
        "coupon_eligible": false,
        "cart_paths_equivalent": false
      }
    },
    {
      "case_id": "percentage",
      "customer_id": 0,
      "customer_group_id": 1,
      "lines": [
        {
          "product_id": 101,
          "quantity": 2
        },
        {
          "product_id": 102,
          "quantity": 3
        }
      ],
      "coupon": {
        "enabled": true,
        "type": "P",
        "value": "20.0000",
        "product_ids": [],
        "free_shipping": false,
        "requires_login": false,
        "minimum_subtotal": "0.0000",
        "total_use_limit": 0,
        "customer_use_limit": 0,
        "prior_total_uses": 0,
        "prior_customer_uses": 0
      },
      "expected": {
        "total": "36.70000000",
        "coupon_eligible": true,
        "cart_paths_equivalent": false
      }
    }
  ]
}

Ergebnis & Dokumentation

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 →