Import Properties from Pixxi CRM to WordPress – Dubai & UAE Real Estate API Integration

Want to bring your Pixxi CRM property listings into a WordPress real estate website—automatically and reliably? This guide explains our Pixxi CRM → WordPress integration for Dubai & UAE agencies and brokers. We automate your listings, photos, floor plans, amenities, communities, prices, availability, and agent profiles using a robust API-based workflow that works with popular themes and listing plugins.


Why integrate Pixxi CRM with WordPress?


What gets imported from Pixxi CRM?

Depending on your Pixxi CRM data and permissions, our integration maps the following to your WordPress real estate post type:


How our Pixxi CRM → WordPress integration works

  1. Secure connection: We authenticate to the Pixxi CRM API (or export feed) using your credentials.
  2. Field mapping: We map Pixxi fields to your WordPress schema (custom post type & meta) and taxonomy (location, type, amenities).
  3. Media handling: We download and attach images/floor plans to each listing, set featured image, and build galleries.
  4. Deduplication: We upsert by unique ID (e.g., Listing ID/Reference) to avoid duplicates.
  5. Scheduling: Cron jobs run hourly/daily to refresh price, status, stock/availability, media.
  6. Error logging: Detailed logs help monitor imports and catch data issues early.

Result: A clean, synced WordPress property catalog sourced directly from Pixxi CRM for the UAE market.


Theme & plugin compatibility (UAE-focused)

We support popular Dubai/UAE real estate stacks and can map to your existing site:


Key features for Dubai & UAE real estate teams


Implementation options


FAQs: Pixxi CRM ↔ WordPress (Dubai, UAE)

Q: Will this overwrite my existing listings?
We use safe upsert logic keyed by a unique Listing ID. Existing SEO slugs and custom fields can be preserved unless you choose to replace them.

Q: Can I import only Dubai properties (or specific communities)?
Yes. We can filter by emirate, city, community/sub-community, or even agent/office.

Q: How often can it sync?
Typical schedules are hourly or daily, but we can customize the cron to your needs and traffic patterns.

Q: Does this work with Houzez/RealHomes/WP Residence?
Yes. We map Pixxi fields to each theme’s custom meta and taxonomies.

Q: Can you export a portal feed from WordPress?
Yes. We can generate structured XML/JSON feeds for syndication if you need to push to aggregators later.


Get started with Pixxi CRM → WordPress

If you’re a Dubai/UAE real estate agency using Pixxi CRM and you want a fast, accurate property import into WordPress—with automated media, mapping, and updates—I can deliver a turnkey solution tailored to your stack.

📩 Contact me on Upwork to discuss your Pixxi CRM integration.


About API:

The Stanley/Stella API is built to streamline and enhance the digital product management experience. Whether you’re aiming to integrate detailed product data, manage and sync images, fetch real-time pricing, or monitor stock levels, the API provides reliable and scalable endpoints to support seamless integration. It’s a powerful solution designed to help developers and store owners maintain accurate, up-to-date product information across their platforms with ease.

Endpoints:

In this integration we will use the following endpoints:

Base Url: https://api.stanleystella.com/webrequest

1- Get Products data (JSON)

-/products/get_json

2- Get Products Images (JSON)

-/products_images/get_json

3- Get Products Prices (JSON)

-/products/get_prices

Explanation:

1- Get Products data (JSON):

The /products/get_json endpoint provides a detailed JSON response containing all essential product data, including SKUs, style codes, variations, attributes, and metadata. This raw feed is useful for organizing individual product variants under their corresponding parent using shared fields like style codes. However, the response doesn’t include everything needed to fully display a product, such as images and accurate pricing. To complete the product data, we also need to call other endpoints—like /media/get_images_by_stylecode for retrieving related images and /pricing/get_by_sku to fetch up-to-date prices per variant. Combining data from these endpoints allows us to build a structured, grouped view of each product with all its associated variants, visuals, and pricing logic.

$url = "https://api.stanleystella.com/webrequest/products/get_json";
   $jsonData = array(
		'jsonrpc' => '2.0',
		'method' => 'call',
		'params' => array(
		        "db_name" => "database name here",             
			"password" => "your password here",              
			"user" => "username here",
			"LanguageCode" => "de_DE",   //your preferred language
		 ),
		 'id' => 0
	        );
   $ch = curl_init($url);
   $jsonDataEncoded = json_encode($jsonData);
   curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
   curl_setopt($ch, CURLOPT_POST, 1);
   curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);
   curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
   $result = curl_exec($ch);
   $jsonDataDecoded = json_decode(json_decode($result)->result, true);
   curl_close($ch);

   Here we've added an extra custom function that will group all the single coming   
   products in a structured product array with parent product and their respective 
   variations based on StyleCode.

   $grpd_arr_data = $this->get_grouped_array_sameids($jsonDataDecoded,'StyleCode');

