CORENIO API

Connectez votre logiciel à Corenio.

Créez votre boutique, application ou intégration avec les données Corenio. Consultez produits et stocks, gérez les paniers et récupérez les commandes via l’API.

Webshop · App · ERPCorenio
HTTPSJSONAPI v1.0
Vos systèmes. Les mêmes données.
Démarrage rapide

De l’idée à votre première intégration.

01

Définissez votre processus

Choisissez les données à échanger et l’application source. Commencez par exemple par les informations produits et les stocks.

02

Demandez un accès API

Définissez avec Corenio les accès et modules nécessaires. Utilisez la clé ou le jeton correspondant depuis votre serveur.

03

Lisez, vérifiez et développez

Testez d’abord une lecture. Vérifiez les données renvoyées et la gestion des erreurs avant d’activer des processus qui modifient les données.

Accès

Une connexion sécurisée commence par les accès.

La documentation décrit une clé API dans l’en-tête et un jeton Bearer. L’authentification nécessaire dépend de l’endpoint et de vos accès. Confirmez-la lors de la configuration.

Parlons de votre intégration API
Serveur et en-têtes
https://api.corenio.com

api-key: YOUR_API_KEY
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json

Conservez les clés sur votre serveur, jamais dans le code frontend public, les URL ou les journaux.

Exemples

Votre première requête : consulter le stock.

Remplacez YOURSKU par une référence existante et YOUR_API_KEY par votre clé. La route de stock accepte les types id, ean et sku.

Le code est uniquement affiché et copié. Ce site n’exécute aucune requête API.

curl --request GET \
  "https://api.corenio.com/api/v1.0/products/stock/YOURSKU?type=sku" \
  --header "api-key: YOUR_API_KEY" \
  --header "Accept: application/json"
Référence API

30 opérations, réunies au même endroit.

Recherchez un endpoint et ouvrez ses détails. Les noms de champs, schémas et exemples techniques suivent la spécification OpenAPI d’origine.

GETLister les articles du panier/api/v1.0/carts/{cart_id}/items/list
Paniers

Paramètres

ChampEmplacementTypeObligatoire
cart_idpathintegerObligatoire
limitqueryintegerFacultatif
pagequeryintegerFacultatif
Voir le schéma
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart whose items should be returned.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  },
  {
    "name": "limit",
    "in": "query",
    "description": "Maximum number of items returned per page.",
    "required": false,
    "schema": {
      "type": "integer",
      "default": 10,
      "maximum": 30,
      "minimum": 1,
      "example": 10
    }
  },
  {
    "name": "page",
    "in": "query",
    "description": "Page number to return.",
    "required": false,
    "schema": {
      "type": "integer",
      "default": 1,
      "minimum": 1,
      "example": 1
    }
  }
]

Réponses

200400401404
Voir le schéma
{
  "200": {
    "description": "Cart items successfully retrieved.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "cart_items",
            "total_items",
            "pages",
            "items_per_page",
            "current_page",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "cart_items": {
              "description": "Cart item collection keyed by cart item ID.",
              "type": "object",
              "additionalProperties": {
                "required": [
                  "item_id",
                  "quantity"
                ],
                "properties": {
                  "item_id": {
                    "description": "Unique ID of the cart item.",
                    "type": "integer",
                    "example": 1508
                  },
                  "quantity": {
                    "description": "Quantity of the item in the cart.",
                    "type": "integer",
                    "minimum": 1,
                    "example": 3
                  }
                },
                "type": "object"
              }
            },
            "total_items": {
              "type": "integer",
              "example": 3
            },
            "pages": {
              "type": "integer",
              "example": 1
            },
            "items_per_page": {
              "type": "integer",
              "example": 10
            },
            "current_page": {
              "type": "integer",
              "example": 1
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "Invalid cart ID or pagination parameters."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "The cart was not found or contains no items."
  }
}
POSTAjouter un article/api/v1.0/carts/{cart_id}/items
Paniers

Paramètres

ChampEmplacementTypeObligatoire
cart_idpathintegerObligatoire
Voir le schéma
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart to which the item will be added.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  }
]

Corps de la requête

Obligatoire

Voir le schéma
{
  "description": "Product and quantity to add to the cart.",
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "product_id",
          "quantity"
        ],
        "properties": {
          "product_id": {
            "description": "ID of the product to add.",
            "type": "integer",
            "example": 48291
          },
          "quantity": {
            "description": "Quantity to add. Must be between 1 and the maximum allowed item quantity.",
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "example": 2
          },
          "configuration_id": {
            "description": "Optional ID of the selected product configuration.",
            "type": "integer",
            "example": 125,
            "nullable": true
          },
          "user_input": {
            "description": "Optional product configuration input supplied by the user.",
            "type": "object",
            "example": {
              "engraving": "Example",
              "color": "black"
            },
            "nullable": true,
            "additionalProperties": {}
          }
        },
        "type": "object"
      }
    }
  }
}

Réponses

201400401404
Voir le schéma
{
  "201": {
    "description": "Cart item successfully created.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "item_id",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "item_id": {
              "description": "ID of the newly created cart item.",
              "type": "integer",
              "example": 1508
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "The product_id, quantity, configuration_id, or user_input field is invalid."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "The cart or product was not found."
  }
}
DELETESupprimer des articles/api/v1.0/carts/{cart_id}/items
Paniers

Paramètres

ChampEmplacementTypeObligatoire
cart_idpathintegerObligatoire
Voir le schéma
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  }
]

Corps de la requête

Obligatoire

Voir le schéma
{
  "description": "An array containing the IDs of the cart items to remove.",
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "cartitem_ids"
        ],
        "properties": {
          "cartitem_ids": {
            "description": "Cart item IDs to remove. At least one ID is required.",
            "type": "array",
            "items": {
              "type": "integer"
            },
            "minItems": 1,
            "uniqueItems": true,
            "example": [
              1508,
              1509,
              1512
            ]
          }
        },
        "type": "object"
      }
    }
  }
}

Réponses

200400401404
Voir le schéma
{
  "200": {
    "description": "Cart items successfully removed.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "removed",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "removed": {
              "description": "IDs of the cart items that were successfully removed.",
              "type": "array",
              "items": {
                "type": "integer"
              },
              "example": [
                1508,
                1509,
                1512
              ]
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "The cartitem_ids field is missing, empty, or invalid."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "The cart was not found or none of the specified cart items were found."
  }
}
PATCHModifier la quantité/api/v1.0/carts/{cart_id}/items/{cartitem_id}
Paniers

Paramètres

ChampEmplacementTypeObligatoire
cart_idpathintegerObligatoire
cartitem_idpathintegerObligatoire
Voir le schéma
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  },
  {
    "name": "cartitem_id",
    "in": "path",
    "description": "ID of the item in the cart.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 1508
    }
  }
]

Corps de la requête

Obligatoire

Voir le schéma
{
  "description": "The new quantity for the cart item.",
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "quantity"
        ],
        "properties": {
          "quantity": {
            "description": "New quantity for the cart item. Must be between 1 and the maximum allowed item quantity.",
            "type": "integer",
            "minimum": 1,
            "example": 3
          }
        },
        "type": "object"
      }
    }
  }
}

Réponses

