Base de connaissances BCdiplomaBase de connaissances BCdiploma
Guide utilisateur
Guide technique
API
CGU et données
  • English
  • Français
Guide utilisateur
Guide technique
API
CGU et données
  • English
  • Français
  • API

    • Comment utiliser l'API BCdiploma
    • Automatiser le processus d'émission
    • Suppressions et désactivations
    • Mise à jour
    • Gestion des modèles de certificats
    • Gestion des parcours
    • Téléchargement
    • Exportation de données
    • Autres API
    • Gestions des erreurs

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 :

  1. 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).
  2. 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.
  3. 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, à true pour obtenir "un PDF par certificat", à false pour obtenir "plusieurs certificats par PDF".
  • data : un tableau de certificats à exporter, identifiés par leur clé key, spécifiant la langue souhaitée lang pour le PDF (utile notamment pour les certificats multilingues), et un nom de fichier de sortie filename.

À 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ètreDescriptionValeur par défaut
landscapefalse = portrait, true = paysagetrue
langCode ISO de la langue cibleLangue par défaut du certificat
filenamenom 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ètreDescriptionValeur par défaut
fileFieldIdnom du champ contenant le nom fichierfile_A
proofOnlysi absent et que le fichier associé est un PDF, ce dernier sera concaténé au fichier de preuvesN/A
withCertLinksi présent, ajoute un QRcode et un lien vers le certificat dans le fichier de preuvesN/A
filenamenom du fichier de sortie (sans extension)proofs_YYYYMMDDHHMMSS.pdf
qrcodeLastPagesi 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);
  });
Prev
Gestion des parcours
Next
Exportation de données