2- Get Products Images (JSON)

The /products_images/get_json endpoint allows us to retrieve all image assets related to a product by simply passing the corresponding style code. This includes primary product images, gallery images, and other media variations tied to the given style. By using this endpoint, we can dynamically fetch visuals without needing to query each SKU individually. It simplifies the process of associating multiple images with grouped products and ensures that all variants under a single style code share a consistent set of visuals for display on product detail pages or category listings.


   $url = "https://api.stanleystella.com/webrequest/products_images/get_json";
   $jsonData = array(
		'jsonrpc' => '2.0',
		'method' => 'call',
		'params' => array(
			       "db_name" => "database name here",             
			       "password" => "your password here",              
			       "user" => "username here",
			       "StyleCode" => "$style_code",   //stylecode passed
			       "LanguageCode" => "de_DE"
			     ),
		 'id' => 0
		);
   $ch = curl_init($url);
   $jsonDataEncoded = json_encode($jsonData);
		
   curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
   curl_setopt($ch, CURLOPT_POST, 1);
   curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);
   curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
   if (curl_errno($ch)) {
      $error_msg = curl_error($ch);
   }
   $result = curl_exec($ch);
   $jsonDataDecoded = json_decode(json_decode($result)->result, true);
   curl_close($ch);

   In this we will also use the function to group the images array based on 
   colorcode so we can get all related imaged that we have to attach to all colors 
   of a product.

   $grpd_arr_data = $this->get_grouped_array_sameids($jsonDataDecoded,'ColorCode');


3- Get Products Prices (JSON)

The /products/get_prices endpoint is designed to provide the most up-to-date pricing information for products in real time. By passing a list of style codes to this endpoint, we can retrieve the latest prices for each associated product and its variants. This is especially useful for ensuring that the displayed prices across platforms remain synchronized with backend pricing rules, discounts, or promotional changes. Integrating this endpoint into a live API connection allows for dynamic pricing updates, helping to maintain accuracy and consistency in product listings without needing to manually refresh or batch-update prices.


   $curl = curl_init();

   curl_setopt_array($curl, array(
   CURLOPT_URL => 'https://api.stanleystella.com/webrequest/products/get_prices',
   CURLOPT_RETURNTRANSFER => true,
   CURLOPT_ENCODING => '',
   CURLOPT_MAXREDIRS => 10,
   CURLOPT_TIMEOUT => 0,
   CURLOPT_FOLLOWLOCATION => true,
   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
   CURLOPT_CUSTOMREQUEST => 'GET',
   CURLOPT_POSTFIELDS =>'{
			"jsonrpc":"2.0",
			"method":"call",
			"params":{
				"db_name":"your database name here",
				"password":"your password here",
				"user":"username here",
				"LanguageCode":"en_US",      //preferred language
				"StyleCode":"'.$style_code.'"
			},
			"id":0
		}',
   CURLOPT_HTTPHEADER => array('Content-Type: application/json')
   ));
   $response = curl_exec($curl);
   curl_close($curl);


That’s the complete code setup for integrating the API into your site using custom cURL requests. With this approach, we can retrieve product data, images, and real-time pricing, which allows us to create and manage WooCommerce products dynamically.

We’ve also developed a custom WordPress plugin that automates this process—importing products and keeping your WooCommerce store up to date using the API integration. If you’re interested in using this plugin or need assistance implementing the integration in your own code, feel free to reach out to us.

Introduction:

A robust, Laravel-powered CRM platform designed specifically for real estate and property management businesses, this solution offers centralized management of properties, agents, leads, and sales pipelines to streamline operations and enhance visibility across the organization. Built with secure, token-based API communication, it enables seamless integration with third-party systems and partner websites while ensuring data privacy and integrity. Real-time lead synchronization automatically imports leads from multiple listing sources into a unified dashboard, helping teams respond faster and more efficiently. Role-based user access control ensures that only authorized personnel can view or modify sensitive information, supporting both data security and operational control. The system also features customizable workflows to match business-specific processes, along with detailed activity logs that track all user actions for compliance and accountability with mobile-responsive interface allows users to access the platform from any device, Together, these features deliver a secure, scalable, and productivity-focused solution tailored to the real estate industry.

