CORENIO API

Verbind jouw software met Corenio.

Bouw een eigen webshop, app of koppeling op de gegevens in Corenio. Lees producten en voorraad uit, werk met winkelwagens en haal orders op via de API.

Webshop · App · ERPCorenio
HTTPSJSONAPI v1.0
Jouw systemen. Dezelfde gegevens.
Snel starten

Van idee naar je eerste koppeling.

01

Bepaal je proces

Kies welke gegevens je wilt uitwisselen en welke applicatie de bron is. Begin bijvoorbeeld met productinformatie en voorraad.

02

Vraag API-toegang aan

Bespreek met Corenio welke toegang en modules je koppeling nodig heeft. Gebruik de bijbehorende sleutel of het token vanuit je server.

03

Lees, controleer en breid uit

Test eerst een leesactie. Controleer de teruggegeven gegevens en foutafhandeling voordat je processen activeert die gegevens wijzigen.

Toegang

Een veilige verbinding begint bij toegang.

De documentatie beschrijft een API-key in de header en een Bearer-token. Welke authenticatie je nodig hebt, hangt af van het endpoint en je toegang. Laat dit bij de inrichting bevestigen.

Bespreek jouw API-koppeling
Server en headers
https://api.corenio.com

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

Bewaar sleutels op je server. Zet ze niet in openbare frontendcode, URL’s of logs.

Voorbeelden

Je eerste verzoek: voorraad opvragen.

Vervang YOURSKU door een bestaand artikelnummer en YOUR_API_KEY door jouw sleutel. De voorraadroute ondersteunt id, ean en sku als type.

De code wordt alleen weergegeven en gekopieerd. Deze website voert geen API-verzoeken uit.

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"
API-referentie

30 acties, overzichtelijk bij elkaar.

Zoek een endpoint en open de details. Veldnamen, schema’s en technische voorbeeldwaarden volgen de originele OpenAPI-specificatie.

GETWinkelwagenartikelen ophalen/api/v1.0/carts/{cart_id}/items/list
Winkelwagens

Parameters

VeldLocatieTypeVerplicht
cart_idpathintegerVerplicht
limitqueryintegerOptioneel
pagequeryintegerOptioneel
Schema bekijken
[
  {
    "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
    }
  }
]

Antwoorden

200400401404
Schema bekijken
{
  "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."
  }
}
POSTArtikel toevoegen/api/v1.0/carts/{cart_id}/items
Winkelwagens

Parameters

VeldLocatieTypeVerplicht
cart_idpathintegerVerplicht
Schema bekijken
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart to which the item will be added.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  }
]

Request body

Verplicht

Schema bekijken
{
  "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"
      }
    }
  }
}

Antwoorden

201400401404
Schema bekijken
{
  "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."
  }
}
DELETEArtikelen verwijderen/api/v1.0/carts/{cart_id}/items
Winkelwagens

Parameters

VeldLocatieTypeVerplicht
cart_idpathintegerVerplicht
Schema bekijken
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  }
]

Request body

Verplicht

Schema bekijken
{
  "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"
      }
    }
  }
}

Antwoorden

200400401404
Schema bekijken
{
  "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."
  }
}
PATCHAantal wijzigen/api/v1.0/carts/{cart_id}/items/{cartitem_id}
Winkelwagens

Parameters

VeldLocatieTypeVerplicht
cart_idpathintegerVerplicht
cartitem_idpathintegerVerplicht
Schema bekijken
[
  {
    "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
    }
  }
]

Request body

Verplicht

Schema bekijken
{
  "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"
      }
    }
  }
}

Antwoorden

200400401404
Schema bekijken
{
  "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."
  }
}
POSTWinkelwagen aanmaken/api/v1.0/carts/create
Winkelwagens

Antwoorden

201401
Schema bekijken
{
  "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."
  }
}
POSTWinkelwagen omzetten in order/api/v1.0/carts/{cart_id}/finalize
Winkelwagens

Parameters

VeldLocatieTypeVerplicht
cart_idpathintegerVerplicht
Schema bekijken
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart to finalize.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  }
]

Antwoorden

201400401404409
Schema bekijken
{
  "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."
  }
}
POSTVerzendmethode instellen/api/v1.0/carts/{cart_id}/shipping
Winkelwagens

Parameters

VeldLocatieTypeVerplicht
cart_idpathintegerVerplicht
Schema bekijken
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  }
]

Request body

Verplicht

Schema bekijken
{
  "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"
      }
    }
  }
}

Antwoorden

200400401404
Schema bekijken
{
  "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."
  }
}
GETVerzendmethoden ophalen/api/v1.0/carts/{cart_id}/shippingmethods/{language}
Winkelwagens

