Descarga
Información general
Las API de descarga tienen endpoints específicos, que son los siguientes:
- Pruebas (staging):
https://toolbox-staging.bcdiploma.com - Producción (datos alojados en la zona UE - de forma predeterminada):
https://toolbox.bcdiploma.com - Producción (datos alojados en la zona EE. UU. - previa solicitud):
https://toolbox-cus.bcdiploma.com
Estos endpoints se indican como [TOOLBOX-URL] en la documentación que figura a continuación.
Descarga masiva de PDF
Funcionamiento
La API de descarga masiva permite exportar a PDF un conjunto de certificados en una sola operación. Esta API corresponde a la funcionalidad “Exportar a PDF”, accesible desde el backoffice después de seleccionar varios certificados. Como recordatorio, “Exportar a PDF” funciona de la siguiente manera:
- El usuario elige el formato del archivo comprimido: “un PDF por certificado” o “varios certificados por PDF” (un único archivo PDF que contiene todos los certificados seleccionados).
- Después de hacer clic en “Exportar a PDF”, el usuario recibe un primer correo electrónico en el que se le indica que su exportación a PDF se está procesando. Este correo electrónico contiene una contraseña, que será necesaria para abrir el archivo comprimido con los certificados exportados, que se recibe en un segundo correo electrónico. Dado que la exportación puede tardar bastante, el proceso es asíncrono.
- Entre unos minutos y varias horas después del primer correo electrónico (según el número de certificados que se exporten), el usuario recibe un segundo correo electrónico con el archivo comprimido que contiene las exportaciones. Entonces puede abrirlo utilizando la contraseña recibida anteriormente con un gestor de archivos comprimidos compatible, por ejemplo 7zip. La herramienta integrada en Windows no es compatible por motivos de seguridad.
Uso de la API de descarga masiva de PDF
Se accede al servicio web de descarga masiva de PDF mediante una llamada POST al endpoint [TOOLBOX-URL]/pdf.
Son obligatorios un token de autenticación y un encabezado HTTP Content-Type: application/json.
El cuerpo de la solicitud es una cadena de caracteres JSON con varios campos obligatorios:
- email: la dirección de correo electrónico a la que se enviará la exportación.
- exportMultiPdf: el formato del archivo comprimido;
truepara obtener “un PDF por certificado”,falsepara obtener “varios certificados por PDF”. - data: un array de certificados que se van a exportar, identificados por su clave
key, en el que se especifican el idioma deseadolangpara el PDF (útil, en particular, para los certificados multilingües) y un nombre de archivo de salidafilename.
Tenga en cuenta que las opciones de nomenclatura y de agrupación disponibles en el backoffice no están disponibles mediante la API.
En los siguientes ejemplos, la exportación se enviará en un archivo ZIP a john.doe@bcdiploma.com.
Ejemplo 1
Exportación de 2 certificados en inglés, un archivo PDF por certificado, en archivos cuyo nombre lleva el prefijo export. Se calculará un nombre único para cada archivo.
{
"email": "john.doe@bcdiploma.com",
"exportMultiPdf": true,
"data": [
{
"key": "B49B8E13BEC1DC9879F4A3A1A264A91E7BD7D7EE8572D55EA6F9A1E83CA046F2bFpTaFFpV29YM1dzVDUvYTBwTnRSM2pqVEdGWGlBdmZUUFJwdlJlSXJQVkxpSUZn",
"lang": "en",
"filename": "export"
},
{
"key": "8F3382902DF9096ECA90CAB200471FBEFB90097134C7D44B746E17427223D5CFd0FscDZJVm1vc1hhU3JKckJ2aFBPbzNYdXBiWFd6ZXpxcmRmRFJ4eFpjNjc2S0g3",
"lang": "en",
"filename": "export"
}
]
}
Ejemplo 2
Exportación de 2 certificados en inglés, en un único archivo llamado export.pdf.
{
"email": "john.doe@bcdiploma.com",
"exportMultiPdf": false,
"data": [
{
"key": "B49B8E13BEC1DC9879F4A3A1A264A91E7BD7D7EE8572D55EA6F9A1E83CA046F2bFpTaFFpV29YM1dzVDUvYTBwTnRSM2pqVEdGWGlBdmZUUFJwdlJlSXJQVkxpSUZn",
"lang": "en",
"filename": "export"
},
{
"key": "8F3382902DF9096ECA90CAB200471FBEFB90097134C7D44B746E17427223D5CFd0FscDZJVm1vc1hhU3JKckJ2aFBPbzNYdXBiWFd6ZXpxcmRmRFJ4eFpjNjc2S0g3",
"lang": "en",
"filename": "export"
}
]
}
Ejemplo 3
Exportación de 2 certificados en inglés, un archivo PDF por certificado, el primero guardado en una carpeta directory1 y el segundo en una carpeta directory2.
{
"email": "john.doe@bcdiploma.com",
"exportMultiPdf": true,
"data": [
{
"key": "B49B8E13BEC1DC9879F4A3A1A264A91E7BD7D7EE8572D55EA6F9A1E83CA046F2bFpTaFFpV29YM1dzVDUvYTBwTnRSM2pqVEdGWGlBdmZUUFJwdlJlSXJQVkxpSUZn",
"lang": "en",
"filename": "directory1\\export"
},
{
"key": "8F3382902DF9096ECA90CAB200471FBEFB90097134C7D44B746E17427223D5CFd0FscDZJVm1vc1hhU3JKckJ2aFBPbzNYdXBiWFd6ZXpxcmRmRFJ4eFpjNjc2S0g3",
"lang": "en",
"filename": "directory2\\export"
}
]
}
La respuesta tendrá el estado 200 si todo ha funcionado correctamente.
Descarga individual de PDF
Los certificados activos y no vencidos se pueden descargar mediante la API en formato PDF. Esta API de descarga individual no requiere autenticación.
URL: [TOOLBOX-URL]/pdf/<key>, donde <key> corresponde al identificador único del certificado.
Parámetros opcionales:
| Parámetro | Descripción | Valor predeterminado |
|---|---|---|
| landscape | false = vertical, true = horizontal | true |
| lang | Código ISO del idioma de destino | Idioma predeterminado del certificado |
| filename | nombre del archivo de salida (sin extensión) | certificate_YYYYMMDDHHMMSS.pdf |
Ejemplo:
https://toolbox.bcdiploma.com/pdf/1001016C25F8D530F7515E129166BCD51F9AA5C58E390287A0DC3CC02FBC0EFDREVvdlV5cm8xR1dTaE13TE9nMHJ5ZVR2TFRtMmxTNUJmNHVPRTFJYmlwb2J0NFdj?lang=ar&filename=mycertificate
Descarga de la prueba de depósito de un archivo asociado a un certificado
Si su plantilla de certificado lo prevé, es posible que haya asociado un archivo (archivo ZIP, PDF, etc.) a sus certificados durante una publicación. Puede recuperar la prueba de depósito de este archivo asociado mediante la siguiente API. Esta API de descarga no requiere autenticación.
URL: [TOOLBOX-URL]/doc/<certId>, donde <certId> corresponde al identificador único del certificado.
Parámetros opcionales:
| Parámetro | Descripción | Valor predeterminado |
|---|---|---|
| fileFieldId | nombre del campo que contiene el nombre del archivo | file_A |
| proofOnly | si está ausente y el archivo asociado es un PDF, este último se concatenará al archivo de pruebas | N/A |
| withCertLink | si está presente, añade un código QR y un enlace al certificado en el archivo de pruebas | N/A |
| filename | nombre del archivo de salida (sin extensión) | proofs_YYYYMMDDHHMMSS.pdf |
| qrcodeLastPage | si está presente, añade el código QR solo hasta el número de página indicado (p. ej.: 1) | Todas las páginas |
Ejemplo: recuperar la prueba de depósito de un archivo asociado a un certificado, en el entorno de producción, sin código QR ni enlace al certificado:
https://toolbox.bcdiploma.com/doc/01A16D5BA729C36B14F193E3FAF3957016AB469047978A70FA9B430546BDCAFDMWNVdEVHaW03Q2tEZUIyRi93RmJnRXlSZzdmK3Z1aWptSkl0dEJwRUdjdFZodGxr?fileFieldId=file_A&proofOnly&filename=proofs
Generación de un código QR para un certificado
Puede generar usted mismo un código QR idéntico al que está integrado en los PDF de los certificados. Para ello, recomendamos utilizar esta biblioteca JavaScript.
Para obtener un código QR idéntico al que se genera en los PDF de los certificados, asegúrese de pasar los mismos valores a los parámetros indicados en el código de ejemplo que figura a continuación. Este ejemplo devuelve un código QR en formato svg.
// install https://github.com/soldair/node-qrcode npm package
// npm install --save qrcode
var QRCode = require("qrcode");
// Indique aquí la URL del certificado para el que desea generar un código QR
var data =
"https://certificate.bcdiploma.com/check/A85CFBC956B6C38F646162D64FC8970F827A57359A59E68C1076644982A0E34CbitkclhPMFhSS2N2dWl2aFZEczJDS041S05UUGR2Y290UFVPU2l2RmtISEE0ZW1u";
// El código QR se devuelve aquí en formato SVG
QRCode.toString(data, {
type: "svg",
errorCorrectionLevel: "M",
bgColor: "#ffffff",
fgColor: "#000000",
})
.then(function (svgQRCode) {
console.log(svgQRCode);
})
.catch(function (err) {
console.error(err);
});