Flexibel integreren met krachtige API

Gebruik Pingen's volledig schaalbare API voor geautomatiseerde briefverzending. Onze krachtige API stelt jouw softwareoplossing in staat om direct fysieke post te verzenden via PostNL. Integratie is eenvoudig met onze SDK's, waardoor je binnen 5 minuten aan de slag kunt.

API om brieven via DHL te verzenden

Integreer Pingen met onze flexibele API

De API van Pingen maakt software-integraties heel simpel, om zo automatisch brieven via PostNL of DHL te versturen.

Brief API

Onze API is gratis

We helpen je graag bij het automatiseren van processen. Daarom is onze API gratis te gebruiken voor al onze klanten.

Krachtige SDK's

Krachtige SDK's

Met PIngen verstuur je jouw zakelijke brieven in recordtijd via PostNL of DHL met onze SDK's voor PHP, Python en .Net.

Ondersteunde betaalsystemen

Ondersteunde betaalsystemen

Automatische afdruk als Zwitserse QR-factuur of met SEPA-overschrijvingsformulieren in Duitsland en Oostenrijk.

Brief API van ontwikkelaars voor ontwikkelaars

Door ontwikkelaars ontworpen

Alle functies van Pingen zijn ook beschikbaar via onze Brief API en worden gedetailleerd uitgelegd in onze documentatie.

Track & trace

Track & trace

Pingen biedt gedetailleerde statusinformatie en realtime voortgangsupdates voor elke brief die via de API wordt verzonden.

Boost je inkomsten

Boost je inkomsten

Bedrijven die het versturen van brieven integreren en doorverkopen, hebben een mooie nieuwe kans om extra inkomsten te genereren.

Dit is hoe eenvoudig onze API werkt

De Brief API van Pingen is ontworpen om flexibel en eenvoudig te zijn, waardoor het makkelijk en snel te integreren is. Naast de gebruiksvriendelijke documentatie bieden we ook codevoorbeelden waarmee je snel aan de slag kunt.

import pingen2sdk

pingen2sdk.client_id = "YOUR_OAUTH2_CLIENT_ID"
pingen2sdk.client_secret = "YOUR_OAUTH2_CLIENT_SECRET"

resp = pingen2sdk.OAuth.get_token( 
    grant_type = "client_credentials",
    scope = "letter batch webhook organisation_read",
)

try:
    print(
         pingen2sdk.FileUpload(pingen2sdk.APIRequestor(resp["access_token"]))
         .request_file_upload()
         .data
    )
except pingen2sdk.error.PingenError as e:
    print(e.status_code)
    print(e.json_body)

require __DIR__ . '/vendor/autoload.php';

$provider = new \Pingen\Provider\Pingen(
   array(
   'clientId' => 'YOUR_OAUTH2_CLIENT_ID',
   'clientSecret' => 'YOUR_OAUTH2_CLIENT_SECRET'
)
);

$access_token = $provider->getAccessToken('client_credentials');

$lettersEndpoint = (new \Pingen\Endpoints\LettersEndpoint($access_token))
    ->setOrganisationId('INSERT_YOUR_ORGANISATION_UUID_HERE');

$lettersEndpoint->uploadAndCreate(
   (new \Pingen\Endpoints\DataTransferObjects\Letter\LetterCreateAttributes())
       ->setFileOriginalName('your_original_pdf_name.pdf')
       ->setAddressPosition('left')
       ->setAutoSend(false),
   fopen('path_to_your_original_pdf_name.pdf', 'r')
);

import json
import requests

url_file_upload = 'https://api.v2.pingen.com/file-upload'
url_letters = 'https://api.v2.pingen.com/organisations/YOUR_ORGANISATION_UUID/letters'
access_token = 'INSERT_YOUR_ACCESS_TOKEN_HERE'

response = requests.get(url_file_upload, headers =
    'Authorization': 'Bearer {}'.format(access_token),
})
data = json.loads(response.text)['data']
file_url = data['attributes']['url']
file_url_signature = data['attributes']['url_signature']

file = open('path_to_your_file.pdf', 'rb')
requests.put(file_url, data=file)
file.close()

payload = {
    'data': {
         'type': 'letters',
         'attributes': {
              'file_original_name': 'your_filename.pdf',
              'file_url': file_url,
              'file_url_signature': file_url_signature,
              'address_position': 'left',
              'auto_send': False
         }
    }
}
requests.post(
    url_letters,
    json.dumps(payload),
    headers = {
         'Content-Type': 'application/vnd.api+json',
         'Authorization': 'Bearer {}'.format(access_token)
    })

$accessToken = 'INSERT_YOUR_ACCESS_TOKEN_HERE';
$organisationUuid = 'YOUR_ORGANISATION_UUID';
$filePath = 'path_to_your_file.pdf';
$fileName = 'your_filename.pdf';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://api.pingen.com/file-upload");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer $accessToken"]);

$response = curl_exec($ch);
curl_close($ch);

$responseData = json_decode($response, true);
$fileUploadUrl = $responseData['data']['attributes']['url'];
$fileUrlSignature = $responseData['data']['attributes']['url_signature'];

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $fileUploadUrl);
curl_setopt($ch, CURLOPT_PUT, 1);
curl_setopt($ch, CURLOPT_INFILE, fopen($filePath, 'r'));
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($filePath));