Parameters

VeldLocatieTypeVerplicht
cart_idpathintegerVerplicht
languagepathstringVerplicht
Schema bekijken
[
  {
    "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"
    }
  }
]

Antwoorden

200400401404
Schema bekijken
{
  "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."
  }
}
GETWinkelwagens ophalen/api/v1.0/carts/list
Winkelwagens

Parameters

VeldLocatieTypeVerplicht
limitqueryintegerOptioneel
pagequeryintegerOptioneel
Schema bekijken
[
  {
    "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
    }
  }
]

Antwoorden

200401404
Schema bekijken
{
  "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."
  }
}
DELETEWinkelwagen verwijderen/api/v1.0/carts/{cart_id}
Winkelwagens

Parameters

VeldLocatieTypeVerplicht
cart_idpathintegerVerplicht
Schema bekijken
[
  {
    "name": "cart_id",
    "in": "path",
    "description": "ID of the cart to remove.",
    "required": true,
    "schema": {
      "type": "integer",
      "example": 19403076
    }
  }
]

Antwoorden

200400401404
Schema bekijken
{
  "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."
  }
}
POSTSubcategorieën ophalen/api/v1.0/categories/byParent
Categorieën

Request body

Verplicht

Schema bekijken
{
  "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"
      }
    }
  }
}

Antwoorden

200400404
Schema bekijken
{
  "200": {
    "description": "Get categories by parent_id successfully."
  },
  "400": {
    "description": "Invalid input. parent_id must be provided."
  },
  "404": {
    "description": "No categories found."
  }
}
POSTCategorieën zoeken/api/v1.0/categories/search
Categorieën

Request body

Verplicht

Schema bekijken
{
  "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"
      }
    }
  }
}

Antwoorden

200400404
Schema bekijken
{
  "200": {
    "description": "Get categories by search_term."
  },
  "400": {
    "description": "Invalid input. search_term must be provided."
  },
  "404": {
    "description": "No categories found."
  }
}
GETOrders ophalen/api/v1.0/orders
Orders

Parameters

VeldLocatieTypeVerplicht
limitqueryintegerOptioneel
pagequeryintegerOptioneel
languagequerystringOptioneel
statusquerystringOptioneel
date_fromquerystringOptioneel
date_tillquerystringOptioneel
Schema bekijken
[
  {
    "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"
    }
  }
]

Antwoorden

200400401404
Schema bekijken
{
  "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."
  }
}
POSTBetaallink aanmaken/api/v1.0/orders/paymentlink
Orders

Request body

Verplicht

Schema bekijken
{
  "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"
      }
    }
  }
}

Antwoorden

200400401404
Schema bekijken
{
  "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."
  }
}
GETOrderdocument downloaden/api/v1.0/orders/{order_id}/pdf/{type}
Orders

Parameters

VeldLocatieTypeVerplicht
order_idpathintegerVerplicht
typepathstringVerplicht
Schema bekijken
[
  {
    "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"
    }
  }
]

Antwoorden

200400401404500
Schema bekijken
{
  "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."
  }
}
GETVoorraad opvragen/api/v1.0/products/stock/{identifier}
Producten

Parameters

VeldLocatieTypeVerplicht
identifierpathstringVerplicht
typequerystringOptioneel
Schema bekijken
[
  {
    "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"
      ]
    }
  }
]

Antwoorden

200404
Schema bekijken
{
  "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"
        }
      }
    }
  }
}
POSTProducten zoeken/api/v1.0/products/search
Producten

Request body

Verplicht

Schema bekijken
{
  "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"
      }
    }
  }
}

Antwoorden

200400
Schema bekijken
{
  "200": {
    "description": "Get product ids successfully."
  },
  "400": {
    "description": "Invalid input. 1 or multiple variables must be provided."
  }
}
POSTProductfilters ophalen/api/v1.0/products/search/filters
Producten

Request body

Verplicht

Schema bekijken
{
  "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"
      }
    }
  }
}

Antwoorden

200404400
Schema bekijken
{
  "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"
        }
      }
    }
  }
}
POSTProductgegevens ophalen/api/v1.0/products/data
Producten

Request body

Verplicht

Schema bekijken
{
  "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"
      }
    }
  }
}

Antwoorden

200400
Schema bekijken
{
  "200": {
    "description": "Get product data successfully."
  },
  "400": {
    "description": "Invalid input. Either products and language or categorieUrl and language must be provided."
  }
}
POSTProduct- en voertuigdata ophalen/api/v1.0/products/data/vehicles
Producten

Request body

Verplicht

Schema bekijken
{
  "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"
      }
    }
  }
}

Antwoorden