200400401404
Voir le schéma
{
  "200": {
    "description": "Cart item quantity successfully updated.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "cart_id",
            "cartitem_id",
            "new_quantity",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "cart_id": {
              "description": "ID of the updated cart.",
              "type": "integer",
              "example": 19403076
            },
            "cartitem_id": {
              "description": "ID of the updated cart item.",
              "type": "integer",
              "example": 1508
            },
            "new_quantity": {
              "description": "The updated quantity of the cart item.",
              "type": "integer",
              "minimum": 1,
              "example": 3
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "The quantity field is missing or outside the allowed range."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "The cart or cart item was not found."
  }
}
POSTCréer un panier/api/v1.0/carts/create
Paniers

Réponses

201401
Voir le schéma
{
  "201": {
    "description": "Cart successfully created.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "cart_id",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "cart_id": {
              "description": "ID of the newly created cart.",
              "type": "integer",
              "example": 19403076
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  }
}
POSTTransformer le panier en commande/api/v1.0/carts/{cart_id}/finalize
Paniers

Paramètres

ChampEmplacementTypeObligatoire
cart_idpathintegerObligatoire
Voir le schéma
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart to finalize.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  }
]

Réponses

201400401404409
Voir le schéma
{
  "201": {
    "description": "Cart successfully finalized and order created.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "order_id",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "order_id": {
              "description": "ID of the newly created order.",
              "type": "integer",
              "example": 205481
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "The cart ID is invalid or the cart cannot be finalized."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "The cart was not found or does not belong to the authenticated user."
  },
  "409": {
    "description": "The cart has already been finalized."
  }
}
POSTDéfinir le mode de livraison/api/v1.0/carts/{cart_id}/shipping
Paniers

Paramètres

ChampEmplacementTypeObligatoire
cart_idpathintegerObligatoire
Voir le schéma
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  }
]

Corps de la requête

Obligatoire

Voir le schéma
{
  "description": "The shipping method to select for the cart.",
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "shipping_method_id"
        ],
        "properties": {
          "shipping_method_id": {
            "description": "ID of an available shipping method.",
            "type": "integer",
            "example": 12
          }
        },
        "type": "object"
      }
    }
  }
}

Réponses

200400401404
Voir le schéma
{
  "200": {
    "description": "Shipping method successfully selected.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "shipping_method_id",
            "shipping_method",
            "shipping_price_ex_vat",
            "shipping_price_vat",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "shipping_method_id": {
              "description": "ID of the selected shipping method.",
              "type": "integer",
              "example": 12
            },
            "shipping_method": {
              "description": "Name of the selected shipping method.",
              "type": "string",
              "example": "Standard shipping"
            },
            "currency": {
              "description": "Currency.",
              "type": "string",
              "example": "EUR"
            },
            "shipping_price_ex_vat": {
              "description": "Shipping price excluding VAT.",
              "type": "number",
              "format": "float",
              "example": 7
            },
            "shipping_price_vat": {
              "description": "VAT charged on the shipping price.",
              "type": "number",
              "format": "float",
              "example": 1.47
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "The shipping_method_id is missing, invalid, or unavailable for this cart."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "The cart was not found or does not belong to the authenticated user."
  }
}
GETLister les modes de livraison/api/v1.0/carts/{cart_id}/shippingmethods/{language}
Paniers

Paramètres

ChampEmplacementTypeObligatoire
cart_idpathintegerObligatoire
languagepathstringObligatoire
Voir le schéma
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  },
  {
    "name": "language",
    "in": "path",
    "description": "Two-character language code used for the translated title and description.",
    "required": true,
    "schema": {
      "type": "string",
      "enum": [
        "nl",
        "en",
        "de"
      ],
      "example": "nl"
    }
  }
]

Réponses

200400401404
Voir le schéma
{
  "200": {
    "description": "Available shipping methods successfully retrieved.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "shipping_methods",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "shipping_methods": {
              "description": "Shipping methods available for the cart.",
              "type": "array",
              "items": {
                "required": [
                  "id",
                  "icon",
                  "icon_thumb",
                  "title",
                  "description",
                  "price"
                ],
                "properties": {
                  "id": {
                    "description": "ID of the shipping method.",
                    "type": "integer",
                    "example": 12
                  },
                  "icon": {
                    "description": "URL of the shipping method icon.",
                    "type": "string",
                    "format": "uri",
                    "example": "https://example.com/images/shipping/dhl.svg"
                  },
                  "icon_thumb": {
                    "description": "URL of the thumbnail version of the icon.",
                    "type": "string",
                    "format": "uri",
                    "example": "https://example.com/images/shipping/thumb_dhl.svg"
                  },
                  "title": {
                    "description": "Translated name of the shipping method.",
                    "type": "string",
                    "example": "Standaard verzending"
                  },
                  "description": {
                    "description": "Translated description of the shipping method.",
                    "type": "string",
                    "example": "Levering binnen 1 tot 2 werkdagen."
                  },
                  "price": {
                    "required": [
                      "currency",
                      "vat_percentage",
                      "price_ex_vat"
                    ],
                    "properties": {
                      "currency": {
                        "description": "ISO 4217 currency code.",
                        "type": "string",
                        "example": "EUR"
                      },
                      "vat_percentage": {
                        "description": "VAT percentage applied to the shipping price.",
                        "type": "number",
                        "format": "float",
                        "example": 21
                      },
                      "price_ex_vat": {
                        "description": "Shipping price excluding VAT.",
                        "type": "string",
                        "example": "7.00"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "The cart_id or language parameter is invalid."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "The cart was not found or no shipping methods are available."
  }
}
GETLister les paniers/api/v1.0/carts/list
Paniers

Paramètres

ChampEmplacementTypeObligatoire
limitqueryintegerFacultatif
pagequeryintegerFacultatif
Voir le schéma
[
  {
    "name": "limit",
    "in": "query",
    "description": "Maximum number of carts returned per page. The maximum allowed value is 30.",
    "required": false,
    "schema": {
      "type": "integer",
      "default": 10,
      "maximum": 30,
      "example": 10
    }
  },
  {
    "name": "page",
    "in": "query",
    "description": "Page number to return.",
    "required": false,
    "schema": {
      "type": "integer",
      "default": 1,
      "minimum": 1,
      "example": 1
    }
  }
]

Réponses

200401404
Voir le schéma
{
  "200": {
    "description": "Carts successfully retrieved.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "carts",
            "total_items",
            "pages",
            "items_per_page",
            "current_page",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "carts": {
              "description": "Cart collection keyed by cart ID.",
              "type": "object",
              "additionalProperties": {
                "required": [
                  "cart_id",
                  "helpdeskcode",
                  "item_quantity",
                  "item_subtotal",
                  "shipping",
                  "total_vat",
                  "total_ex_vat",
                  "total"
                ],
                "properties": {
                  "cart_id": {
                    "type": "integer",
                    "example": 19403076
                  },
                  "helpdeskcode": {
                    "type": "string",
                    "example": "bf04e"
                  },
                  "item_quantity": {
                    "type": "integer",
                    "example": 3
                  },
                  "item_subtotal": {
                    "description": "Formatted subtotal of all cart items.",
                    "type": "string",
                    "example": "€ 97,05"
                  },
                  "shipping": {
                    "description": "Formatted shipping cost.",
                    "type": "string",
                    "example": "€ 7,00"
                  },
                  "total_vat": {
                    "description": "Formatted total VAT amount.",
                    "type": "string",
                    "example": "€ 21,85"
                  },
                  "total_ex_vat": {
                    "description": "Formatted total excluding VAT.",
                    "type": "string",
                    "example": "€ 104,05"
                  },
                  "total": {
                    "description": "Formatted total including VAT.",
                    "type": "string",
                    "example": "€ 125,90"
                  }
                },
                "type": "object"
              }
            },
            "total_items": {
              "type": "integer",
              "example": 2
            },
            "pages": {
              "type": "integer",
              "example": 1
            },
            "items_per_page": {
              "type": "integer",
              "example": 10
            },
            "current_page": {
              "type": "integer",
              "example": 1
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "No carts were found for the authenticated user."
  }
}
DELETESupprimer un panier/api/v1.0/carts/{cart_id}
Paniers

Paramètres

ChampEmplacementTypeObligatoire
cart_idpathintegerObligatoire
Voir le schéma
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart to remove.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  }
]

Réponses

200400401404
Voir le schéma
{
  "200": {
    "description": "Cart successfully removed.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "removed",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "removed": {
              "description": "ID of the cart that was removed.",
              "type": "integer",
              "example": 19403076
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "The cart_id path parameter is invalid."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "The cart was not found or does not belong to the authenticated user."
  }
}
POSTRécupérer les sous-catégories/api/v1.0/categories/byParent
Catégories

Corps de la requête

Obligatoire

Voir le schéma
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "parent_id"
        ],
        "properties": {
          "parent_id": {
            "description": "An category ID.",
            "type": "integer"
          },
          "language": {
            "description": "The language of the response.",
            "type": "string",
            "default": "en"
          },
          "page": {
            "description": "The page number for pagination, starting from 0.",
            "type": "integer",
            "default": 1
          },
          "limit": {
            "description": "The maximum number of items per page.",
            "type": "integer",
            "default": 10
          }
        },
        "type": "object"
      }
    }
  }
}