Core Architecture & Security:

The application is architected with Laravel 10+, leveraging the Model-View-Controller (MVC) pattern, Service Container, Queues, and Event Broadcasting to ensure clean, modular, and scalable code. security and access control are central to the design:

CRM Functional Features

The CRM includes a powerful set of features designed to streamline real estate operations as:

Optional Features

The CRM also supports a range of optional features to enhance functionality based on specific business needs as:

Future Development Roadmap: Property CRM (Laravel-Based)

Planned Phases

PhaseFeatures
ILead pipeline + email alerts + multiple site API sync
IIMulti-theme support + AI property enhancement + CRM imports
IIIMulti-theme support + AI property enhancement + CRM imports
IVFull XML feed generator per portal + AI-powered market analysis

In summary, this Laravel-powered CRM offers a secure, scalable, and feature-rich solution designed specifically for real estate and property management businesses. With centralized control, real-time lead synchronization, customizable workflows, and robust access management, it helps teams operate more efficiently and respond to opportunities faster. Whether you’re managing a growing portfolio or streamlining your daily operations, this platform provides the flexibility and reliability to support your business at every stage. Ready to transform how you manage your properties and leads? Get in touch today to schedule a demo or learn more about how this CRM can work for you

API Details:

The Ascora API is a comprehensive trade job management solution designed to streamline the operations and administration of growing trade and service-based businesses. It enables companies to scale more efficiently by reducing time spent on manual admin tasks, allowing teams to focus on delivering quality service. With powerful features for handling enquiries, jobs, customers, and attachments, Ascora helps automate workflows and improve overall productivity. For more details, you can visit the official Ascora website.

API Endpoints:

  1. API Authorization
  2. Create Enquiry
  3. Insert Attachments

1- Authorization:

The first step in the API integration process is to validate the authorization token provided by the API platform. This token is essential for establishing secure communication between our application and Ascora. By verifying the token before making any further requests, we ensure that all data transmissions are authenticated and authorized, preventing any interruptions or access issues during the integration process.

Here is the curl post request that will check the authorization of api key generated from API:

  $curl = curl_init();
  curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.ascora.com.au/Enquiry',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => '',
  CURLOPT_HTTPHEADER => array(
        'Auth: {your ascora api token here}',
	'Content-Type: application/json'
        ),
  ));
  $response = curl_exec($curl);
  curl_close($curl);


The above api post request will give success if api token is valid for communication towards api or error response if api token is invalid.

2- Create Enquiry

In this step, we’ll send the required data fields using a cURL POST request to create a new enquiry directly in the Ascora dashboard. This allows us to programmatically submit enquiry information from our site or application, streamlining the lead capture process and ensuring all submissions are recorded in the Ascora system in real time.

  $curl = curl_init();
  curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.ascora.com.au/Enquiry',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => json_encode( $data ),   //data fields here, enquiry details
  CURLOPT_HTTPHEADER => array(
        'Auth: {your ascora api token here}',
	'Content-Type: application/json'
      ),
  ));
  $response = curl_exec($curl);
  curl_close($curl);


By using the above request we will create enquiries in ascora crm, we must have the api token that we will pass in this request to have authorization from api and the data in json format that we’ve to post to ascora like (Name, Email address, Phone etc) or whatever the fields you want to map with ascora.

3- Insert Attachments

Ascora also provides the option to upload attachments—such as images, documents, or other files—alongside the data fields being sent to their CRM. This allows for a more complete and detailed enquiry or job submission, ensuring all relevant information and supporting files are stored directly within the Ascora system for easy access and reference.

   
   $ent_id = $_enq['entityId'];    //id of enquiry get from above api response
   $curl = curl_init();
   curl_setopt_array($curl, array(
   CURLOPT_URL => 'https://api.ascora.com.au/Attachments/Enquiry/'.$ent_id,
   CURLOPT_RETURNTRANSFER => true,
   CURLOPT_ENCODING => '',
   CURLOPT_MAXREDIRS => 10,
   CURLOPT_TIMEOUT => 0,
   CURLOPT_FOLLOWLOCATION => true,
   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
   CURLOPT_CUSTOMREQUEST => 'POST',
   CURLOPT_POSTFIELDS => array(''=> new CURLFILE($attachement)), //attachment file
   CURLOPT_HTTPHEADER => array(
			   'Auth: {your ascora api token here}'
			 ),
   ));
   $response_att = curl_exec($curl);
   curl_close($curl);


