npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-plentyone

v1.3.1

Published

n8n community node for the PlentyONE (formerly plentymarkets) REST API

Readme

PlentyONE n8n Community Node

Interact with the PlentyONE (formerly plentymarkets) REST API directly from your n8n workflows. This community node focuses on dynamic request handling so you can cover both well-known endpoints and ad-hoc API calls without waiting for custom code changes.

Highlights

  • ✅ Automatic session handling via n8n preAuthentication – the access token is cached and refreshed only when needed.

  • ✅ Classic Custom Request operation with support for sending payloads even on GET/HEAD calls (body → query parameters).

  • ✅ New Request via JSON Definition operation to paste or inject complete request descriptions, e.g.:

  • ✅ Optional Fetch All Pages toggle that follows PlentyONE pagination automatically and outputs the collected entries.

    {
      "method": "GET",
      "endpoint": "/rest/v2/properties/relations",
      "body": {
        "with": "values",
        "groupId": 44,
        "propertyId": 394,
        "type": "item",
        "targetId": 99211
      }
    }

    Arrays are supported as well – just provide a JSON array of request objects to execute them sequentially in one run.

  • ✅ Local PlentyONE icon bundled with the node for easier identification inside n8n.

Installation

Install the package inside your n8n instance (desktop, self-hosted or cloud with custom packages enabled):

npm install n8n-nodes-plentyone

Restart n8n afterwards so the node metadata is reloaded.

Compatibility: The internal node type stays n8n-nodes-plentymarkets.Plentymarkets so existing workflows continue to work after upgrading from older releases.

Credentials

Create a new credential record of type PlentyONE API and fill in:

| Field | Description | |--------------|-----------------------------------------------------------------------------| | Base URL | Base URL of your PlentyONE environment (e.g. https://example.plentyone.de) | | Username | PlentyONE username used for API login | | Password | Corresponding password |

The node stores the access token invisibly and refreshes it automatically before expiry.
No external Redis/filesystem cache is required, so the credential works in hosted/cloud setups too.

Operations

Custom Request

Configure the HTTP method and endpoint in the node UI. The “Payload / Query (JSON)” parameter accepts a JSON object:

  • For GET/HEAD requests the object is sent as query parameters.
  • For all other methods the object is sent as JSON body.

Enable Fetch All Pages when the API response uses the PlentyONE pagination format (page, isLastPage, entries, …). The node will loop through pages (ignoring any provided page value) until isLastPage === true, returning each entry as a separate item. See the PlentyONE REST documentation for details on paginated endpoints.

Request via JSON Definition

Provide a JSON object (or array of objects) with the following optional fields:

| Field | Type | Notes | |----------|-----------------|-----------------------------------------------------------------------| | method | string | Defaults to GET. | | endpoint | string | Required. | | body | object | Used as JSON body (or merged into query for GET/HEAD). | | query | object | Explicit query string parameters. | | headers | object | Custom headers added to the request. |

Example payload for a PUT request:

{
  "method": "PUT",
  "endpoint": "/rest/listings/markets/histories/update/",
  "body": {
    "id": [959893, 919078],
    "options": ["quantityAndPrice"]
  }
}

When Fetch All Pages is enabled for this operation, every GET request definition in the JSON will be paginated automatically, following the same logic as the Custom Request.

Development

npm install
npm run build

npm run build compiles TypeScript and copies the PlentyONE icon plus operation schema into dist/.

Licensing & Credits

  • Icon: © PlentyONE — included locally as plentyone.svg according to the branding assets.
  • Code: MIT License.