$response = curl_exec($ch);
curl_close($ch);

$letterData = [
   'data' => [
       'type' => 'letters',
       'attributes' => [
           'file_original_name' => $fileName,
           'file_url' => $fileUploadUrl,
           'file_url_signature' => $fileUrlSignature,
           'address_position' => 'left',
           'auto_send' => false,
           'delivery_product' => 'fast',
           'print_mode' => 'simplex',
           'print_spectrum' => 'color'
       ]
   ]
];

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://api.pingen.com/organisations/$organisationUuid/letters");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($letterData));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
   "Content-Type: application/vnd.api+json",
   "Authorization: Bearer $accessToken"
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;

curl \
       -X GET "https://api.v2.pingen.com/file-upload" \
       -H "Authorization: Bearer INSERT_YOUR_ACCESS_TOKEN_HERE"

# Extract data.attributes.url and data.attributes.url_signature from response

curl -X PUT -T path_to_your_file.pdf "INSERT_URL_FROM_INITIAL_CURL_REQUEST"

curl \
       -X POST "https://api.v2.pingen.com/organisations/INSERT_YOUR_ORGANISATION_UUID_HERE/letters" \
       -H "Content-Type: application/vnd.api+json" \
       -H "Authorization: Bearer INSERT_YOUR_ACCESS_TOKEN_HERE" \
       --data-binary @- << EOF
       {
           "data": { \
               "type": "letters", \
               "attributes": { \
                   "file_original_name": "your_filename.pdf", \
                   "file_url": "INSERT_URL_FROM_INITIAL_CURL_REQUEST", \
                   "file_url_signature": "INSERT_URL_SIGNATURE_FROM_INITIAL_CURL_REQUEST", \
                   "address_position": "left", \
                   "auto_send": false, \
                   "delivery_product": "fast", \
                   "print_mode": "simplex", \
                   "print_spectrum": "color" \
               } \
       } \
   }
EOF

De API voor het digitaal verzenden van briefpost

Brieven versturen via de API van Pingen is net zo eenvoudig als het verzenden van een standaard e-mail. Onze API is digitaal en volledig aanpasbaar.

API documentatie
Leer meer
Online briefpost
Automatische documentvalidatie

Pingen controleert automatisch alle ingediende PDF's om te zorgen dat ze voldoen aan de vereisten voor postbrieven. Als er niet aan bepaalde criteria wordt voldaan, biedt Pingen direct oplossingen via de API.

Verstuur brieven geautomatiseerd
Digitale verwerking van retouren

Als PostNL brieven niet kan bezorgen, worden deze automatisch via de Pingen DMC opgevangen, vernietigd en gerapporteerd via webhooks. Zo worden onbestelbare brieven altijd digitaal verwerkt.

Gedetailleerde Track & Trace
Sandbox testomgeving

Pingen biedt een speciale testomgeving voor ontwikkelaars om integraties te testen. Deze sandbox weerspiegelt alle functies van Pingen voor grondige tests voordat er brieven worden verzonden.

Verwerking van retourzendingen
Gedetailleerde prijscalculator

Gebruik de prijscalculator om vooraf de kosten van je fysieke post te berekenen. Dit zorgt voor volledige kostentransparantie voordat je brieven verstuurt, waardoor je budget beter beheerd kan worden.

Ontvang real-time updates met webhooks

Pingen biedt automatische webhook-meldingen voor belangrijke gebeurtenissen, zodat je altijd op de hoogte bent van de status van je brieven. Je ontvangt direct meldingen over verzonden brieven, problemen of onbestelbare items. Dit stelt je in staat snel te reageren, zonder de API actief te hoeven monitoren.

Met Pingen's webhookbeheer krijg je toegang tot gedetailleerde informatie voor elk verzoek, inclusief payload en systeemreacties. Hierdoor kun je problemen snel identificeren en oplossen met minimale inspanning.

Briefverzending in één overzicht
Pingen PHP Library

Met onze PHP Library wordt het nog eenvoudiger

De Pingen PHP Library biedt alles wat je nodig hebt om onze API te integreren en briefpost te versturen. Pingen heeft het zware werk voor PHP-ontwikkelaars al gedaan en onze gebruiksvriendelijke SDK's zijn vrij beschikbaar. 🚀

Meer dan alleen een API voor briefpost

Onze Brief API biedt veel meer dan API die door drukkerijen of postdiensten wordt gebruikt. Met Pingen heb je toegang tot een snelgroeiende en internationale service waarmee je wereldwijd brieven kunt verzenden tegen de beste prijs.

Lokale postdiensten

Lokale postdiensten

Onze snelgroeiende service print en bezorgd al lokaal in Nederland, India, Duitsland, Oostenrijk en Zwitserland.

Internationale postbezorging

Internationale postbezorging

Met DHL als partner garandeert Pingen een snelle en betrouwbare levering wereldwijd via luchtpost.

Schaalbaar en betrouwbaar

Schaalbaar en betrouwbaar

Pingen is eenvoudig schaalbaar en veilig dankzij onze cloud- en multi-site briefdrukinfrastructuur.

Begin nu met de API-integratie

Bekijk onze API-documentatie en ontdek hoe simpel het is om postbezorging via PostNL in je software te integreren!