Changelog Order API

Updates and improvements

March 2025

Plan Description Field in Order API Now Uses Structured Object Format

The plan description field in the Order API has been updated from a single unstructured HTML string to a structured, machine-readable object. This change separates data from presentation, making it easier to parse, localize, and display consistently across interfaces.


🧾 Before

[KVM DIAMOND] => stdClass Object
(
    [id] => 1834
    [description] => "8192 MB RAM 1 CPU core 100 GB SSD ... <strong>30 TB Traffic</strong> ..."
)

• The description is a single HTML string.

• It’s meant for direct display on a webpage.

• Parsing values (like RAM or CPU) requires regex or manual parsing.

• Difficult to localize or transform programmatically.

• Mixes data and presentation (<br />, <strong>).


After

[KVM DIAMOND] => stdClass Object
(
    [id] => 1834
    [description] => stdClass Object
        (
            [disk] => stdClass Object
                (
                    [size] => 100
                    [unit] => GByte
                )
            [ram] => stdClass Object
                (
                    [size] => 8192
                    [unit] => MByte
                )
            ...
        )
)

• The description is now a nested structured object.

• Clear separation of values and units (size, unit).

• Much easier to: Sort, filter, or validate

• Render dynamically in different formats (HTML, plain text, JSON)

• Translate units or localize for different languages

Presentation logic can be handled elsewhere (frontend templates, markdown renderers, etc.)


💡 Why this change is good

• ✅ Easier to maintain and update

• ✅ Enables internationalization

• ✅ Enables filtering (e.g. “plans with ≥16 GB RAM”)

• ✅ Keeps raw data clean and reusable

The Beginning

The Beginning

This marks the very first entry in our public Order API changelog!

From now on, we’ll share updates, improvements, and changes to how you interact with our order systems — right here.

Other improvements

  • Cleaned up endpoint names for clarity
  • Restructured docs to reflect actual order flow
  • Removed a few cobwebs in the request body examples

Was this page helpful?