Réponses

200400404
Voir le schéma
{
  "200": {
    "description": "Get categories by parent_id successfully."
  },
  "400": {
    "description": "Invalid input. parent_id must be provided."
  },
  "404": {
    "description": "No categories found."
  }
}
POSTRechercher des catégories/api/v1.0/categories/search
Catégories

Corps de la requête

Obligatoire

Voir le schéma
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "search_term"
        ],
        "properties": {
          "search_term": {
            "description": "1 or multiple search_term (use variations for more hits) title, seo_path etc.",
            "type": "array",
            "items": {
              "type": "string",
              "default": ""
            },
            "example": [
              "name, seo_path"
            ]
          },
          "language": {
            "description": "The language of the response.",
            "type": "string",
            "default": "en"
          },
          "page": {
            "description": "The page number for pagination, starting from 0.",
            "type": "integer",
            "default": 1
          },
          "limit": {
            "description": "The maximum number of items per page.",
            "type": "integer",
            "default": 10
          }
        },
        "type": "object"
      }
    }
  }
}

Réponses

200400404
Voir le schéma
{
  "200": {
    "description": "Get categories by search_term."
  },
  "400": {
    "description": "Invalid input. search_term must be provided."
  },
  "404": {
    "description": "No categories found."
  }
}
GETLister les commandes/api/v1.0/orders
Commandes

Paramètres

ChampEmplacementTypeObligatoire
limitqueryintegerFacultatif
pagequeryintegerFacultatif
languagequerystringFacultatif
statusquerystringFacultatif
date_fromquerystringFacultatif
date_tillquerystringFacultatif
Voir le schéma
[
  {
    "name": "limit",
    "in": "query",
    "description": "Maximum number of orders returned per page.",
    "required": false,
    "schema": {
      "type": "integer",
      "default": 10,
      "maximum": 30,
      "minimum": 1,
      "example": 10
    }
  },
  {
    "name": "page",
    "in": "query",
    "description": "Page number to return.",
    "required": false,
    "schema": {
      "type": "integer",
      "default": 1,
      "minimum": 1,
      "example": 1
    }
  },
  {
    "name": "language",
    "in": "query",
    "description": "Two-character language code used for translated order data.",
    "required": false,
    "schema": {
      "type": "string",
      "maxLength": 2,
      "minLength": 2,
      "example": "nl"
    }
  },
  {
    "name": "status",
    "in": "query",
    "description": "Comma-separated list of order status IDs. An order is returned when its status matches one of the supplied IDs.",
    "required": false,
    "schema": {
      "type": "string",
      "pattern": "^\\d+(,\\d+)*$",
      "example": "1,3,4"
    }
  },
  {
    "name": "date_from",
    "in": "query",
    "description": "Return orders created on or after this date.",
    "required": false,
    "schema": {
      "type": "string",
      "format": "date",
      "example": "2026-01-01"
    }
  },
  {
    "name": "date_till",
    "in": "query",
    "description": "Return orders created on or before this date.",
    "required": false,
    "schema": {
      "type": "string",
      "format": "date",
      "example": "2026-08-31"
    }
  }
]

Réponses

200400401404
Voir le schéma
{
  "200": {
    "description": "Orders successfully retrieved.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "orders",
            "total_items",
            "pages",
            "items_per_page",
            "current_page",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "orders": {
              "description": "Order collection keyed by order ID.",
              "type": "object",
              "additionalProperties": {
                "description": "Order data generated by OrderListDTO.",
                "type": "object"
              }
            },
            "total_items": {
              "description": "Total number of orders matching the filters.",
              "type": "integer",
              "minimum": 0,
              "example": 24
            },
            "pages": {
              "description": "Total number of available pages.",
              "type": "integer",
              "minimum": 0,
              "example": 3
            },
            "items_per_page": {
              "description": "Maximum number of orders returned per page.",
              "type": "integer",
              "example": 10
            },
            "current_page": {
              "description": "Current page number.",
              "type": "integer",
              "minimum": 1,
              "example": 1
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "One or more pagination, language, or date parameters are invalid."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "No orders matching the supplied filters were found."
  }
}
POSTCréer un lien de paiement/api/v1.0/orders/paymentlink
Commandes

Corps de la requête

Obligatoire

Voir le schéma
{
  "description": "The order, payment method and optional partial payment amount.",
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "order_id",
          "payment_method"
        ],
        "properties": {
          "order_id": {
            "description": "ID of the order for which the payment link should be created.",
            "type": "integer",
            "example": 205481
          },
          "payment_method": {
            "description": "ID of the payment method to use.",
            "type": "integer",
            "example": 3
          },
          "payment_amount": {
            "description": "Optional partial payment amount. When omitted, a link for the total unpaid amount is created. The amount cannot exceed the outstanding order amount.",
            "type": "number",
            "format": "float",
            "minimum": 0.01,
            "example": 50,
            "nullable": true
          }
        },
        "type": "object"
      }
    }
  }
}

Réponses

