XML Import
Upload product, category, customer, and order data to your store via HTTP request. The XML import interface processes the data on the server side and returns a structured response in JSON format, including a summary of results and error messages.
Available Imports
Products
Import and update product data, including descriptions, prices, images, and attributes.
Documentation →Inventory & Status
Quickly update inventory levels and product status—optimized for frequent updates with minimal data volume.
Documentation →Categories
Import of category structures, including hierarchy, descriptions, and SEO data.
Documentation →Update Orders
Update order status, tracking numbers, and shipping information for existing orders.
Documentation →Customers
Importing customer data, including addresses, customer groups, newsletter subscriptions, and external customer numbers.
Documentation →Features
Batch Processing
Process multiple records in a single request—ideal for bulk imports and regular updates.
JSON Response
Structured processing response with status information for each record—machine-readable for seamless integration.
Validation
Automatic validation of all submitted data with detailed error messages for invalid entries.
API Keys
Access via configurable API keys with individual permissions for secure data transmission.
HTTPS Encryption
All data is transmitted in encrypted form—ensuring secure communication between the store and external systems.
Error Handling
Detailed error messages for invalid data enable quick diagnosis and correction.
Responses and Error Conditions
Each import returns a JSON object. Starting with xoPort API 2.115.0 (Shop 4.9.65), it also includes:
outcome:ok(no files rejected),partial(individual files rejected, the rest processed), orfailed(files rejected, none processed)files.failed: Rejected files with count, filenames, error messages including line numbers, and storage locationwarnings.invalid_xml_chars_removed: Number of removed characters not permitted by XML 1.0
Characters prohibited by XML 1.0 (e.g., control characters in descriptive text) are removed by the import before the file is processed. If a file still cannot be read as XML, it is not archived but moved to xoport/xml/import/error/ and deleted there along with the archive after the retention period (default 14 days). Rejected files are not available at files.processed.filenames.
"state": "error" and HTTP 422. Individual rejected files do not change the HTTP status—check outcome or files.failed.count for this. "state": "success" alone does not confirm a successful import.