Products

On this page, we'll dive into the different product endpoints you can use to get or sync our product information. We'll look at how to list and get product information.

The product model

The product model contains all the information about a product, such as their name, ids, descriptions, and specifications. It also contains timestamps for creation and updates which you can use to only fetch products that have been updated since your last sync.

Properties

  • Name
    id
    Type
    integer
    Description

    Unique identifier for the product. You will use this in other endpoints. For instance, to get a single product or when creating an order.

  • Name
    item_code
    Type
    string
    Description

    The product item code in our system.

  • Name
    name
    Type
    string
    Description

    The product name.

  • Name
    marketing_name
    Type
    string|null
    Description

    Alternative marketing name for the product, if available.

  • Name
    category
    Type
    string
    Description

    The product category path in hierarchical format (e.g., "Installatie > Kabels > DC kabel").

  • Name
    supplier
    Type
    string|null
    Description

    The name of the product supplier.

  • Name
    intro
    Type
    string|null
    Description

    A short description of the product.

  • Name
    description
    Type
    string|null
    Description

    A more detailed description of the product, may contain HTML formatting.

  • Name
    price
    Type
    float
    Description

    This is your custom price for the product.

  • Name
    stock
    Type
    array
    Description

    A stock model with the current stock status.

  • Name
    gtin
    Type
    string|null
    Description

    The product GTIN (Global Trade Item Number).

  • Name
    mpn
    Type
    string|null
    Description

    The product MPN (Manufacturer Part Number).

  • Name
    active
    Type
    boolean
    Description

    Indicates whether the product is currently active in our system.

  • Name
    specs
    Type
    array
    Description

    An array of product specifications and attributes, each containing id, name, and type information.

  • Name
    is_package
    Type
    boolean
    Description

    Indicates whether this product is a package containing multiple products.

  • Name
    package_products
    Type
    array
    Description

    An array of products included in this package. Only present when is_package is true. Each item contains id, quantity, sort_order, and a nested product object with full product details.

  • Name
    created_at
    Type
    string
    Description

    ISO 8601 formatted timestamp of when the product was created.

  • Name
    updated_at
    Type
    string
    Description

    ISO 8601 formatted timestamp of when the product was last updated.


GET/v1/products

List all products

This endpoint allows you to retrieve a list of products from VDH-Solar. Refer to the list at the top of this page to see which properties are included with product objects.

Query parameters

You can use the query parameters below to filter the list of products you receive from the API. You can also paginate the results. Please check the pagination section for more information.

  • Name
    name
    Type
    string
    Description

    Filter on the name of the product. This will use a %LIKE% query.

  • Name
    id
    Type
    integer
    Description

    We will do an exact match on the product id. It would be beter to use the single product endpoint for this.

  • Name
    updated_before
    Type
    timestamp
    Description

    We will only return the products that where updated before this timestamp.

  • Name
    updated_after
    Type
    timestamp
    Description

    We will only return the products that where updated after this timestamp.

  • Name
    include_inactive
    Type
    boolean
    Description

    By default, only active products are returned. Set this parameter to true to include inactive products in the response.

Request

GET
/v1/products
$vdhSolarClient = new \VdhSolar\ApiClient('eyJ...');

$vdhSolarClient->products->list([
  'name' => 'EGE Solar',
  'updated_since' => 555931527,
  'include_inactive' => true,
]);

Response