You can easily use the code examples provided above to connect your custom PHP form with the Ascora API, allowing you to create enquiries and attach files directly to each submission.

For WordPress users, we’ve developed a custom Contact Form 7 extension for Ascora, making it simple to integrate your forms without manual coding. If you’re interested, feel free to read more about the extension on our blog.

Whether you’re using Contact Form 7 or need a fully custom solution for your PHP-based form, you can reach out to us for support or to discuss your specific integration needs.

API Details:

PrestaShop provides a powerful CRUD-based Web Service API that allows third-party tools and applications to securely access and manage store data. Built on REST architecture, the API is designed for maximum compatibility across platforms by utilizing standard HTTP methods along with XML or JSON data formats. This ensures seamless integration with a wide range of systems, enabling developers to perform operations such as creating, reading, updating, and deleting resources within the PrestaShop database efficiently.

Get Prestashop order details:

In this step, we’ll use cURL requests with PrestaShop API endpoints to fetch order-related data, including order details, customer information, and customer addresses. This allows us to collect all necessary order data for exporting to a WooCommerce store. With this integration, real-time synchronization can be achieved—ensuring that as soon as an order is received in PrestaShop, it’s automatically exported and created in the connected WooCommerce store.

API Endpoints:

  1. Get Orders
  2. Get Customer Details
  3. Get Customer addresses

1- Get Orders:

Curl request-1: Get Prestashop Order ID’s

In order to get prestashop api orders id’s we will use api endpoint “/api/orders” with some additional paramTo retrieve the list of order IDs from the PrestaShop API, we’ll use the /api/orders endpoint along with optional parameters such as date ranges and output format (XML or JSON). These filters help us fetch only the relevant orders—for example, orders placed within a specific timeframe—making the data extraction more efficient and suitable for syncing with external platforms like WooCommerce.


  // PrestaShop API endpoint (replace with your store's domain)
  $prestashop_url = 'https://www.examplesite.com';

  // Your PrestaShop API key
  $api_key = 'api key here';

  // Get today's date in the format PrestaShop uses
  $start_date = "starting from date";   //2025-01-14
  $end_date = "ending date";            //2025-02-20      

  // Prepare the URL for fetching orders created today
  $order_url = $prestashop_url . '/api/orders?filter[date_add]=[' .   
  urlencode($start_date . ' 00:00:00') . ',' . urlencode($end_date . ' 23:59:59') 
  .']&date=1&output_format=JSON';

  // cURL setup for fetching order IDs
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $order_url);      // URL to the orders endpoint
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Return the response as a string
  curl_setopt($ch, CURLOPT_HTTPHEADER, array(
   'Authorization: Basic ' . base64_encode($api_key . ':')
  ));
  $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  // Execute the cURL request
  $response = curl_exec($ch);

  // Check for errors
  if (curl_errno($ch)) {
    echo 'Curl error: ' . curl_error($ch);
    exit;
  }
  // Close the cURL session
  curl_close($ch);


Curl request-2: Get Prestashop Order Details

To fetch detailed order information from the PrestaShop API, we’ll use the /api/orders endpoint with additional parameters, such as the desired output format (e.g., JSON or XML). This request returns complete order data including product details, quantities, payment status, and more—essential for exporting or syncing with platforms like WooCommerce.


  // PrestaShop API endpoint (replace with your store's domain)
  $prestashop_url = 'https://www.examplesite.com';

  // Your PrestaShop API key
  $api_key = 'api key here';

  $order_detail_url = $prestashop_url . "/api/orders/$order_id?output_format=JSON";

  // Fetch detailed order information
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $order_detail_url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Authorization: Basic ' . base64_encode($api_key . ':')
  ));
  $order_response = curl_exec($ch);
  if (curl_errno($ch)) {
    echo 'Curl error: ' . curl_error($ch);
    exit;
  }
  curl_close($ch);


2- Get Customer Details: Get Prestashop Customers

To retrieve customer details from PrestaShop, we use the /api/customers/ endpoint along with the specific customer ID obtained from the previous order details request. This allows us to access customer-related information such as name, email, and registration date—data that’s essential for accurately syncing orders and customer records with the WooCommerce store.


  // PrestaShop API endpoint (replace with your store's domain)
  $prestashop_url = 'https://www.examplesite.com';

  // Your PrestaShop API key
  $api_key = 'api key here';

  $order_detail_url = $prestashop_url . "/api/customers/$cust_id?
  output_format=JSON";
  // Fetch detailed order information
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $order_detail_url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Authorization: Basic ' . base64_encode($api_key . ':')
  ));

  $order_response = curl_exec($ch);
  if (curl_errno($ch)) {
     echo 'Curl error: ' . curl_error($ch);
     exit;
  }
  curl_close($ch);