200400401404
Voir le schéma
{
  "200": {
    "description": "Payment link successfully created.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "order_id",
            "total_unpaid",
            "payment_method",
            "payment_url",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "order_id": {
              "description": "ID of the order.",
              "type": "integer",
              "example": 205481
            },
            "total_unpaid": {
              "description": "Total outstanding amount on the order before this payment is completed.",
              "type": "number",
              "format": "float",
              "example": 125.9
            },
            "payment_method": {
              "description": "Name of the selected payment method.",
              "type": "string",
              "example": "iDEAL"
            },
            "payment_url": {
              "description": "URL where the customer can complete the payment.",
              "type": "string",
              "format": "uri",
              "example": "https://payments.example.com/pay/abc123"
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "A required field is missing, the payment amount is invalid, the payment method is unavailable, or the order has already been fully paid."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "The order was not found or does not belong to the authenticated user."
  }
}
GETTélécharger un document de commande/api/v1.0/orders/{order_id}/pdf/{type}
Commandes

Paramètres

ChampEmplacementTypeObligatoire
order_idpathintegerObligatoire
typepathstringObligatoire
Voir le schéma
[
  {
    "name": "order_id",
    "in": "path",
    "description": "ID of the order.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 205481
    }
  },
  {
    "name": "type",
    "in": "path",
    "description": "Type of PDF document to generate.",
    "required": true,
    "schema": {
      "type": "string",
      "enum": [
        "order",
        "invoice",
        "credit"
      ],
      "example": "invoice"
    }
  }
]

Réponses

200400401404500
Voir le schéma
{
  "200": {
    "description": "PDF document successfully generated.",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "order_id",
            "filename",
            "pdf_base64",
            "format",
            "success",
            "error_message"
          ],
          "properties": {
            "order_id": {
              "description": "ID of the order.",
              "type": "integer",
              "example": 205481
            },
            "filename": {
              "description": "Suggested filename for the PDF document.",
              "type": "string",
              "example": "invoice-205481.pdf"
            },
            "pdf_base64": {
              "description": "Base64-encoded contents of the PDF document.",
              "type": "string",
              "format": "byte",
              "example": "JVBERi0xLjQKJc..."
            },
            "format": {
              "type": "string",
              "example": "json"
            },
            "success": {
              "type": "boolean",
              "example": true
            },
            "error_message": {
              "type": "array",
              "items": {},
              "example": []
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "The order_id is invalid or the document type is not order, invoice, or credit."
  },
  "401": {
    "description": "Invalid, missing, or expired authentication token."
  },
  "404": {
    "description": "The order or requested PDF document was not found."
  },
  "500": {
    "description": "The PDF document could not be generated."
  }
}
GETConsulter le stock/api/v1.0/products/stock/{identifier}
Produits

Paramètres

ChampEmplacementTypeObligatoire
identifierpathstringObligatoire
typequerystringFacultatif
Voir le schéma
[
  {
    "name": "identifier",
    "in": "path",
    "description": "<b>ID</b> or <b>EAN</b> or <b>SKU</b>.",
    "required": true,
    "schema": {
      "type": "string",
      "pattern": "^[a-z0-9A-Z]+$"
    }
  },
  {
    "name": "type",
    "in": "query",
    "required": false,
    "schema": {
      "type": "string",
      "enum": [
        "id",
        "ean",
        "sku"
      ]
    }
  }
]

Réponses

200404
Voir le schéma
{
  "200": {
    "description": "Get stock",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Product"
        }
      }
    }
  },
  "404": {
    "description": "Product Not Found",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "success": {
              "type": "boolean",
              "example": false
            },
            "error_message": {
              "properties": {
                "code": {
                  "type": "integer",
                  "example": 404
                },
                "message": {
                  "type": "string",
                  "example": "Product Not Found"
                },
                "details": {
                  "type": "string",
                  "example": "The product with the specified ID: '{productId}', could not be found. Please verify the ID and try again."
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        }
      }
    }
  }
}
POSTRechercher des produits/api/v1.0/products/search
Produits

Corps de la requête

Obligatoire

Voir le schéma
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "properties": {
          "filters": {
            "description": "The filters ",
            "properties": {
              "productnumbers": {
                "description": "1 or multiple productnumbers.",
                "type": "array",
                "items": {
                  "type": "string",
                  "default": ""
                },
                "example": [
                  "productnumber"
                ]
              },
              "eancodes": {
                "description": "1 or multiple eancodes.",
                "type": "array",
                "items": {
                  "type": "string",
                  "default": ""
                },
                "example": [
                  "eancode"
                ]
              },
              "brands": {
                "description": "1 or multiple brand names.",
                "type": "array",
                "items": {
                  "type": "string",
                  "default": ""
                },
                "example": [
                  "Brand name"
                ]
              },
              "brand_ids": {
                "description": "1 or multiple brand ids.",
                "type": "array",
                "items": {
                  "type": "integer",
                  "default": 0
                },
                "example": [
                  1,
                  2,
                  3
                ]
              },
              "categories": {
                "description": "1 or multiple category seo_paths.",
                "type": "array",
                "items": {
                  "type": "string",
                  "default": ""
                },
                "example": [
                  "/parts/subcat"
                ]
              },
              "categorie_ids": {
                "description": "1 or multiple category ids.",
                "type": "array",
                "items": {
                  "type": "integer",
                  "default": 0
                },
                "example": [
                  1,
                  2,
                  3
                ]
              },
              "producttype_ids": {
                "description": "1 or multiple producttype ids.",
                "type": "array",
                "items": {
                  "type": "integer",
                  "default": 0
                },
                "example": [
                  1,
                  2,
                  3
                ]
              },
              "vehicle_ids": {
                "description": "1 or multiple internal vehicle ids.",
                "type": "array",
                "items": {
                  "type": "integer",
                  "default": 0
                },
                "example": [
                  1,
                  2,
                  3
                ]
              },
              "ktype_ids": {
                "description": "1 or multiple ktype ids.",
                "type": "array",
                "items": {
                  "type": "integer",
                  "default": 0
                },
                "example": [
                  1,
                  2,
                  3
                ]
              },
              "property_ids": {
                "type": "array",
                "items": {
                  "type": "integer"
                },
                "example": [
                  120,
                  151
                ]
              }
            },
            "type": "object"
          },
          "page": {
            "description": "The page number for pagination, starting from 0.",
            "type": "integer",
            "default": 1
          },
          "limit": {
            "description": "The maximum number of items per page.",
            "type": "integer",
            "default": 10,
            "maximum": 50,
            "minimum": 10
          }
        },
        "type": "object"
      }
    }
  }
}

Réponses

200400
Voir le schéma
{
  "200": {
    "description": "Get product ids successfully."
  },
  "400": {
    "description": "Invalid input. 1 or multiple variables must be provided."
  }
}
POSTRécupérer les filtres produits/api/v1.0/products/search/filters
Produits

Corps de la requête

Obligatoire