{
  "data": [
    {
      "id": 2,
      "item_code": "13500005",
      "name": "EGE Solar kabel TUV 1x4 mm² zwart/25m1",
      "marketing_name": null,
      "category": "Installatie > Kabels > DC kabel",
      "supplier": "Ege Kablo",
      "intro": "EGE Solar kabel TUV 1x4 mm² zwart/25m1",
      "description": "EGE Solar kabel TUV 1x4 mm² zwart/25m1",
      "price": 15.75,
      "stock": {
        "product_id": 2,
        "quantity": 2406,
        "status": "available",
      },
      "gtin": "(H1Z2Z2-K) PV1-F 1x4 B 25M",
      "mpn": "(H1Z2Z2-K) PV1-F 1X4 B 25M",
      "active": true,
      "specs": [
        {
          "id": 2523,
          "name": "Ege Kablo",
          "type": {
            "name": "Merk",
            "prefix": null,
            "suffix": null,
            "input_type": "select"
          }
        },
        // ... more specs
      ],
      "is_package": false,
      "package_products": [],
      "created_at": "2024-07-25T14:49:46.000000Z",
      "updated_at": "2025-05-01T12:35:15.000000Z"
    },
    // ... more products
  ],
  "links": {
    "first": "https://vdh-solar.nl/api/v1/products?page=1",
    "last": "https://vdh-solar.nl/api/v1/products?page=88",
    "prev": null,
    "next": "https://vdh-solar.nl/api/v1/products?page=2"
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 88,
    "path": "https://vdh-solar.nl/api/v1/products",
    "per_page": 15,
    "to": 15,
    "total": 1310
  }
}

GET/v1/products/:id

List a single product

This endpoint allows you to to list all information about a single product. Please let us know if you need more information about a product, we will add this to the response as requested.

Request

GET
/v1/products/12345
$vdhSolarClient = new \VdhSolar\ApiClient('eyJ...');

$vdhSolarClient->products->get(12345);

Response

{
  "data": {
    "id": 2,
    "item_code": "13500005",
    "name": "EGE Solar kabel TUV 1x4 mm² zwart/25m1",
    "marketing_name": null,
    "category": "Installatie > Kabels > DC kabel",
    "supplier": "Ege Kablo",
    "intro": "EGE Solar kabel TUV 1x4 mm² zwart/25m1",
    "description": "EGE Solar kabel TUV 1x4 mm² zwart/25m1",
    "price": 15.75,
    "stock": {
      "product_id": 2,
      "quantity": 2406,
      "status": "available",
    },
    "gtin": "(H1Z2Z2-K) PV1-F 1x4 B 25M",
    "mpn": "(H1Z2Z2-K) PV1-F 1X4 B 25M",
    "active": true,
    "specs": [
      {
        "id": 2523,
        "name": "Ege Kablo",
        "type": {
          "name": "Merk",
          "prefix": null,
          "suffix": null,
          "input_type": "select"
        }
      },
      // ... more specs
    ],
    "is_package": false,
    "package_products": [],
    "created_at": "2024-07-25T14:49:46.000000Z",
    "updated_at": "2025-05-01T12:35:15.000000Z"
  }
}

Package Product Response

{
  "data": {
    "id": 1001,
    "item_code": "PKG-SOLAR-001",
    "name": "Complete Solar Panel Installation Kit",
    "marketing_name": "Pro Solar Starter Kit",
    "category": "Installatie > Pakketten",
    "supplier": "VDH Solar",
    "intro": "Complete installation kit with panels, inverter, and cables",
    "description": "A comprehensive package containing everything needed for a basic solar panel installation",
    "price": 1250.00,
    "stock": {
      "product_id": 1001,
      "quantity": 15,
      "status": "available"
    },
    "gtin": null,
    "mpn": "PKG-SOLAR-001",
    "active": true,
    "specs": [
      {
        "id": 3001,
        "name": "Complete Kit",
        "type": {
          "name": "Package Type",
          "prefix": null,
          "suffix": null,
          "input_type": "select"
        }
      }
    ],
    "is_package": true,
    "package_products": [
      {
        "id": 501,
        "quantity": 4,
        "sort_order": 1,
        "product": {
          // ... full product object
        }
      },
      {
        "id": 502,
        "quantity": 1,
        "sort_order": 2,
        "product": {
          // ... full product object
        }
      }
      // ... more package products
    ],
    "created_at": "2024-08-01T12:00:00.000000Z",
    "updated_at": "2025-01-20T16:30:00.000000Z"
  }
}

Was this page helpful?