3- Get Prestashop Customer addresses

To obtain the customer’s billing and shipping addresses, we’ll use the /api/addresses endpoint. By passing the customer ID or address ID (retrieved from the order or customer data), we can fetch complete address details including street, city, postcode, country, and more. This information is crucial for creating accurate order exports and ensuring proper fulfillment when syncing orders to the WooCommerce store.


  //PrestaShop API endpoint (replace with your store's domain)
  $prestashop_url = 'https://www.examplesite.com';

  //Your PrestaShop API key
  $api_key = 'api key here';

  $order_detail_url = $prestashop_url . "/api/addresses     
  filter[id_customer]=$cust_id&display=full&output_format=JSON";

  //Fetch detailed order information
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $order_detail_url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_HTTPHEADER, array(
     'Authorization: Basic ' . base64_encode($api_key . ':')
  ));

  $order_response = curl_exec($ch);

  if (curl_errno($ch)) {
     echo 'Curl error: ' . curl_error($ch);
     exit;
  }
  curl_close($ch);


Create Woocommerce order:

After retrieving all necessary data from PrestaShop using the API endpoints, we proceed to create orders in WooCommerce using the native wc_create_order() function. This function returns a new WooCommerce order ID, which we then use to add order items, assign the customer using their ID, set billing and shipping addresses, apply order totals, and include any additional metadata required.

If you’re looking for a complete solution, we’ve developed a custom plugin that automates the import and synchronization of PrestaShop orders with your WooCommerce store. Feel free to contact us if you’d like to get the plugin or need help with a tailored integration setup.

API Details:

Malfini is a leading supplier of high-quality promotional clothing, serving over 35 countries across Europe through its well-known brands: MALFINI®, MALFINI Premium®, Piccolio®, and RIMECK®. The company aims to become the largest distributor of promotional apparel in Europe, offering a wide range of customizable clothing for various industries.

To support digital integrations and streamline B2B processes, Malfini provides a robust REST API that allows businesses to access product catalogs, inventory, pricing, and order functionality. You can explore more about their offerings at malfini.com and access the full API documentation here: api.malfini.com/api-docs.

API Endpoints:

1- api/v4/api-auth/login

2- api/v4/product

3- api/v4/product/availabilities

4- api/v4/product/prices

1- API Authentication with Token:

To begin using the Malfini API, the first step is authenticating your application by obtaining an access token. This is done by sending a POST request to the authentication endpoint: api/v4/api-auth/login. You’ll need to provide valid credentials (typically a username and password or API key) in the request body. Upon successful authentication, the API will return a bearer token, which must be included in the headers of all subsequent requests to authorize access to protected endpoints. This token-based approach ensures secure and authenticated communication with the API.


  $curl = curl_init();
  curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.malfini.com/api/v4/api-auth/login',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
     "username": "{your api username}",
     "password": "{api password}"
  }',
  CURLOPT_HTTPHEADER => array('Content-Type: application/json')
  ));
  $response = curl_exec($curl);
  curl_close($curl);


2- API Endpoint: Get Products

To retrieve the list of available products from Malfini, you can use the api/v4/product endpoint. This endpoint returns detailed product data including product IDs, names, descriptions, categories, available colors, sizes, and other relevant attributes. It’s a key endpoint for syncing the Malfini product catalog with your own system or e-commerce store. Make sure to include the bearer token in the request header for proper authorization, as this endpoint requires authentication to access the product data.


  curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.malfini.com/api/v4/product',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array('Authorization: Bearer {token}),
  ));
  $response = curl_exec($curl);
  curl_close($curl);


3- API Endpoint: Get Stock/Inventory

To check current product availability, Malfini provides the api/v4/product/availabilities endpoint. This endpoint returns real-time stock information for all products, including available quantities per product variant (such as size and color). It’s essential for keeping your store or inventory management system up to date, ensuring that only in-stock items are displayed or offered to customers. As with other endpoints, authentication via a valid bearer token is required in the request header.


  $curl = curl_init();
  curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.malfini.com/api/v4/product/availabilities',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array('Authorization: Bearer {token}),
  ));
  $response = curl_exec($curl);
  $httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);	
  curl_close($curl);