Voir le schéma
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "properties": {
          "filters": {
            "properties": {
              "productnumbers": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "example": [
                  "12345",
                  "67890"
                ]
              },
              "eancodes": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "example": [
                  "8712345678901"
                ]
              },
              "categories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "example": [
                  "engine-parts"
                ]
              },
              "category_ids": {
                "type": "array",
                "items": {
                  "type": "integer"
                },
                "example": [
                  10,
                  20
                ]
              },
              "brands": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "example": [
                  "FEBI BILSTEIN"
                ]
              },
              "brand_ids": {
                "type": "array",
                "items": {
                  "type": "integer"
                },
                "example": [
                  19,
                  60
                ]
              },
              "producttype_ids": {
                "type": "array",
                "items": {
                  "type": "integer"
                },
                "example": [
                  1,
                  2
                ]
              },
              "vehicle_ids": {
                "type": "array",
                "items": {
                  "type": "integer"
                },
                "example": [
                  1001
                ]
              },
              "ktype_ids": {
                "type": "array",
                "items": {
                  "type": "integer"
                },
                "example": [
                  12345
                ]
              },
              "property_ids": {
                "type": "array",
                "items": {
                  "type": "integer"
                },
                "example": [
                  120,
                  151
                ]
              }
            },
            "type": "object"
          },
          "limit": {
            "type": "integer",
            "maximum": 50,
            "example": 10
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "example": 1
          }
        },
        "type": "object"
      }
    }
  }
}

Réponses

200404400
Voir le schéma
{
  "200": {
    "description": "Filters retrieved successfully",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "total_items": {
              "type": "integer",
              "example": 2
            },
            "pages": {
              "type": "integer",
              "example": 1
            },
            "items_per_pages": {
              "type": "integer",
              "example": 10
            },
            "current_page": {
              "type": "integer",
              "example": 1
            },
            "filters": {
              "type": "object",
              "example": {
                "5_property_120": {
                  "id": "property_120",
                  "title": "fitting position",
                  "filters": [
                    {
                      "title": "front axle left",
                      "id": 153,
                      "icon": "",
                      "count": 2,
                      "selected": false
                    },
                    {
                      "title": "front axle right",
                      "id": 154,
                      "icon": "",
                      "count": 1,
                      "selected": false
                    },
                    {
                      "title": "front",
                      "id": 937,
                      "icon": "",
                      "count": 1,
                      "selected": false
                    },
                    {
                      "title": "upper",
                      "id": 1283,
                      "icon": "",
                      "count": 1,
                      "selected": false
                    }
                  ],
                  "selected": null
                }
              },
              "additionalProperties": {
                "properties": {
                  "id": {
                    "type": "string",
                    "example": "property_120"
                  },
                  "title": {
                    "type": "string",
                    "example": "fitting position"
                  },
                  "filters": {
                    "type": "array",
                    "items": {
                      "properties": {
                        "title": {
                          "type": "string",
                          "example": "front axle left"
                        },
                        "id": {
                          "type": "integer",
                          "example": 153
                        },
                        "icon": {
                          "type": "string",
                          "example": ""
                        },
                        "count": {
                          "type": "integer",
                          "example": 2
                        },
                        "selected": {
                          "type": "boolean",
                          "example": false
                        }
                      },
                      "type": "object"
                    }
                  },
                  "selected": {
                    "example": null,
                    "nullable": true
                  }
                },
                "type": "object"
              }
            }
          },
          "type": "object"
        }
      }
    }
  },
  "404": {
    "description": "No products found",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "error": {
              "type": "string",
              "example": "No Products Found"
            },
            "message": {
              "type": "string",
              "example": "The products with the specified filters could not be found."
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "Missing filters",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "error": {
              "type": "string",
              "example": "Missing required filters"
            },
            "fields": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "type": "object"
        }
      }
    }
  }
}
POSTRécupérer les données produits/api/v1.0/products/data
Produits

Corps de la requête

Obligatoire

Voir le schéma
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "products",
          "language"
        ],
        "properties": {
          "products": {
            "description": "An array of product IDs.",
            "type": "array",
            "items": {
              "type": "integer",
              "default": ""
            }
          },
          "language": {
            "description": "The language of the response.",
            "type": "string",
            "default": "en"
          },
          "options": {
            "description": "The optional flags",
            "properties": {
              "vehicle_id": {
                "description": "Vehicle id required for vehicle properties.",
                "type": "integer",
                "default": "0"
              },
              "oenumbers": {
                "description": "Include OE numbers.",
                "type": "boolean",
                "default": false
              },
              "images": {
                "description": "Include images.",
                "type": "boolean",
                "default": false
              },
              "usageNumbers": {
                "description": "Include usage numbers.",
                "type": "boolean",
                "default": false
              },
              "measurements": {
                "description": "Include measurements.",
                "type": "boolean",
                "default": false
              },
              "package_measurements": {
                "description": "Include package measurements.",
                "type": "boolean",
                "default": false
              },
              "stock": {
                "description": "Include internal,external stock.",
                "type": "boolean",
                "default": false
              },
              "categories": {
                "description": "Include categories.",
                "type": "boolean",
                "default": false
              },
              "brand": {
                "description": "Include brand.",
                "type": "boolean",
                "default": false
              },
              "properties": {
                "description": "Include properties.",
                "type": "boolean",
                "default": false
              }
            },
            "type": "object"
          },
          "page": {
            "description": "The page number for pagination, starting from 0.",
            "type": "integer",
            "default": 1
          },
          "limit": {
            "description": "The maximum number of items per page.",
            "type": "integer",
            "default": 10,
            "maximum": 50,
            "minimum": 10
          }
        },
        "type": "object"
      }
    }
  }
}

Réponses

200400
Voir le schéma
{
  "200": {
    "description": "Get product data successfully."
  },
  "400": {
    "description": "Invalid input. Either products and language or categorieUrl and language must be provided."
  }
}
POSTRécupérer les données produits et véhicules/api/v1.0/products/data/vehicles
Produits

Corps de la requête

Obligatoire

Voir le schéma
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "product_id"
        ],
        "properties": {
          "product_id": {
            "description": "An product ID.",
            "type": "integer"
          },
          "page": {
            "description": "The page number for pagination, starting from 0.",
            "type": "integer",
            "default": 1
          },
          "limit": {
            "description": "The maximum number of items per page.",
            "type": "integer",
            "default": 10
          }
        },
        "type": "object"
      }
    }
  }
}

Réponses

200400404
Voir le schéma
{
  "200": {
    "description": "Get product vehicles successfully."
  },
  "400": {
    "description": "Invalid input. product_id must be provided."
  },
  "404": {
    "description": "No vehicles found."
  }
}
POSTRécupérer les produits alternatifs/api/v1.0/products/alternatives
Produits

Corps de la requête

Obligatoire

Voir le schéma
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "product_id",
          "language",
          "vehicle_id"
        ],
        "properties": {
          "product_id": {
            "description": "Product id.",
            "type": "integer",
            "default": ""
          },
          "language": {
            "description": "The language of the response.",
            "type": "string",
            "default": "en"
          },
          "vehicle_id": {
            "description": "The vehicle_id required for compatibility.",
            "type": "integer",
            "default": ""
          },
          "brand_id": {
            "description": "The brand_id (optional)",
            "type": "integer",
            "default": ""
          },
          "options": {
            "description": "The optional flags",
            "properties": {
              "images": {
                "description": "Include images.",
                "type": "boolean",
                "default": false
              },
              "stock": {
                "description": "Include internal,external stock.",
                "type": "boolean",
                "default": false
              },
              "categories": {
                "description": "Include categories.",
                "type": "boolean",
                "default": false
              },
              "brand": {
                "description": "Include brand.",
                "type": "boolean",
                "default": false
              },
              "properties": {
                "description": "Include properties.",
                "type": "boolean",
                "default": false
              }
            },
            "type": "object"
          },
          "page": {
            "description": "The page number for pagination, starting from 0.",
            "type": "integer",
            "default": 1
          },
          "limit": {
            "description": "The maximum number of items per page.",
            "type": "integer",
            "default": 10,
            "maximum": 50,
            "minimum": 10
          }
        },
        "type": "object"
      }
    }
  }
}

