Overview of OpenMage JSON-RPC API
mainMage_Api_Model_Server_Adapter_Jsonrpc adapter and uses the Zend_Json_Server component. All requests are routed through the /api/jsonrpc URL endpoint.repository·main·Indexed 21 days ago
https://github.com/openmage/magento-ltsAn unofficial, community-driven alternative to official Magento Community Edition (CE) releases. OpenMage focuses on stability, security patches, bug fixes, and high backwards compatibility, integrating community improvements directly into the codebase.
Mage_Api_Model_Server_Adapter_Jsonrpc adapter and uses the Zend_Json_Server component. All requests are routed through the /api/jsonrpc URL endpoint.The Aoe_Scheduler module provides several capabilities for managing complex background tasks in Magento:
OpenMage follows strict Semantic Versioning (SemVer). The release lifecycle is managed based on MAJOR, MINOR, and PATCH levels to balance new features with stability:
MAJOR.MINOR version.MAJOR version.MAJOR.MINOR branch for each MAJOR version receives PATCH updates for at least 2 years from the inception of the initial MAJOR version release.For detailed definitions of these terms, refer to the RFC 0002 - Release Schedule.
The catalog_product_attribute_media API allows you to manage product images, including retrieving all images for a product, fetching specific image metadata, creating new images using Base64 encoding, updating existing image data, and removing images.
Common parameters across these methods include:
productId (int|string, required): The Product ID or SKU.store (string|int, optional): The Store ID or code.identifierType (string, optional): Use 'sku' if the productId is a SKU, or null if it is an ID.To improve performance when making multiple API calls, use the multiCall method. This allows you to send an array of method calls in a single request. The params array for multiCall should contain the session_id followed by an array of calls, where each call is an array containing ["resource.method", [parameters]].
{
"jsonrpc": "2.0",
"method": "multiCall",
"params": [
"session_id",
[
["catalog_product.list", [filter_parameters]],
["catalog_product.info", [product_id]]
]
],
"id": 1
}OpenMage 20.x introduced several performance and configuration improvements:
global/session_save.Mage_Eav_Model_Config has been rewritten to cache all EAV entity and attribute reads.Magento API responses can be retrieved in either XML or JSON. The JSON format is a direct mapping of the XML structure.
Error Mapping Example: An XML error structure:
<messages>
<error>
<data_item>
<code>404</code>
<message>Resource not found.</message>
</data_item>
</error>
</messages>Is transformed into the following JSON:
{"messages":{"error":[{"code":404,"message":"Resource not found."}]}}Data Mapping Example: An XML list of stock items:
<?xml version="1.0"?>
<magento_api>
<data_item>
<item_id>1</item_id>
<product_id>1</product_id>
<stock_id>1</stock_id>
<qty>99.0000</qty>
<low_stock_date></low_stock_date>
</data_item>
</magento_api>Is transformed into the following JSON:
[{"item_id":"1","product_id":"1","stock_id":"1","qty":"99.0000","low_stock_date":null}]Compatibility with Magento 1.9.4.x depends on the OpenMage LTS version series:
Magento's REST API is accessed via HTTP. The API follows REST architecture principles where the same URL can perform different actions depending on the HTTP request method used. The four main methods supported are GET, POST, PUT, and DELETE.
# Retrieve a customer
GET https://om.ddev.site/rest/customers/123
# Delete the same customer
DELETE https://om.ddev.site/rest/customers/123