4- API Endpoint: Get Prices

To retrieve pricing information for products, use the api/v4/product/prices endpoint. This endpoint provides up-to-date pricing details for all available products, including variant-specific prices where applicable. It supports personalized pricing based on customer groups or account-specific conditions, making it ideal for dynamic pricing integration. Ensure that your request includes the authorization token in the headers to successfully access the pricing data.


  $curl = curl_init();
  curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.malfini.com/api/v4/product/prices',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array('Authorization: Bearer {token}),
  ));
  $response = curl_exec($curl);
  $httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);	
  curl_close($curl);


The endpoints listed above are the core components required to integrate the Malfini API with a WooCommerce store—covering authentication, product data, inventory, and pricing. These allow for seamless synchronization between Malfini and your eCommerce platform. For more information or assistance with custom API integration into WooCommerce, feel free to contact us.

In this blog we will integrate 3 API suppliers to woocommerce store to import and real time sync products data.

Managing product data across multiple suppliers can be time-consuming and error-prone—especially when dealing with frequent stock updates, price changes, and large catalogs. In this post, we’ll cover how to integrate and import products from multiple supplier APIs—including Falk-Ross, UTTeam (UTT Europe), and Malfini—directly into your WooCommerce store. By connecting these supplier APIs, you can automate the process of syncing product details, inventory levels, and pricing in real time, ensuring your WooCommerce site is always up to date with accurate supplier data.

Supplier 1: Falk-Ross

Falk-Ross is one of the largest clothing manufacturers in Europe, offering a wide range of brands and products across the promotional and workwear sectors. Their API platform enables seamless integration with external systems like WooCommerce, allowing store owners to automate product import, pricing updates, and stock management.

You can browse their product range at: https://www.falk-ross.eu/en/Products.

To fetch product data from the Falk-Ross API, we will use a cURL request to access the designated API URL. This request will return structured product information including SKUs, product names, categories, sizes, colors, and more—ready to be mapped and imported into WooCommerce.

Curl Request:


  $curl = curl_init();
  curl_setopt_array($curl, array(
   CURLOPT_URL => "API URL endpoint here",
   CURLOPT_RETURNTRANSFER => true,
   CURLOPT_ENCODING => '', 
   CURLOPT_MAXREDIRS => 10,
   CURLOPT_TIMEOUT => 0,
   CURLOPT_FOLLOWLOCATION => true,
   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, 
   CURLOPT_CUSTOMREQUEST => 'GET',
  ));
  $response = curl_exec($curl);
  curl_close($curl);


Supplier 2: Utteam.com

UTT Europe Kft. is a Hungarian-owned clothing distributor with a strong presence in Central Europe and the Balkans, specializing in promotional and workwear wholesale. Their product range includes a variety of garments suitable for branding, corporate use, and industrial purposes.

UTTeam offers a REST-based API that allows for direct access to product catalogs, stock availability, and pricing details—making it ideal for WooCommerce integration. The official site can be visited here: https://utteam.com.

To fetch data from UTTeam’s API, we will use structured cURL requests targeting endpoints like /api/dataexport?action=products, /action=stock, and /action=prices. These endpoints return JSON-formatted data which can be processed and mapped into WooCommerce product structures for automated imports and real-time updates.

Curl Request: Get Products


  $curl = curl_init();
  curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://utteam.com/api/dataexport?{token here}/action=products&format=json',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  ));
  $response = curl_exec($curl);
  curl_close($curl);


Explanation: In the above curl request we will get the products and their data from the api by using api token in query parameters and some filters as well.

Curl Request: Get Stock/Inventory


  $curl = curl_init();
  curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://utteam.com/api/dataexport/{api token}?
action=stock&format=json&variables=&fields=style%2Ccolor%2Csize%2Csku%2Cuttstock%2Cs
  uppstock%2Cprice%2Cspecialprice%2Cspecialstart%2Cspecialend%2Ccurrency%2Cuom',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  ));
  $response = curl_exec($curl);
  curl_close($curl);


Explanation: In the above curl request we can get the inventory/stock data from api that will be updated to our products we want to insert in our woocommerce store.

Curl Request: Get Prices Data


  $curl = curl_init();
  curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://utteam.com/api/dataexport/{api token}?action=prices&format=json&variables=&fields=style%2Ccolor%2Csize%2Csku%2Cuttstock%2Csuppstock%2Cprice%2Cspecialprice%2Cspecialstart%2Cspecialend%2Ccurrency%2Cuom',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  ));
  $response = curl_exec($curl);
  curl_close($curl);


