La puissante lettre API de Pingen, entièrement évolutive, permet à votre solution logicielle d'envoyer automatiquement des courriers via la Poste Suisse et DHL. Nos kits de développement logiciel (SDK) permettent une intégration rapide et facile.
La lettre API de Pingen permet d'intégrer en toute simplicité des logiciels pour envoyer automatiquement des courriers via la Poste Suisse et DHL.
API gratuite
Nous avons à cœur de vous aider à automatiser vos processus, c'est pourquoi nous mettons gratuitement notre API à la disposition de tous nos clients.
SDK puissants
Envoyez des courriers via la Poste et DHL en un temps record grâce à nos SDK pour PHP, Python et .Net.
Formes de paiement pris en charge
Impression automatique sous forme de QR-facture suisse ou avec des bulletins de versement SEPA en Allemagne et en Autriche.
Par des développeurs pour les développeurs
Toutes les fonctionnalités de Pingen sont également disponibles via notre lettre API et expliquées en détail dans notre documentation.
Track & Trace
Pingen fournit des informations détaillées sur le statut et des mises à jour de la progression en temps réel pour chaque courrier soumis via l'API.
Génération de revenus
En revendant des courriers postaux, les intégrateurs peuvent bénéficier d’une nouvelle opportunité de générer des revenus.
La lettre API de Pingen est conçue pour être flexible et simple, afin de favoriser une intégration rapide. Outre une documentation conviviale, nous fournissons également des exemples de code pour vous aider à démarrer sans plus tarder.
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
L'envoi de courriers via la lettre API de Pingen est aussi simple que l'envoi d'un e-mail standard. Notre API est numérique et entièrement évolutive.
Pingen vérifie automatiquement que tous les PDF soumis sont conformes aux exigences en matière d'envoi de courrier. Si certaines exigences ne sont pas respectées, Pingen propose des options de correction directement via l'API.
Si la Poste Suisse ne parvient pas à distribuer des courriers, ceux-ci sont automatiquement interceptés à l'aide du DMC Pingen, détruits de manière contrôlée et signalés via des webhooks. De cette façon, les courriers non distribuables sont toujours traités numériquement.
Pingen propose un environnement de test à tous les développeurs afin que les intégrations puissent être testées facilement et aisément dans un bac à sable (sandbox). Toutes les fonctionnalités de Pingen sont disponibles dans le bac à sable, mais aucun courrier ne sera réellement envoyé.
Utilisez le point d'arrivée de la calculatrice de prix pour vérifier à l'avance le prix de votre courrier postal. Ainsi, vous pouvez toujours déterminer les coûts complets avant d'envoyer un courrier.
Pingen propose des notifications automatiques via des webhooks pour les événements importants. Par exemple, tu es informé en temps réel dès qu'une lettre a été envoyée, qu'elle présente un problème ou qu'elle n'est pas distribuable. Cela te permet d'effectuer automatiquement d'autres actions sans devoir "polluer" activement notre API à la recherche de changements.
Dans la gestion des webhooks de Pingen, tu peux voir des informations détaillées pour chaque demande, comme par exemple la charge utile et la réponse de ton système. Cela permet d'identifier rapidement les problèmes et d'y remédier avec un minimum d'efforts.
La bibliothèque PHP Pingen offre tout ce dont vous avez besoin pour intégrer notre API et envoyer des courriers via la Poste et DHL. Pingen a déjà effectué le travail pour les développeurs PHP. Prochainement, nous libèrerons également nos SDK pour tous les autres développeurs. 🚀
Notre lettre API offre bien plus que l'API classique utilisée par les agences de courriers ou les fournisseurs de services postaux. Avec Pingen, vous avez accès à un service international en pleine expansion qui vous permet d'envoyer des courriers dans le monde entier au meilleur prix.
À l’heure actuelle déjà, des courriers sont imprimés et envoyés localement en Allemagne, en Autriche, en Suisse, en Inde et aux Pays-Bas.
Grâce à notre partenariat avec la Poste et DHL, Pingen garantit une livraison rapide et fiable vers tous les autres pays par courrier aérien.
Grâce à notre infrastructure d'impression de courriers en cloud et multisite, Pingen est facilement modulable et fiable.
Avec Pingen, vous pouvez également envoyer des courriers par e-mail, S3, Dropbox, Google Drive, OneDrive, ou directement à partir de services tels que Odoo, ServiceNow, etc.
Grâce à notre présence internationale et à notre partenariat avec la Poste et DHL, Pingen offre une livraison ultra rapide à des prix hautement attractifs.
Pingen offre un large éventail de fonctionnalités pratiques et innovantes pour envoyer efficacement du courrier postal - au niveau local et international !
Penchez-vous sur la documentation de notre lettre API et découvrez comme il est facile d'intégrer le courrier postal via la Poste et DHL dans votre solution logicielle !