Mit der skalierbaren Post API von Pingen wird deine Software im Handumdrehen um automatischen Postversand via Schweizer Post und DHL erweitert. Die Integration ist dank unseren SDKs ein Kinderspiel.
Mit der Post API von Pingen wird deine Software ganz einfach um den automatisierten Briefversand via Schweizer Post und DHL erweitert.
Kostenlose API Schnittstelle
Wir wollen helfen, Prozesse zu automatisieren. Daher stellen wir unsere API allen Kunden kostenlos zur Verfügung.
Umfangreiche SDKs
Die Integration vom Briefversand ist dank unseren SDKs für PHP, Python und .Net in kürzester Zeit realisiert.
Unterstützte Überweisungsträger
Automatischer Druck als Schweizer QR-Rechnung oder mit SEPA Überweisungsträgern in Deutschland und Österreich.
Von Entwicklern für Entwickler
Alle Funktionen von Pingen sind auch über die Post API verfügbar und in unserer Dokumentation detailliert beschrieben.
Track & Trace
Für jeden übermittelten Brief bietet Pingen via API ausführliche Status Informationen, um den Verlauf zu verfolgen.
Einnahmen generieren
Der Weiterverkauf vom Postversand bietet Integratoren spannende Möglichkeiten zum Generieren zusätzlicher Einnahmen.
Die Brief API von Pingen ist so flexibel und einfach wie möglich gehalten, damit sich Integrationen im Handumdrehen realisieren lassen. Neben der verständlichen Dokumentation bieten wir auch Code-Beispiele, um den Einstieg weiter zu erleichtern.
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
Über die Post API ist der Versand von einem Brief so einfach wie der Versand von einem E-Mail bei deinem Mailprovider. Digital und beliebig skalierbar.
Alle übermittelten PDF werden von Pingen automatisch auf die Anforderungen beim Postversand geprüft. Sofern gewisse Anforderungen nicht eingehalten sind, bietet Pingen Optionen, diese direkt via API zu beheben.
Sofern bei Briefen die Zustellung durch die Schweizer Post fehlschlägt, werden diese anhand vom Pingen-DMC automatisch erfasst, kontrolliert, vernichtet und via Webhooks gemeldet. So werden auch diese immer digital verarbeitet.
Um Integrationen ausgiebig zu testen, bietet Pingen mit der Staging-Umgebung eine Sandbox. In dieser stehen alle Funktionen zur Verfügung, ohne dass jedoch Briefe effektiv versendet werden.
Über den Preiskalkulator-Endpoint lassen sich sämtliche Preise von Pingen im Voraus berechnen. So sieht man bereits vor dem Versand, welche Kosten ein Brief verursachen wird.
Pingen bietet für wichtige Ereignisse automatische Benachrichtigungen via Webhooks. So wirst du beispielsweise in Echtzeit benachrichtigt, sobald ein Brief gesendet wurde, ein Problem aufweist oder unzustellbar ist. Das ermöglicht dir automatisch weitere Aktionen ausführen, ohne unsere API aktiv nach Veränderungen “pollen” zu müssen.
In der Webhook-Verwaltung von Pingen kannst du für jede Anfrage detaillierte Informationen wie z.B. den Payload sowie den Response von deinem System einsehen. Somit lassen sich Probleme schnell erkennen und mit wenig Aufwand beheben.
In der Pingen PHP Library ist alles für den Briefversand via Schweizer Post vorbereitet. Für alle PHP-Entwickler hat Pingen sozusagen die Arbeit bereits gemacht, für alle anderen Entwickler folgen bald unsere SDKs. 🚀
Unsere Post API bietet deutlich mehr als eine klassische API von einem Lettershop oder Briefdienstleister. Bei Pingen erhältst du Zugriff auf einen schnell wachsenden internationalen Service, dass dir den weltweiten Briefversand zu den besten Konditionen ermöglicht.
Bereits heute werden Briefe lokal in der Schweiz, Österreich, Deutschland, den Niederlanden, Indien gedruckt und versendet.
Durch die Partnerschaft mit DHL kann Pingen auch in alle anderen Länder schnellste Zustellung via Luftfracht garantieren.
Durch unsere Cloud-Infrastruktur sowie den Briefdruck an mehreren Standorten skaliert Pingen problemlos und ist ausfallsicher.
Bei Pingen lassen sich Briefe auch via Email, S3, Dropbox, GoogleDrive, OneDrive oder auch direkt aus Lösungen wie Odoo, ServiceNow uvm. versenden.
Durch die internationale Präsenz sowie der Partnerschaft mit DHL bietet Pingen die schnellste Zustellung zu den attraktivsten Konditionen.
Pingen bietet eine Vielzahl von praktischen und Funktionen für den effizienten online Postversand - lokal und international!
Wirf einen Blick in die Dokumentation unserer API und sehe, wie einfach sich Briefe in deine Lösung integrieren und digital versenden lassen!