Réponses

200400
Voir le schéma
{
  "200": {
    "description": "Get product data successfully."
  },
  "400": {
    "description": "Invalid input. products, language and vehicle_id must be provided."
  }
}
POSTRécupérer les produits d’entretien/api/v1.0/products/maintenance
Produits

Corps de la requête

Obligatoire

Voir le schéma
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "product_id",
          "language"
        ],
        "properties": {
          "product_id": {
            "description": "Product id.",
            "type": "integer",
            "default": ""
          },
          "language": {
            "description": "The language of the response.",
            "type": "string",
            "default": "en"
          },
          "options": {
            "description": "The optional flags",
            "properties": {
              "images": {
                "description": "Include images.",
                "type": "boolean",
                "default": false
              },
              "stock": {
                "description": "Include internal,external stock.",
                "type": "boolean",
                "default": false
              },
              "categories": {
                "description": "Include categories.",
                "type": "boolean",
                "default": false
              },
              "brand": {
                "description": "Include brand.",
                "type": "boolean",
                "default": false
              },
              "properties": {
                "description": "Include properties.",
                "type": "boolean",
                "default": false
              }
            },
            "type": "object"
          },
          "page": {
            "description": "The page number for pagination, starting from 0.",
            "type": "integer",
            "default": 1
          },
          "limit": {
            "description": "The maximum number of items per page.",
            "type": "integer",
            "default": 10,
            "maximum": 50,
            "minimum": 10
          }
        },
        "type": "object"
      }
    }
  }
}

Réponses

200400
Voir le schéma
{
  "200": {
    "description": "Get product data successfully."
  },
  "400": {
    "description": "Invalid input. products, language and vehicle_id must be provided."
  }
}
POSTCréer un utilisateur/api/v1.0/users/create
Utilisateurs

Corps de la requête

Obligatoire

Voir le schéma
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "properties": {
          "username": {
            "description": "Username for login. If the system is configured to use email as username, this must be a valid email address.",
            "type": "string",
            "example": "john@example.com"
          },
          "email": {
            "description": "Email address of the user.",
            "type": "string",
            "example": "john@example.com"
          },
          "password": {
            "description": "User password. If not provided, a random password will be generated automatically.",
            "type": "string",
            "example": "StrongPassword123"
          },
          "gender": {
            "description": "Gender of the user.",
            "type": "string",
            "example": "male"
          },
          "firstname": {
            "type": "string",
            "example": "John"
          },
          "lastname": {
            "type": "string",
            "example": "Doe"
          },
          "address": {
            "type": "string",
            "example": "Main Street"
          },
          "address2": {
            "type": "string",
            "example": "Apartment 5"
          },
          "addressnumber": {
            "type": "string",
            "example": "12"
          },
          "postalcode": {
            "type": "string",
            "example": "1234AB"
          },
          "city": {
            "type": "string",
            "example": "Amsterdam"
          },
          "country": {
            "description": "Country code (ISO2 or ISO3). Will be converted internally to the country ID.",
            "type": "string",
            "example": "NL"
          },
          "state": {
            "type": "string",
            "example": "North Holland"
          },
          "phone": {
            "type": "string",
            "example": "+31 20 1234567"
          },
          "mobphone": {
            "type": "string",
            "example": "+31 6 12345678"
          },
          "companyname": {
            "type": "string",
            "example": "Example BV"
          },
          "chambercommerce": {
            "description": "Chamber of Commerce registration number.",
            "type": "string",
            "example": "12345678"
          },
          "eori_number": {
            "type": "string",
            "example": "NL123456789"
          },
          "vatnumber": {
            "type": "string",
            "example": "NL123456789B01"
          }
        },
        "type": "object"
      }
    }
  }
}

Réponses

200400
Voir le schéma
{
  "200": {
    "description": "User successfully created.",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "id": {
              "type": "integer",
              "example": 125
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "Validation error (missing or invalid fields)."
  }
}
POSTConnecter un utilisateur/api/v1.0/users/auth/login
Utilisateurs

Corps de la requête

Obligatoire

Voir le schéma
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "username",
          "password"
        ],
        "properties": {
          "username": {
            "type": "string",
            "example": "john@example.com"
          },
          "password": {
            "type": "string",
            "example": "StrongPassword123"
          }
        },
        "type": "object"
      }
    }
  }
}

Réponses

200400
Voir le schéma
{
  "200": {
    "description": "Login successful",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "token": {
              "type": "string",
              "example": "4e6c6d4f5b1c4b1c3f8e6f4d"
            },
            "user_id": {
              "type": "integer",
              "example": 125
            }
          },
          "type": "object"
        }
      }
    }
  },
  "400": {
    "description": "Invalid credentials"
  }
}
POSTDéconnecter la session actuelle/api/v1.0/users/auth/logout
Utilisateurs

Réponses

200401
Voir le schéma
{
  "200": {
    "description": "User logged out",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "logged_out": {
              "type": "boolean",
              "example": true
            }
          },
          "type": "object"
        }
      }
    }
  },
  "401": {
    "description": "Invalid or missing token"
  }
}
POSTDéconnecter toutes les sessions/api/v1.0/users/auth/logout/all
Utilisateurs

Réponses

200401
Voir le schéma
{
  "200": {
    "description": "User logged out",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "logged_out": {
              "type": "boolean",
              "example": true
            }
          },
          "type": "object"
        }
      }
    }
  },
  "401": {
    "description": "Invalid or missing token"
  }
}
POSTRenouveler le jeton/api/v1.0/users/auth/refresh
Utilisateurs

Réponses

200401
Voir le schéma
{
  "200": {
    "description": "Token refreshed",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "token": {
              "type": "string",
              "example": "new_token_abcdef123456"
            },
            "expires_in": {
              "description": "Token lifetime in seconds",
              "type": "integer",
              "example": 2592000
            }
          },
          "type": "object"
        }
      }
    }
  },
  "401": {
    "description": "Invalid or expired token"
  }
}
POSTRécupérer l’utilisateur connecté/api/v1.0/users/auth/whoami
Utilisateurs

Réponses

200401
Voir le schéma
{
  "200": {
    "description": "User information",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "user_id": {
              "type": "integer",
              "example": 125
            },
            "username": {
              "type": "string",
              "example": "john@example.com"
            },
            "email": {
              "type": "string",
              "example": "john@example.com"
            },
            "firstname": {
              "type": "string",
              "example": "John"
            },
            "lastname": {
              "type": "string",
              "example": "Doe"
            }
          },
          "type": "object"
        }
      }
    }
  },
  "401": {
    "description": "Invalid or expired token"
  }
}
POSTRechercher des véhicules/api/v1.0/vehicles/search
Véhicules

Corps de la requête

Obligatoire

