Skip to main content

Getting Started with Postnl-Ecommerce

Introduction

PostNL Ecommerce APIs

Explore our technical documentation, test your integration and go live with PostNL service.

Start using PostNL APIs for e-commerce processes

To get to know the PostNL APIs better, read all about it in our API overview. Learn everything you need to about our API's before embarking on integration with PostNL.

To connect to PostNL, you can request an API key via Mijn PostNL portal. Choose your APIs and build your integration. Explore our guides, examples, and resources to guide you through each phase of integration and start testing. Ensure that you can make successful test calls towards all endpoints used in the solution.

As of January 2026, the module where you manage your API keys will switch to a new portal. Make sure to store your current API key safely, if you haven’t done so yet, as it will no longer be visible after this date. In the new portal, you’ll be able to request and manage your API keys for our future-proof APIs.

Contact our integrations team to have your test calls reviewed and gain access to our API production environment. Once everything is configured and validated, you'll be ready to go live and start using the PostNL service.

For help contact us via our support form: Need help? Submit a case | PostNL.

Install the Package

The package is compatible with Python versions 3.7+. Install the package from PyPi using the following pip command:

pip install postnl-ecommerce-sdk==1.0.6

You can also view the package at: https://pypi.python.org/pypi/postnl-ecommerce-sdk/1.0.6

Test the SDK

You can test the generated SDK and the server with test cases. unittest is used as the testing framework and pytest is used as the test runner. You can run the tests as follows:

Navigate to the root directory of the SDK and run the following commands

pip install -r test-requirements.txt pytest

Initialize the API Client

Note: Documentation for the client can be found here.

The following parameters are configurable for the API Client:

Parameter Type Description
environment Environment The API environment.
Default: Environment.PRODUCTION_SERVER
http_client_instance Union[Session, HttpClientProvider] The Http Client passed from the sdk user for making requests
override_http_client_configuration bool The value which determines to override properties of the passed Http Client from the sdk user
http_call_back HttpCallBack The callback value that is invoked before and after an HTTP call is made to an endpoint
timeout float The value to use for connection timeout.
Default: 60
max_retries int The number of times to retry an endpoint call if it fails.
Default: 3
backoff_factor float A backoff factor to apply between attempts after the second try.
Default: 2
retry_statuses Array of int The http statuses on which retry is to be done.
Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]
retry_methods Array of string The http methods on which retry is to be done.
Default: ["GET", "PUT"]
proxy_settings ProxySettings Optional proxy configuration to route HTTP requests through a proxy server.
custom_header_authentication_credentials CustomHeaderAuthenticationCredentials The credential object for Custom Header Signature

The API client can be initialized as follows:

Code-Based Client Initialization

from postnlecommerce.configuration import Environment
from postnlecommerce.http.auth.custom_header_authentication import CustomHeaderAuthenticationCredentials
from postnlecommerce.postnlecommerce_client import PostnlecommerceClient

client = PostnlecommerceClient(
    custom_header_authentication_credentials=CustomHeaderAuthenticationCredentials(
        apikey='apikey'
    ),
    environment=Environment.PRODUCTION_SERVER
)

Environment-Based Client Initialization

from postnlecommerce.postnlecommerce_client import PostnlecommerceClient

# Specify the path to your .env file if it’s located outside the project’s root directory.
client = PostnlecommerceClient.from_environment(dotenv_path='/path/to/.env')

See the Environment-Based Client Initialization section for details.

Environments

The SDK can be configured to use a different environment for making API calls. Available environments are:

Fields

Name Description
PRODUCTION_SERVER Default Production server
NON_PRODUCTION_SERVER Sandbox environment for testing

Authorization

This API uses the following authentication schemes.

List of APIs

SDK Infrastructure

Configuration

HTTP

Utilities

Metadata

Release files for postnl-ecommerce-sdk 1.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for postnl-ecommerce-sdk 1.0.6
File Size Uploaded
postnl_ecommerce_sdk-1.0.6.tar.gz 109.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for postnl-ecommerce-sdk 1.0.6
File Interpreter ABI Platform
postnl_ecommerce_sdk-1.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 391.4 kB

Release files / postnl_ecommerce_sdk-1.0.6.tar.gz

Download URL postnl_ecommerce_sdk-1.0.6.tar.gz
Size 109.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b9add8e4f1f40a9dca6ac309ed968385080b6300f9722e3f842af03000926b52
BLAKE2b-256 checksum
How to use checksums
7eb97b642445d84323598c9a837b8c1106d3df63845bf1bd2cfdd19550c82fa9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.13.15 Linux/6.1.158.2-microsoft-standard

Release files / postnl_ecommerce_sdk-1.0.6-py3-none-any.whl

Download URL postnl_ecommerce_sdk-1.0.6-py3-none-any.whl
Size 282.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d6d461e06f109a72585126e521e5ecf2579bec1ebfd6b110f4ef1e8c37996330
BLAKE2b-256 checksum
How to use checksums
a7767a7c92270a34f1886c1f44b79e8810bf11a23c565921db2c510b56137bed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.13.15 Linux/6.1.158.2-microsoft-standard

Release history Release notifications | RSS feed

1.1.2

2 release files

1.1.1

2 release files

1.0.7

2 release files

This release

1.0.6 This release

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page