Téléchargement
Généralités
Les points de terminaison des API de téléchargement sont spécifiques, les voici :
- Recette :
https://toolbox-staging.bcdiploma.com - Production (données localisées en EU - par défaut) :
https://toolbox.bcdiploma.com - Production (données localisées aux US - à la demande) :
https://toolbox-cus.bcdiploma.com
Ces points de terminaison sont notés [TOOLBOX-URL] dans la documentation ci-dessous.
Téléchargement de PDF en masse
Fonctionnement
L'API de téléchargement en masse permet d'exporter en PDF un ensemble de certificats en une seule opération. Cette API correspond à la fonctionnalité "Exporter en PDF", accessible depuis le backoffice après avoir sélectionné plusieurs certificats. Pour rappel, "Exporter en PDF" fonctionne de la manière suivante :
- L'utilisateur choisit le format de l'archive : soit "un PDF par certificat", soit "plusieurs certificats par PDF" (un seul fichier PDF contenant tous les certificats sélectionnés).
- Après avoir cliqué sur "Exporter en PDF", l'utilisateur reçoit un premier courriel l'informant que son export PDF est en cours de traitement. Ce courriel contient un mot de passe, qui sera nécessaire pour ouvrir l'archive contenant les certificats exportés, reçue dans un second courriel. L'export étant potentiellement long, le processus est asynchrone.
- De quelques minutes à plusieurs heures après le premier courriel (selon le nombre de certificats à exporter), l'utilisateur reçoit un second courriel avec l'archive contenant les exports. Il peut alors l'ouvrir en utilisant le mot de passe reçu précédemment avec un gestionnaire compatible, par exemple 7zip. L'outil intégré à Windows n'est pas compatible pour des raisons de sécurité.
Utilisation de l'API de téléchargement PDF en masse
Le service web de téléchargement PDF en masse est accessible par un appel POST au point de terminaison [TOOLBOX-URL]/pdf.
Un jeton d'authentification et une entête HTTP Content-Type: application/json sont obligatoires.
Le corps de la requête est une chaîne de caractères JSON avec plusieurs champs obligatoires :
- email : l'adresse de courriel à qui l'export va être transmis.
- exportMultiPdf : le format de l'archive, à
truepour obtenir "un PDF par certificat", àfalsepour obtenir "plusieurs certificats par PDF". - data : un tableau de certificats à exporter, identifiés par leur clé
key, spécifiant la langue souhaitéelangpour le PDF (utile notamment pour les certificats multilingues), et un nom de fichier de sortiefilename.
À noter que les options de nommage et de regroupement disponibles par le BackOffice ne sont pas disponibles via API.
Dans les exemples suivants, l'export sera envoyé dans une archive ZIP à john.doe@bcdiploma.com.
Exemple 1
Export de 2 certificats en anglais, un fichier PDF par certificat, dans des fichiers préfixés par export. Un nom unique sera calculé pour chaque fichier.
{
"email": "john.doe@bcdiploma.com",
"exportMultiPdf": true,
"data": [
{
"key": "B49B8E13BEC1DC9879F4A3A1A264A91E7BD7D7EE8572D55EA6F9A1E83CA046F2bFpTaFFpV29YM1dzVDUvYTBwTnRSM2pqVEdGWGlBdmZUUFJwdlJlSXJQVkxpSUZn",
"lang": "en",
"filename": "export"
},
{
"key": "8F3382902DF9096ECA90CAB200471FBEFB90097134C7D44B746E17427223D5CFd0FscDZJVm1vc1hhU3JKckJ2aFBPbzNYdXBiWFd6ZXpxcmRmRFJ4eFpjNjc2S0g3",
"lang": "en",
"filename": "export"
}
]
}
Exemple 2
Export de 2 certificats en anglais, dans un fichier unique nommé export.pdf.
{
"email": "john.doe@bcdiploma.com",
"exportMultiPdf": false,
"data": [
{
"key": "B49B8E13BEC1DC9879F4A3A1A264A91E7BD7D7EE8572D55EA6F9A1E83CA046F2bFpTaFFpV29YM1dzVDUvYTBwTnRSM2pqVEdGWGlBdmZUUFJwdlJlSXJQVkxpSUZn",
"lang": "en",
"filename": "export"
},
{
"key": "8F3382902DF9096ECA90CAB200471FBEFB90097134C7D44B746E17427223D5CFd0FscDZJVm1vc1hhU3JKckJ2aFBPbzNYdXBiWFd6ZXpxcmRmRFJ4eFpjNjc2S0g3",
"lang": "en",
"filename": "export"
}
]
}
Exemple 3
Export de 2 certificats en anglais, un fichier PDF par certificat, le 1er rangé dans un dossier directory1, le second dans un dossier directory2.
{
"email": "john.doe@bcdiploma.com",
"exportMultiPdf": true,
"data": [
{
"key": "B49B8E13BEC1DC9879F4A3A1A264A91E7BD7D7EE8572D55EA6F9A1E83CA046F2bFpTaFFpV29YM1dzVDUvYTBwTnRSM2pqVEdGWGlBdmZUUFJwdlJlSXJQVkxpSUZn",
"lang": "en",
"filename": "directory1\\export"
},
{
"key": "8F3382902DF9096ECA90CAB200471FBEFB90097134C7D44B746E17427223D5CFd0FscDZJVm1vc1hhU3JKckJ2aFBPbzNYdXBiWFd6ZXpxcmRmRFJ4eFpjNjc2S0g3",
"lang": "en",
"filename": "directory2\\export"
}
]
}
La réponse aura le statut 200 si tout s'est bien passé.
Téléchargement PDF unitaire
Les certificats actifs non expirés peuvent être téléchargés par API au format PDF. Cette API de téléchargement unitaire ne nécessite pas d'authentification.
URL : [TOOLBOX-URL]/pdf/<key> où <key> correspond à l'identifiant unique du certificat.
Paramètres optionnels :
| Paramètre | Description | Valeur par défaut |
|---|---|---|
| landscape | false = portrait, true = paysage | true |
| lang | Code ISO de la langue cible | Langue par défaut du certificat |
| filename | nom du fichier de sortie (sans extension) | certificate_YYYYMMDDHHMMSS.pdf |
Exemple :
https://toolbox.bcdiploma.com/pdf/1001016C25F8D530F7515E129166BCD51F9AA5C58E390287A0DC3CC02FBC0EFDREVvdlV5cm8xR1dTaE13TE9nMHJ5ZVR2TFRtMmxTNUJmNHVPRTFJYmlwb2J0NFdj?lang=ar&filename=mycertificate
Téléchargement de la preuve de dépôt d'un fichier associé à un certificat
Si votre modèle de certificat le prévoit, vous avez pu associer un fichier (archive ZIP, PDF, etc.) à vos certificats lors d'une publication. Vous pouvez récupérer la preuve de dépôt de ce fichier associé via l'API suivante. Cette API de téléchargement ne nécessite pas d'authentification.
URL : [TOOLBOX-URL]/doc/<certId> où <certId> correspond à l'identifiant unique du certificat.
Paramètres optionnels :
| Paramètre | Description | Valeur par défaut |
|---|---|---|
| fileFieldId | nom du champ contenant le nom fichier | file_A |
| proofOnly | si absent et que le fichier associé est un PDF, ce dernier sera concaténé au fichier de preuves | N/A |
| withCertLink | si présent, ajoute un QRcode et un lien vers le certificat dans le fichier de preuves | N/A |
| filename | nom du fichier de sortie (sans extension) | proofs_YYYYMMDDHHMMSS.pdf |
| qrcodeLastPage | si présent, n'ajoute le QRcode que jusqu'au numéro de page indiqué (ex : 1) | Toutes les pages |
Exemple : récupérer la preuve de dépôt d'un fichier associé à un certificat, sur l'environnement de staging, sans QR code ni lien vers le certificat :
https://toolbox.bcdiploma.com/doc/01A16D5BA729C36B14F193E3FAF3957016AB469047978A70FA9B430546BDCAFDMWNVdEVHaW03Q2tEZUIyRi93RmJnRXlSZzdmK3Z1aWptSkl0dEJwRUdjdFZodGxr?fileFieldId=file_A&proofOnly&filename=proofs
Génération d'un QR Code pour un certificat
Vous pouvez générer par vous même un QRcode identique à celui embarqué dans les PDF des certificats. Pour cela, nous recommandons l'utilisation de cette bibliothèque Javascript.
Pour obtenir un QRcode identique à celui généré au sein des PDF des certificats, veillez à passer les mêmes valeurs aux paramètres indiqués dans le code exemple ci-dessous. Cet exemple retourne un QR code au format svg.
// install https://github.com/soldair/node-qrcode npm package
// npm install --save qrcode
var QRCode = require("qrcode");
// Mettez ici l'url du certificat pour lequel vous voulez générer un QR code
var data =
"https://certificate.bcdiploma.com/check/A85CFBC956B6C38F646162D64FC8970F827A57359A59E68C1076644982A0E34CbitkclhPMFhSS2N2dWl2aFZEczJDS041S05UUGR2Y290UFVPU2l2RmtISEE0ZW1u";
// Le QR code est retourné ici au format SVG
QRCode.toString(data, {
type: "svg",
errorCorrectionLevel: "M",
bgColor: "#ffffff",
fgColor: "#000000",
})
.then(function (svgQRCode) {
console.log(svgQRCode);
})
.catch(function (err) {
console.error(err);
});