Voir le schéma
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "filters"
        ],
        "properties": {
          "filters": {
            "description": "At least one filter must be provided.",
            "properties": {
              "licenseplates": {
                "description": "1 or multiple licenseplates. Requires 'country' to be set.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "vinnumbers": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "vehicle_ids": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              },
              "ktype_ids": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              }
            },
            "type": "object"
          },
          "country": {
            "description": "ISO country code (e.g. 'nl'). REQUIRED when using 'filters.licenseplates'.",
            "type": "string",
            "example": "nl"
          },
          "language": {
            "type": "string",
            "default": "en"
          },
          "page": {
            "type": "integer",
            "default": 1
          },
          "limit": {
            "type": "integer",
            "default": 10,
            "maximum": 50,
            "minimum": 10
          }
        },
        "type": "object"
      },
      "examples": {
        "licenseplate_search": {
          "summary": "Licenseplate search (country REQUIRED)",
          "value": {
            "filters": {
              "licenseplates": [
                "AB123CD"
              ]
            },
            "country": "nl",
            "language": "en",
            "page": 1,
            "limit": 10
          }
        },
        "multiple_licenseplates": {
          "summary": "Multiple licenseplates",
          "value": {
            "filters": {
              "licenseplates": [
                "AB123CD",
                "XY987ZT"
              ]
            },
            "country": "nl",
            "language": "en"
          }
        },
        "vin_search": {
          "summary": "Search by VIN (no country required)",
          "value": {
            "filters": {
              "vinnumbers": [
                "WBA123456789",
                "VF1123456789"
              ]
            },
            "language": "en"
          }
        },
        "vehicle_ids_search": {
          "summary": "Search by internal vehicle IDs",
          "value": {
            "filters": {
              "vehicle_ids": [
                1,
                25,
                99
              ]
            },
            "language": "en"
          }
        },
        "ktype_ids_search": {
          "summary": "Search by TecDoc ktype IDs",
          "value": {
            "filters": {
              "ktype_ids": [
                12345,
                67890
              ]
            },
            "language": "en"
          }
        },
        "combined_search": {
          "summary": "Combined filters (VIN + ktype)",
          "value": {
            "filters": {
              "vinnumbers": [
                "WBA123456789"
              ],
              "ktype_ids": [
                12345
              ]
            },
            "language": "en",
            "page": 1,
            "limit": 20
          }
        },
        "invalid_missing_country": {
          "summary": "Invalid: licenseplate without country",
          "value": {
            "filters": {
              "licenseplates": [
                "AB123CD"
              ]
            },
            "language": "en"
          }
        },
        "invalid_no_filters": {
          "summary": "Invalid: no filters provided",
          "value": {
            "filters": [],
            "language": "en"
          }
        }
      }
    }
  }
}

Réponses

200
Voir le schéma
{
  "200": {
    "description": "Get vehicles successfully. Vehicles are returned as an object keyed by vehicle ID. Each vehicle contains a 'matched_on' field describing which input matched it.",
    "content": {
      "application/json": {
        "examples": {
          "licenseplate_result": {
            "summary": "Licenseplate search result",
            "value": {
              "vehicles": {
                "1": {
                  "id": 1,
                  "ktype": 116873,
                  "manufacturer": "TOYOTA",
                  "short_name": "1.2 (PAB40)",
                  "model": {
                    "id": 1,
                    "model": "AYGO",
                    "model_group": "AYGO",
                    "model_type": "_B4_",
                    "vehicle_type": null
                  },
                  "cylinder_amount": 3,
                  "cylinder_capacity_ccm": 1199,
                  "cylinder_capacity_liter": 120,
                  "valves": 4,
                  "impulsion_type": "Voorwielaandrijving",
                  "construction_type": "Hatchback",
                  "construction_start": "2014-04",
                  "construction_end": null,
                  "power_hp": 82,
                  "power_kw": 60,
                  "fueltype": "Benzine",
                  "matched_on": {
                    "type": "licenseplate",
                    "country": "ch",
                    "value": "3mp480"
                  }
                }
              },
              "total_items": 1,
              "pages": 1,
              "items_per_pages": 10,
              "current_page": 1,
              "format": "json",
              "success": true,
              "error_message": []
            }
          },
          "vin_result": {
            "summary": "VIN search result",
            "value": {
              "vehicles": {
                "201": {
                  "id": 201,
                  "ktype": 99887,
                  "manufacturer": "BMW",
                  "short_name": "320d",
                  "fueltype": "Diesel",
                  "matched_on": {
                    "type": "vinnumber",
                    "value": "WBA123456789"
                  }
                }
              },
              "total_items": 1,
              "pages": 1,
              "items_per_pages": 10,
              "current_page": 1,
              "format": "json",
              "success": true,
              "error_message": []
            }
          },
          "empty_result": {
            "summary": "No vehicles found",
            "value": {
              "vehicles": [],
              "total_items": 0,
              "pages": 0,
              "items_per_pages": 10,
              "current_page": 1,
              "format": "json",
              "success": false,
              "error_message": [
                "No vehicles found"
              ]
            }
          }
        }
      }
    }
  }
}
POSTRechercher un véhicule par nom et modèle/api/v1.0/vehicles/searchByNameModel
Véhicules

Corps de la requête

Obligatoire

Voir le schéma
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "manufacturer"
        ],
        "properties": {
          "manufacturer": {
            "description": "Manufacturer name (required)",
            "type": "string",
            "example": "BMW"
          },
          "short_name": {
            "description": "Vehicle short name",
            "type": "string",
            "example": "320d"
          },
          "modelname": {
            "description": "Vehicle model name",
            "type": "string",
            "example": "3 Series"
          },
          "modelgroup": {
            "description": "Vehicle model group",
            "type": "string",
            "example": "Golf"
          },
          "construction_type": {
            "description": "Vehicle construction type",
            "type": "string",
            "example": "Hatchback"
          },
          "construction_start": {
            "description": "Production start date",
            "type": "string",
            "format": "date",
            "example": "2018-01-01"
          },
          "construction_end": {
            "description": "Production end date",
            "type": "string",
            "format": "date",
            "example": "2022-12-31"
          },
          "language": {
            "type": "string",
            "default": "en",
            "example": "en"
          },
          "page": {
            "type": "integer",
            "default": 1,
            "example": 1
          },
          "limit": {
            "type": "integer",
            "default": 10,
            "maximum": 50,
            "minimum": 10,
            "example": 10
          }
        },
        "type": "object"
      },
      "examples": {
        "manufacturer_and_model": {
          "summary": "Manufacturer + model name",
          "value": {
            "manufacturer": "BMW",
            "modelname": "3 Series",
            "language": "en",
            "page": 1,
            "limit": 10
          }
        },
        "manufacturer_and_modelgroup": {
          "summary": "Manufacturer + model group",
          "value": {
            "manufacturer": "Volkswagen",
            "modelgroup": "Golf",
            "language": "en"
          }
        },
        "full_search": {
          "summary": "Complete search",
          "value": {
            "manufacturer": "Mercedes-Benz",
            "short_name": "220 CDI",
            "modelname": "C-Class",
            "construction_type": "Sedan",
            "construction_start": "2018-01-01",
            "construction_end": "2022-12-31",
            "language": "en",
            "page": 1,
            "limit": 20
          }
        },
        "construction_type_search": {
          "summary": "Manufacturer + construction type",
          "value": {
            "manufacturer": "Audi",
            "construction_type": "Hatchback",
            "language": "en"
          }
        },
        "invalid_request": {
          "summary": "Invalid request",
          "value": {
            "language": "en"
          }
        }
      }
    }
  }
}