Explanation: In the above curl request we can get the price data from api that will be updated to our products we want to insert in our woocommerce store.

Supplier 3: Malfini.com

Malfini is one of the leading suppliers of promotional clothing in the Czech Republic and across Europe. With popular brands like MALFINI®, MALFINI Premium®, Piccolio®, and RIMECK®, the company supplies products to over 35 European countries. Malfini’s long-term goal is to become the largest distributor of promotional apparel in Europe.

You can explore their product offerings at: https://malfini.com/.

To integrate Malfini’s product data with WooCommerce, we utilize their REST API, which provides access to key endpoints for authentication, product listings, stock availability, and pricing. By sending secure cURL requests to endpoints such as /api/v4/product, /product/availabilities, and /product/prices, we can retrieve real-time data and automate product imports and updates into the WooCommerce platform.

Curl Request: Get API Token

  
  $curl = curl_init();
  curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.malfini.com/api/v4/api-auth/login',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
     "username": "{your api username}",
     "password": "{api password}"
  }',
  CURLOPT_HTTPHEADER => array('Content-Type: application/json')
  ));
  $response = curl_exec($curl);
  curl_close($curl);


Explanation: In the above curl request we’ve to obtain the api token so that we can make further requests to api in order to get products, inventory and prices data

Curl Request: Get Products


  curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.malfini.com/api/v4/product',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array('Authorization: Bearer {token}),
  ));
  $response = curl_exec($curl);
  curl_close($curl);


Explanation: In the above curl request we can get the products and data by using the bearer token that we’ve already generated from api.

Curl Request: Get Stock/Inventory


  $curl = curl_init();
  curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.malfini.com/api/v4/product/availabilities',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array('Authorization: Bearer {token}),
  ));
  $response = curl_exec($curl);
  $httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);	
  curl_close($curl);


Explanation: In the above curl request we can get the malfini api stock/inventory data to update the products on site.

Curl Request: Get Prices from Malfini


  $resp_arry = array();
  $curl = curl_init();
  curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.malfini.com/api/v4/product/prices',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array('Authorization: Bearer {token}),
  ));
  $response = curl_exec($curl);
  $httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);	
  curl_close($curl);


Explanation: In the above curl request we can get the prices of products that we have imported on our site.

This concludes our overview of integrating multiple supplier APIs into WooCommerce. We’ve developed a custom plugin that seamlessly integrates product data, stock levels, and pricing from all three suppliers—Falk-Ross, UTTeam, and Malfini—into your WooCommerce store. If you’re interested in using this plugin or need a custom solution tailored to your specific requirements, feel free to contact us for more information and support.

About aloncentral properties API:
AlonCentral provides an API that offers access to a wide range of property data, including vacation rentals, long-term rentals, and for-sale apartments—primarily focused on the Jerusalem area. The API enables third-party systems or websites to pull detailed property listings, availability, pricing, and location-specific data. AlonCentral combines this technology with a high level of personalized service, deep local expertise, and a passion for the city of Jerusalem, making it a reliable partner for real estate integrations and property management platforms.

We will use custom plugin to import the properties data from api with a curl request as under:

Curl Request:

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://www.aloncentral.com/wp-json/api/v1/property',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
 'Authorization: Basic {token here}'
 ),
));
 
$response = curl_exec($curl);
$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

To fetch property data from AlonCentral, you can use the following API endpoint:
https://www.aloncentral.com/wp-json/api/v1/property

This endpoint returns property listings in JSON format, including key details such as property name, description, price, property type (rental, vacation, or for-sale), location, agent name, and other relevant metadata. This structured data can be used to display listings dynamically on external websites, integrate with real estate platforms, or sync with a custom property management solution.

Explanation:

By using the cURL request shown above, you’ll receive a JSON response containing detailed property data and metadata such as property name, description, price, property type, agent name, and more. We’ve implemented this integration using a custom plugin that connects the API with WordPress or other platforms. If you’d like more information about this solution or need help with a similar integration, feel free to contact us. Thank you!

In this blog, we’ll walk through the process of creating a custom plugin to import product data from the MSAN B2B API, specifically using the endpoint:
https://b2b.msan.hr/B2BService/HTTP/Product/GetProductsList.aspx