200400404
Schema bekijken
{
  "200": {
    "description": "Get product vehicles successfully."
  },
  "400": {
    "description": "Invalid input. product_id must be provided."
  },
  "404": {
    "description": "No vehicles found."
  }
}
POSTAlternatieve producten ophalen/api/v1.0/products/alternatives
Producten

Request body

Verplicht

Schema bekijken
{
  "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"
      }
    }
  }
}

Antwoorden

200400
Schema bekijken
{
  "200": {
    "description": "Get product data successfully."
  },
  "400": {
    "description": "Invalid input. products, language and vehicle_id must be provided."
  }
}
POSTOnderhoudsproducten ophalen/api/v1.0/products/maintenance
Producten

Request body

Verplicht

Schema bekijken
{
  "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"
      }
    }
  }
}

Antwoorden

200400
Schema bekijken
{
  "200": {
    "description": "Get product data successfully."
  },
  "400": {
    "description": "Invalid input. products, language and vehicle_id must be provided."
  }
}
POSTGebruiker aanmaken/api/v1.0/users/create
Gebruikers

Request body

Verplicht

Schema bekijken
{
  "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"
      }
    }
  }
}

Antwoorden

200400
Schema bekijken
{
  "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)."
  }
}
POSTGebruiker aanmelden/api/v1.0/users/auth/login
Gebruikers

Request body

Verplicht

Schema bekijken
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "required": [
          "username",
          "password"
        ],
        "properties": {
          "username": {
            "type": "string",
            "example": "john@example.com"
          },
          "password": {
            "type": "string",
            "example": "StrongPassword123"
          }
        },
        "type": "object"
      }
    }
  }
}

Antwoorden

200400
Schema bekijken
{
  "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"
  }
}
POSTHuidige sessie afmelden/api/v1.0/users/auth/logout
Gebruikers

Antwoorden

200401
Schema bekijken
{
  "200": {
    "description": "User logged out",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "logged_out": {
              "type": "boolean",
              "example": true
            }
          },
          "type": "object"
        }
      }
    }
  },
  "401": {
    "description": "Invalid or missing token"
  }
}
POSTAlle sessies afmelden/api/v1.0/users/auth/logout/all
Gebruikers

Antwoorden

200401
Schema bekijken
{
  "200": {
    "description": "User logged out",
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "logged_out": {
              "type": "boolean",
              "example": true
            }
          },
          "type": "object"
        }
      }
    }
  },
  "401": {
    "description": "Invalid or missing token"
  }
}
POSTToken vernieuwen/api/v1.0/users/auth/refresh
Gebruikers

Antwoorden

200401
Schema bekijken
{
  "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"
  }
}
POSTAangemelde gebruiker ophalen/api/v1.0/users/auth/whoami
Gebruikers

Antwoorden

200401
Schema bekijken
{
  "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"
  }
}
POSTVoertuigen zoeken/api/v1.0/vehicles/search
Voertuigen

Request body

Verplicht

Schema bekijken
{
  "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"
          }
        }
      }
    }
  }
}

Antwoorden

200
Schema bekijken
{
  "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"
              ]
            }
          }
        }
      }
    }
  }
}
POSTVoertuig zoeken op naam en model/api/v1.0/vehicles/searchByNameModel
Voertuigen

Request body

Verplicht

Schema bekijken
{
  "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"
          }
        }
      }
    }
  }
}

Antwoorden

200404403422
Schema bekijken
{
  "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"
  }
}
Download OpenAPI-specificatie ↓Open de originele documentatie Gebaseerd op de gepubliceerde specificatie van 7 oktober 2026.
Gedeelde datamodellen
{
  "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"
  }
}

Van een werkende koppeling naar betrouwbaar dagelijks gebruik.

Werk gericht met filters

De productzoekroute accepteert onder meer merknamen, categorie-ID’s, voertuig-ID’s en KType-ID’s. Gebruik de exacte veldnamen uit het schema, zoals categorie_ids.

Verwerk fouten bewust

Controleer de HTTP-status per endpoint. Een winkelwagen die al is afgerond kan bijvoorbeeld 409 teruggeven. Herhaal schrijfacties niet blind: controleer eerst of de wijziging al is verwerkt.

Controleer paginering en toegang

De productzoekroute beschrijft een limit van 10 tot 50. Bij page noemt de bron zowel starten op 0 als standaardwaarde 1; bevestig de juiste werking tijdens je integratietest. Ook limieten en toegangsrechten stem je af met Corenio.

API + CORENIO

Jouw proces koppelen?

Corenio biedt API-mogelijkheden voor alle modules. Deze referentie toont de publiek gedocumenteerde endpoints. Bespreek aanvullende modulekoppelingen en de benodigde toegang met ons.

Plan een persoonlijke demo