Tip: Using Dolibarr's REST API to Connect Your External Tools
Posted by      01/24/2025 00:00:00     Dolibarr    0 Comments
Tip: Using Dolibarr's REST API to Connect Your External Tools

Introduction: Why Use Dolibarr's REST API?

Dolibarr is a highly flexible open-source ERP/CRM solution used by many businesses to manage their operations. One of Dolibarr’s key strengths is its REST API, which allows the software to connect with other external tools, whether they are third-party applications, internal systems, or even e-commerce websites. The REST API simplifies task automation and enhances overall efficiency by avoiding duplicates and human errors associated with manual processes.

In this article, we’ll take a detailed look at how to use Dolibarr's REST API to integrate your external tools. We’ll cover the basics, initial configuration, practical examples, and tips to optimize your integration.


1. Introduction to Dolibarr's REST API

1.1 What is a REST API?

REST (Representational State Transfer) is an architecture that allows software systems to communicate with each other through HTTP requests. With Dolibarr's REST API, you can access key functionalities, such as managing clients, products, invoices, or orders, remotely and programmatically.

1.2 Use Cases for Dolibarr's REST API

Here are some common examples of integrations:

  • Synchronizing customers and orders between an e-commerce website (e.g., WooCommerce or Shopify) and Dolibarr.
  • Automating invoice creation from an internal management system.
  • Importing or exporting product and inventory data.
  • Managing HR data by connecting Dolibarr to employee management tools.

2. Preparing Dolibarr to Use the REST API

Before using Dolibarr's REST API, you need to configure your instance properly. Here are the essential steps.

2.1 Activating the REST API Module

  1. Log in to your Dolibarr instance as an administrator.
  2. Go to Setup > Modules/Applications.
  3. Find the REST API module and activate it.
  4. Once activated, configure the options, including generating and managing authentication keys.

2.2 Generating an API Key

To access the API, you need an API key that acts as an identifier to authorize requests.

  1. Navigate to Setup > REST API.
  2. Click on Manage API Keys.
  3. Create a new key and assign specific permissions (read-only, modification, etc.).
  4. Save the generated key: you’ll use it in your requests.

2.3 Configuring User Permissions

  • Ensure that the users or tools accessing the API have the necessary permissions.
  • Permissions should match the modules you intend to manage via the API (clients, products, invoices, etc.).

3. Basics of Making Requests to Dolibarr's REST API

3.1 HTTP Methods

Dolibarr's REST API uses the following HTTP methods to manage data:

  • GET: Retrieve data (e.g., fetch a list of clients).
  • POST: Add new data (e.g., create a new invoice).
  • PUT: Update existing data.
  • DELETE: Remove data.

3.2 Structure of Endpoints

The REST API endpoints in Dolibarr follow a consistent structure. For example:

  • /api/index.php/thirdparties: Manage third parties (clients and suppliers).
  • /api/index.php/invoices: Manage invoices.
  • /api/index.php/products: Manage products.

3.3 Required Headers

To make a request to the API, certain headers must be included:

  • DOLAPIKEY: The API key generated earlier.
  • Content-Type: Typically application/json for JSON data.

Example headers for a request:

bash
curl -X GET https://your-domain.com/api/index.php/thirdparties \ -H "DOLAPIKEY: your_api_key" \ -H "Content-Type: application/json"

4. Practical Examples of Using the REST API

4.1 Fetching a List of Clients

This operation is useful for synchronizing clients with another system. Here’s an example of a GET request:

bash
curl -X GET https://your-domain.com/api/index.php/thirdparties \ -H "DOLAPIKEY: your_api_key" \ -H "Content-Type: application/json"

The response will be a JSON array containing client details:

json
[ { "id": 1, "name": "Client A", "email": "clienta@example.com" }, { "id": 2, "name": "Client B", "email": "clientb@example.com" } ]

4.2 Creating a New Product

To add a new product in Dolibarr via the API, use a POST request with a JSON payload:

bash
curl -X POST https://your-domain.com/api/index.php/products \ -H "DOLAPIKEY: your_api_key" \ -H "Content-Type: application/json" \ -d '{ "ref": "PROD001", "label": "Example Product", "price": 100.50, "stock": 50 }'

4.3 Updating an Invoice

To update an existing invoice, use a PUT request:

bash
curl -X PUT https://your-domain.com/api/index.php/invoices/1 \ -H "DOLAPIKEY: your_api_key" \ -H "Content-Type: application/json" \ -d '{ "note_private": "Update: corrected invoice", "total_ttc": 150.75 }'

4.4 Deleting a Client

To delete a specific client, use a DELETE request:

bash
curl -X DELETE https://your-domain.com/api/index.php/thirdparties/1 \ -H "DOLAPIKEY: your_api_key"

5. Tips for Optimizing API Usage

5.1 Limit Permissions

When generating API keys, grant only the necessary permissions. This reduces security risks if the key is compromised.

5.2 Handle Errors

Implement logic to handle common HTTP errors:

  • 401 Unauthorized: The API key is incorrect or missing.
  • 404 Not Found: The endpoint or requested resource does not exist.
  • 500 Internal Server Error: A server-side issue.

5.3 Test Your Requests

Use tools like Postman or Insomnia to test your requests before integrating them into your application.

5.4 Automate Repetitive Tasks

With the API, you can automate tasks such as:

  • Automatically sending invoices.
  • Updating inventory after an order on an e-commerce site.

5.5 Secure Your Connection

Ensure your Dolibarr instance uses HTTPS to encrypt API requests and protect sensitive data.


6. Practical Integration Use Cases

6.1 Integration with a CMS

Link your WordPress or PrestaShop site to Dolibarr to automatically synchronize orders and client data.

6.2 Automation with No-Code Tools

Use platforms like Zapier or Make (formerly Integromat) to create automated workflows, such as integrating Dolibarr with Google Sheets for real-time report generation.

6.3 Multi-Channel Inventory Management

Connect Dolibarr to marketplaces like Amazon or eBay to synchronize stock levels and avoid overselling or stockouts.


Conclusion

Dolibarr's REST API is a powerful feature that allows you to integrate and automate your processes by connecting Dolibarr to external tools. Whether you’re synchronizing data between systems, automating invoicing, or managing your inventory, this API offers incredible flexibility.

By following the steps and tips shared in this article, you can fully leverage Dolibarr's REST API to optimize your operations.

Comments

Log in or register to post comments