This API returns product data in XML format and requires valid API credentials along with certificates for secure access. We’ll use a cURL request to fetch the data, parse the XML response, and import the products into a WooCommerce store. This integration ensures your product catalog remains up to date by automatically syncing from MSAN’s B2B service.


Curl Request:


  $ch = curl_init(); 
  curl_setopt($ch,CURLOPT_URL,"https://b2b.msan.hr/B2BService/HTTP/Product
  /GetProductsList.aspx"); 
  curl_setopt($ch, CURLOPT_VERBOSE, 1); 
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1); 
  curl_setopt($ch, CURLOPT_CAINFO, "/path to/ca.pem"); 
  curl_setopt($ch, CURLOPT_SSLCERT, "/path to/client.pem"); 
  curl_setopt($ch, CURLOPT_SSLKEY, "/path to/key.pem");  
  curl_setopt($ch, CURLOPT_SSLKEYPASSWD, "{keypswd}"); 
  curl_setopt ($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/xml"));
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  $response = curl_exec($ch); 
  $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  curl_close($ch);


Get Price Curl Request:

In addition to fetching product details, the MSAN B2B API also provides a dedicated endpoint to retrieve updated product pricing. To get the latest prices, we use a similar cURL request as before, but with the following URL:
https://b2b.msan.hr/B2BService/HTTP/Product/GetProductsPriceList.aspx

This request returns pricing information in XML format, including product codes and their corresponding current prices. It requires the same authentication credentials and certificate setup used in the product data request. This endpoint is essential for keeping your WooCommerce store’s pricing in sync with MSAN’s latest pricing updates.

Get product specifications Curl Request:

To retrieve additional product options or specifications, the MSAN B2B API provides another dedicated endpoint:
https://b2b.msan.hr/B2BService/HTTP/Product/GetProductsSpecification.aspx

Using the same cURL request structure and authentication setup as the previous endpoints, this URL returns detailed specification data in XML format. The response typically includes technical attributes, extended descriptions, and other metadata that can be used to enrich product listings on your WooCommerce store. Incorporating this data helps provide more complete product information for customers, improving the overall shopping experience.

With the combination of these API endpoints—product list, price list, and product specifications—you can fully automate the import and update of products from the MSAN B2B service into your WooCommerce store. By using cURL requests and handling the XML responses properly, your store can stay up to date with the latest product details, pricing, and technical specifications. We’ve implemented this process through a custom WooCommerce plugin tailored for MSAN’s API. If you’re interested in using this plugin or need a custom solution for your store, feel free to contact us for more information or support.

In this blog, we’ll guide you through the process of integrating the Bilinfo Car Listings API (https://gw.bilinfo.net/listingapi/api) into a WordPress site using a custom post type. The goal is to fetch car listings via the API and map the returned metadata into custom meta fields using the Smart Custom Fields (SCF) plugin.

The Bilinfo API provides access to structured car data such as make, model, year, mileage, price, images, and more. We will connect to the API using cURL with Basic Authentication, using the provided Username and Password. You can find the official API documentation for further reference here:
https://developer.bilinfo.net/content/Bilinfo_XML_API.pdf

To retrieve the car listings data, we’ll use the following Bilinfo API endpoint:
https://gw.bilinfo.net/listingapi/api/export

This endpoint returns structured vehicle listing data in XML format, including detailed information such as brand, model, registration year, price, mileage, fuel type, images, and more. The request must be made using cURL with Basic Authentication, supplying the Username and Password provided by Bilinfo. Once the data is retrieved, it can be parsed and imported into a custom post type in WordPress, with each field mapped to custom meta fields using the Smart Custom Fields (SCF) plugin.

Curl Request:


  $curl = curl_init();
  curl_setopt_array( $curl, array(
  CURLOPT_URL => 'https://gw.bilinfo.net/listingapi/api/export',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
         'Authorization: Basic {authorization user|password}'
        ),
  ));
  $response = curl_exec($curl);
  $httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
  curl_close($curl);
  echo $response;


Explanation:


By using this integration method, you can automate the import of vehicle listings from the Bilinfo API into your WordPress website with complete control over how the data is displayed and managed. Leveraging custom post types along with the SCF (Smart Custom Fields) plugin ensures that each vehicle’s specifications—such as title, description, images, features, and pricing—are properly structured and easy to update.

If you’re looking for a custom-built plugin to handle this integration or need help implementing it on your site, feel free to contact us here or visit our Fiverr profile for assistance. We’ll be happy to help you streamline your listings management with a robust API solution.