Réponses

200404403422
Voir le schéma
{
  "200": {
    "description": "Vehicles found successfully",
    "content": {
      "application/json": {
        "schema": {},
        "example": {
          "vehicles": [
            {
              "id": 123,
              "ktype": 456789,
              "manufacturer": "BMW",
              "short_name": "320d",
              "model": {
                "id": 10,
                "model": "3 Series",
                "model_group": "3 Series",
                "model_type": "F30",
                "vehicle_type": null
              },
              "fueltype": "Diesel",
              "construction_type": "Sedan",
              "construction_start": "2018-01",
              "construction_end": null,
              "power_hp": 190,
              "power_kw": 140
            }
          ],
          "total_items": 1,
          "pages": 1,
          "items_per_pages": 10,
          "current_page": 1,
          "success": true,
          "error_message": []
        }
      }
    }
  },
  "404": {
    "description": "No vehicles found"
  },
  "403": {
    "description": "TecDoc service disabled"
  },
  "422": {
    "description": "Validation error"
  }
}
Télécharger la spécification OpenAPI ↓Ouvrir la documentation d’origine Documentation fondée sur la spécification publiée, consultée le 7 octobre 2026.
Modèles de données partagés
{
  "StockItem": {
    "properties": {
      "stock": {
        "type": "integer",
        "example": 1
      },
      "batch_id": {
        "type": "string",
        "example": ""
      },
      "warehouse_id": {
        "type": "integer",
        "example": 1
      },
      "warehouse_name": {
        "type": "string",
        "example": "Central Warehouse"
      },
      "warehouse_location_id": {
        "type": "integer",
        "example": 3
      },
      "warehouse_location_code": {
        "type": "string",
        "example": "W001R001C01S01",
        "nullable": true
      }
    },
    "type": "object"
  },
  "InventoryDetail": {
    "properties": {
      "unique_identifier": {
        "type": "string",
        "example": "178_0_0_0"
      },
      "configuration_id": {
        "type": "integer",
        "example": 0
      },
      "user_input_hash": {
        "type": "string",
        "example": ""
      },
      "stock": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/StockItem"
        }
      },
      "total_quantity": {
        "type": "integer",
        "example": 21
      }
    },
    "type": "object"
  },
  "InventoryDetails": {
    "type": "object",
    "example": {
      "178_0_0_0": {
        "unique_identifier": "178_0_0_0",
        "configuration_id": 0,
        "user_input_hash": "",
        "stock": [
          {
            "stock": 1,
            "batch_id": "",
            "warehouse_id": 1,
            "warehouse_name": "Central Warehouse",
            "warehouse_location_id": 3,
            "warehouse_location_code": "W001R001C01S01"
          }
        ],
        "total_quantity": 10
      }
    },
    "additionalProperties": {
      "$ref": "#/components/schemas/InventoryDetail"
    }
  },
  "Product": {
    "required": [
      "product_id",
      "total_quantity",
      "success"
    ],
    "properties": {
      "product_id": {
        "type": "string",
        "example": "1"
      },
      "product_ean": {
        "type": "string",
        "example": "10011001000101"
      },
      "product_number": {
        "type": "string",
        "example": "AB120923"
      },
      "total_quantity": {
        "type": "integer",
        "example": 10
      },
      "inventory_details": {
        "$ref": "#/components/schemas/InventoryDetails"
      },
      "success": {
        "type": "boolean",
        "example": true
      }
    },
    "type": "object"
  },
  "OrderCreateDTO": {
    "title": "OrderCreateResponse",
    "description": "Response schema returned after attempting to create an order. Provides identifiers, item details, and status information.",
    "properties": {
      "order_id": {
        "description": "Unique identifier assigned to the order by the Corenio system. This ID is used to track and manage the order internally.",
        "type": "integer",
        "example": 126
      },
      "external_order_id": {
        "description": "Optional identifier provided by an external system. Useful for correlating this order with external platforms such as e-commerce or ERP systems.",
        "type": "string",
        "example": "EXT-4589-XYZ"
      },
      "order_items": {
        "description": "List of items included in the order. Each item contains a product ID and the quantity ordered.",
        "type": "array",
        "items": {
          "properties": {
            "product_id": {
              "description": "Unique identifier of the product being ordered.",
              "type": "integer",
              "example": 1679
            },
            "amount": {
              "description": "Quantity of the product to be included in the order.",
              "type": "integer",
              "example": 1
            }
          },
          "type": "object"
        }
      },
      "format": {
        "description": "The response format. Typically set to 'json'.",
        "type": "string",
        "example": "json"
      },
      "success": {
        "description": "Indicates whether the order was created successfully. `true` means the operation succeeded, `false` indicates failure.",
        "type": "boolean",
        "example": true
      },
      "error_message": {
        "description": "Array of error messages, if any occurred during order creation. Empty if the operation was successful.",
        "type": "array",
        "items": {
          "type": "string"
        },
        "example": []
      }
    },
    "type": "object"
  },
  "OrderStatusDTO": {
    "title": "OrderStatusResponse",
    "description": "Response schema for checking the current status of an order. Includes status code, message, and success flag.",
    "properties": {
      "order_id": {
        "description": "Internal identifier of the order whose status is being queried. This is Corenio orderID.",
        "type": "string",
        "example": "123"
      },
      "is_credit_for": {
        "description": "If this order is a credit, it references the original order ID. Optional field.",
        "type": "string",
        "example": "456",
        "nullable": true
      },
      "credited_by": {
        "description": "If this order has been credited by another order, it references that order ID. Optional field.",
        "type": "string",
        "example": "789",
        "nullable": true
      },
      "success": {
        "description": "Indicates whether the status check was successful. 1 for success, 0 for failure.",
        "type": "integer",
        "example": 1
      },
      "status": {
        "description": "Current status of the order. This can be represented as an integer status code or a string such as 'shipped'.",
        "oneOf": [
          {
            "type": "integer",
            "example": 2
          },
          {
            "type": "string",
            "example": "shipped"
          }
        ]
      },
      "error-message": {
        "description": "Error message in case the status retrieval failed. Can be null if no error occurred.",
        "type": "string",
        "example": "No errors",
        "nullable": true
      }
    },
    "type": "object"
  }
}

D’une intégration fonctionnelle à un usage quotidien fiable.

Utilisez des filtres ciblés

La recherche produit accepte notamment les marques, ID de catégorie, ID véhicule et ID KType. Utilisez les noms exacts du schéma, comme categorie_ids.

Gérez les erreurs explicitement

Vérifiez le statut HTTP de chaque endpoint. Un panier déjà finalisé peut par exemple renvoyer 409. Ne répétez pas aveuglément les écritures : vérifiez d’abord si la modification a été traitée.

Vérifiez pagination et accès

La recherche de produits documente un paramètre limit compris entre 10 et 50. Pour page, la source indique à la fois un départ à 0 et une valeur par défaut de 1 : vérifiez le comportement lors du test d’intégration. Définissez également les limites d’usage et les droits avec Corenio.

API + CORENIO

Connecter votre processus ?

Corenio propose des possibilités API pour tous les modules. Cette référence présente les endpoints documentés publiquement. Contactez-nous pour les intégrations complémentaires et les accès nécessaires.

Demander une démo personnalisée