XML Import

Upload product, category, customer, and order data to your store via an 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

Quick updates to 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 per data 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 Cases

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), or failed (files rejected, none processed)
  • files.failed: Rejected files with count, filenames, error message including line number, and storage location
  • warnings.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 process 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.

Monitoring: If all files in a run fail, the import responds with "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.
Additional module required: The XML interface is part of the paid XONIC Premium license module : xoPort Data Interface. For new integrations, we recommend the xoPort REST API with OAuth2 authentication and RESTful design.