Autenticación
Cada llamada a la API requiere un token de autenticación como parte del cuerpo o de la consulta de la solicitud. Con la sesión iniciada, puede encontrar su token haciendo clic en la extensión del navegador de Panorama. En su solicitud, etiquete este parámetro como Token de autenticación.
Transporte y codificación
La API actual solo admite el formato de datos JSON. Se recomienda especificar application/json como el encabezado aceptado, pero no es obligatorio.
URL base de la API
La URL base de la API de Panorama depende de la zona en la que esté registrada su institución. Si no está seguro de en qué zona se encuentra su institución, comuníquese con su administrador de cuenta. Por protocolos de seguridad, solo se permite el acceso mediante https.
Para los modelos de usuario, institución, curso, período y subcuenta:
Zona de Estados Unidos: https://panorama.yuja.com/api
Zona de Canadá: https://panorama-cz.yuja.com/api
Zona de Europa: https://panorama-ez.yuja.com/api
Zona de Australia: https://panorama-az.yuja.com/api
Para los modelos de documento:
Zona de Estados Unidos: https://panorama-api.yuja.com/
Zona de Canadá: https://panorama-api-cz.yuja.com/
Zona de Europa: https://panorama-api-ez.yuja.com/
Zona de Australia: https://panorama-api-az.yuja.com/
Códigos de respuesta de la API REST
| Código de estado | Significado |
| 200 | OK |
| 201 | Creado |
| 204 | Sin contenido |
| 400 | Solicitud incorrecta |
| 401 | No autorizado |
| 403 | Prohibido |
| 404 | No encontrado |
| 500 | Error interno del servidor |
| 502 | Puerta de enlace incorrecta |
Modelos
La API de Panorama se divide en varios modelos, cada uno de los cuales representa una entidad diferente, como cursos o documentos. Es posible que los modelos que se muestran a continuación no incluyan todos los campos disponibles y, en su lugar, muestren solo los campos principales de ese modelo.
1 - Descripción general de la API del modelo de usuario
El modelo de usuario representa a todas las personas que están asociadas con el token de acceso proporcionado o que forman parte de la institución.
1.1 - Campos principales del modelo de usuario
| Variable | Tipo | Descripción |
| userId | string | Un userId único generado por el sistema. |
| lmsUserId | string | El userId que su LMS generó para el usuario. |
| string | La dirección de correo electrónico del usuario. | |
| firstName | string | El nombre del usuario. |
| lastName | string | El apellido del usuario. |
| role | string | El rol del usuario en el sistema. |
| locked | boolean | Indica si el rol de sistema de este usuario está bloqueado o no. |
1.2 - Puntos de conexión principales
| Método | Ruta | Descripción | Nivel de acceso requerido |
| GET | /user/getUser | Recupera el usuario actual asociado con el token de acceso proporcionado. | Estudiante |
| GET | /user/getPaginatedUsers | Recupera un arreglo de usuarios de su institución. | Administrador |
| POST | /user/updateUserInfo | Actualiza el nombre, el apellido y la dirección de correo electrónico del usuario. | Administrador |
1.2.1 - GET /user/getUser
Recupera el usuario actual asociado con el token de acceso proporcionado.
URL de ejemplo: https://panorama.yuja.com/api/user/getUser
Parámetro:
Nombre |
Tipo |
Descripción |
|---|---|---|
authenticationToken |
string |
El token de autenticación del usuario. Se utiliza para autenticar la solicitud. |
Datos JSON de ejemplo:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tvc"}
1.2.2 - GET /user/getPaginatedUsers
Recupera un arreglo de usuarios de su institución.
URL de ejemplo: https://panorama.yuja.com/api/user/getPaginatedUsers
Parámetros:
Nombre |
Tipo |
Descripción |
|---|---|---|
authenticationToken |
string |
El token de autenticación del usuario. Se utiliza para autenticar la solicitud. |
page |
integer |
Un userId único generado por el sistema. |
pageSize |
integer |
La cantidad de registros que se recibirán en cada página. |
Solicitud JSON de ejemplo:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc","page": 2,"pageSize": 10}
1.2.3 - POST /user/updateUserInfo
Actualiza el nombre, el apellido y la dirección de correo electrónico del usuario.
URL de ejemplo: https://panorama.yuja.com/api/user/updateUserInfo
Parámetros:
Nombre |
Tipo |
Descripción |
|---|---|---|
authenticationToken |
string |
El token de autenticación del usuario. Se utiliza para autenticar la solicitud. |
userId |
string |
El userId único del usuario que se está actualizando. |
firstName |
string |
El nombre del usuario. |
| lastName | string | El apellido del usuario. |
| string | La dirección de correo electrónico del usuario. |
Solicitud JSON de ejemplo:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc","userId": "2ffdc6e2-b250-4c53-b706-d4e2856beaeb","firstName": "Lauren","lastName": Barnes","email": "lauren.barnes@mail.utoronto.ca"}
2 - Descripción general de la API del modelo de subcuenta
El modelo de subcuenta representa todas las subcuentas disponibles para la persona que accede a la API.
2.1 - Campos principales del modelo de subcuenta
Variable |
Tipo |
Descripción |
|---|---|---|
subAccountId |
string |
Un subAccountId único generado por el sistema. |
parentSubAccountId |
string |
Un subAccountId único generado por el sistema para la subcuenta superior de la subcuenta. |
lmsSubAccountId |
string |
El subAccountId que su LMS generó para la subcuenta. |
lmsParentSubAccountId |
string |
El subAccountId que su LMS generó para la subcuenta superior de la subcuenta. |
name |
string |
El nombre de la subcuenta. |
2.2 - Puntos de conexión principales
Método |
Ruta |
Descripción |
Nivel de acceso requerido |
|---|---|---|---|
GET |
/subAccount/getPaginatedSubAccounts |
Recupera una lista de las subcuentas de su institución a las que tiene acceso. |
Subadministrador |
2.2.1 - GET /subAccount/getPaginatedSubAccounts
Recupera una lista de las subcuentas de su institución a las que tiene acceso.
URL de ejemplo: https://panorama.yuja.com/api/subAccount/getPaginatedSubAccounts
Parámetros:
Nombre |
Tipo |
Descripción |
|---|---|---|
authenticationToken |
string |
El token de autenticación del usuario. Se utiliza para autenticar la solicitud. |
page |
integer |
La página con la que se iniciará (comienza en 1). |
pageSize |
integer |
La cantidad de registros que se recibirán en cada página. |
Datos JSON de ejemplo:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc","page": 2,"pageSize": 10}
3 - Descripción general de la API del modelo de período
El modelo de período representa todos los períodos disponibles para la persona que accede a la API.
3.1 - Campos principales del modelo de período
Variable |
Tipo |
Descripción |
|---|---|---|
termId |
string |
Un termId único generado por el sistema. |
lmsTermId |
string |
El termId que su LMS generó para el período. |
name |
string |
El nombre de la subcuenta. |
start |
Date |
La fecha de inicio del período. |
end |
Date |
La fecha de finalización del período. |
3.2 - Puntos de conexión principales del modelo de período
Método |
Ruta |
Descripción |
Nivel de acceso requerido |
|---|---|---|---|
GET |
/term/getPaginatedTerms |
Recupera un arreglo de períodos de su institución. |
Instructor |
3.2.1 - GET /term/getPaginatedTerms
URL de ejemplo: https://panorama.yuja.com/api/term/getPaginatedTerms
Recupera un arreglo de períodos de su institución.
Parámetros:
Nombre |
Tipo |
Descripción |
|---|---|---|
authenticationToken |
string |
El token de autenticación del usuario. Se utiliza para autenticar la solicitud. |
page |
integer |
La página con la que se iniciará (comienza en 1). |
pageSize |
integer |
La cantidad de registros que se recibirán en cada página. |
Datos JSON de ejemplo:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc","page": 2,"pageSize": 10}
4 - Descripción general de la API del modelo de institución
El modelo de institución recupera la información a la que tienen acceso los administradores y subadministradores, como los informes de la institución, los informes de contenido y los informes de problemas.
4.1 - Campos principales del modelo de institución
Variable |
Tipo |
Descripción |
|---|---|---|
institutionId |
string |
Un institutionId único generado por el sistema. |
lmsType |
string |
El tipo de LMS asociado con la institución (p. ej., Canvas). |
name |
string |
El nombre de la institución. |
primaryIdentifierKey |
string |
Una clave de identificador única generada por el sistema. |
secondaryIdentifierKey |
string |
Una clave de identificador secundaria única generada por el sistema. |
consumerKey |
string |
Una clave única generada por el sistema para utilizarse con LTI 1.1. |
ltiSecret |
string |
Una clave única generada por el sistema para utilizarse con LTI 1.1. |
clientId |
string |
El ID de cliente asociado con la institución. Se utiliza para LTI 1.3. |
deploymentId |
string |
El ID de implementación asociado con una implementación de LTI. Se utiliza para LTI 1.3. |
iss |
string |
El emisor asociado con la institución. Se utiliza para LTI 1.3. |
OIDCEndpoint |
string |
El punto de conexión OIDC de la institución. Se utiliza para LTI 1.3. |
JWKSEndpoint |
string |
El punto de conexión JWKS de la institución. Se utiliza para LTI 1.3. |
domain |
string |
El dominio de la institución. |
lmsAPILink |
string |
El punto de conexión de la API asociado con la institución. |
accessToken |
string |
El token de acceso de la institución. Se utiliza para las solicitudes de API a la institución. |
4.2 - Puntos de conexión principales del modelo de institución
Método |
Ruta |
Descripción |
Nivel de acceso requerido |
|---|---|---|---|
GET |
/institution/getInstitutionInformation |
Recupera información sobre la institución asociada con su cuenta. |
Administrador |
GET |
/institution/exportInstitutionReport |
Descarga un informe de accesibilidad de la institución asociada. Se puede filtrar por las subcuentas y los períodos a los que tiene acceso. |
Subadministrador |
GET |
/content/exportContentReportData |
Descarga un informe de contenido de la institución asociada. Se puede filtrar por las subcuentas y los períodos a los que tiene acceso. |
Subadministrador |
GET |
/issue/exportIssuesReport |
Descargue el informe de problemas de la institución asociada. Se puede filtrar por las subcuentas y los períodos a los que tiene acceso. |
Subadministrador |
4.2.1 - GET /institution/getInstitutionInformation
Recupera información sobre la institución asociada con su cuenta.
URL de ejemplo: https://panorama.yuja.com/api/institution/getInstitutionInformation
Parámetros:
Nombre |
Tipo |
Descripción |
|---|---|---|
authenticationToken |
string |
El token de autenticación del usuario. Se utiliza para autenticar la solicitud. |
Datos JSON de ejemplo:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc"}
4.2.2 - GET /institution/exportInstitutionReport
Envíe por correo electrónico y descargue el informe de accesibilidad del LMS. Este informe se puede filtrar por subcuentas y períodos, lo que le permite ver todos los datos relevantes de su institución y sus cursos.
URL de ejemplo: https://panorama.yuja.com/api/institution/exportInstitutionReport
Parámetros:
Nombre |
Tipo |
Descripción |
|---|---|---|
authenticationToken |
string |
El token de autenticación del usuario. Se utiliza para autenticar la solicitud. |
subAccountId |
string |
El ID de subcuenta por el que desea filtrar el informe. Opcional. |
terms |
array |
El ID y el nombre del período por los que desea filtrar el informe. Opcional. |
string |
El correo electrónico que recibirá el informe. |
|
shouldEmail |
Boolean |
El informe se enviará por correo electrónico al usuario si se establece en "true". |
fileType |
string |
El tipo de archivo en el que desea obtener el informe. Opciones: "Excel" o "JSON" |
startYear |
integer |
El año en el que desea comenzar. |
startMonth |
integer |
El mes en el que desea comenzar. (Los meses se cuentan a partir de 1: enero es 1 y diciembre es 12.) |
endYear |
integer |
El año en el que desea terminar. |
endMonth |
integer |
El mes en el que desea terminar. (Los meses se cuentan a partir de 1: enero es 1 y diciembre es 12.) |
Datos JSON de ejemplo:
{"authenticationToken": "1126c18a-ec75-4a11-8ccc-566146f94tcc","subAccountId": "21a6a8d8-a609-4d60-ab21-9eca9013bb65","terms":"[{\"termId\":\"055e8635-c857-4f13-8b0f-63de5cb66aa1\",\"name\":\"Fall Term\"}]","email": "mathew.tyler@yuja.com",
"shouldEmail": true,"fileType": "Excel","startYear": 2022,"startMonth": 4,"endYear": 2023,"endMonth": 5}
4.2.3 - GET /content/exportContentReportData
Descarga un informe de contenido de la institución asociada con la opción de filtrar por las subcuentas y los períodos a los que tiene acceso.
URL de ejemplo: https://panorama.yuja.com/api/content/exportContentReportData
Parámetros:
Nombre |
Tipo |
Descripción |
|---|---|---|
authenticationToken |
string |
El token de autenticación del usuario. Se utiliza para autenticar la solicitud. |
subAccountId |
string |
El ID de subcuenta por el que desea filtrar el informe. Opcional. |
termId |
string |
El ID del período por el que desea filtrar el informe. Opcional. |
string |
El correo electrónico que recibirá el informe. |
|
shouldEmail |
Boolean |
El informe se enviará por correo electrónico al usuario si se establece en "true". |
fileType |
string |
El tipo de archivo en el que desea obtener el informe. Opciones: "Excel" o "JSON" |
startYear |
integer |
El año en el que desea comenzar. |
startMonth |
integer |
El mes en el que desea comenzar. (Los meses se cuentan a partir de 1: enero es 1 y diciembre es 12.) |
endYear |
integer |
El año en el que desea terminar. |
endMonth |
integer |
El mes en el que desea terminar. (Los meses se cuentan a partir de 1: enero es 1 y diciembre es 12.) |
Datos JSON de ejemplo:
{"authenticationToken": "1126c18a-ec75-4a11-8ccc-566146f94tcc","subAccountId": "21a6a8d8-a609-4d60-ab21-9eca9013bb65","termId": "60450295d546b0b925a2a7c4","email": "mathew.tyler@yuja.com","shouldEmail": true,"fileType": "Excel","startYear": 2022,"startMonth": 4,"endYear": 2023,"endMonth": 5}
4.2.4 - GET /issue/exportIssuesReport
Descargue el informe de problemas de la institución asociada. Se puede filtrar por las subcuentas y los períodos a los que tiene acceso.
URL de ejemplo: https://panorama.yuja.com/api/issue/exportIssuesReport
Parámetros:
Nombre |
Tipo |
Descripción |
|---|---|---|
authenticationToken |
string |
El token de autenticación del usuario. Se utiliza para autenticar la solicitud. |
subAccountId |
string |
El ID de subcuenta por el que desea filtrar el informe. Opcional. |
termId |
string |
El ID del período por el que desea filtrar el informe. Opcional. |
string |
El correo electrónico que recibirá el informe. |
|
fileType |
string |
El tipo de archivo en el que desea obtener el informe. Opciones: "Excel" o "JSON" |
startYear |
integer |
El año en el que desea comenzar. |
startMonth |
integer |
El mes en el que desea comenzar. (Los meses se cuentan a partir de 1: enero es 1 y diciembre es 12.) |
endYear |
integer |
El año en el que desea terminar. |
endMonth |
integer |
El mes en el que desea terminar. (Los meses se cuentan a partir de 1: enero es 1 y diciembre es 12.) |
Datos JSON de ejemplo:
{"authenticationToken": "1126c18a-ec75-4a11-8ccc-566146f94tcc","subAccountId": "21a6a8d8-a609-4d60-ab21-9eca9013bb65","termId": "60450295d546b0b925a2a7c4","email": "mathew.tyler@yuja.com","fileType": "Excel","startYear": 2022,"startMonth": 4,"endYear": 2023,"endMonth": 5}
5 - Descripción general de la API del modelo de curso
El modelo de curso recupera cursos e informes de curso
5.1 - Campos principales del modelo de curso
Variable |
Tipo |
Descripción |
|---|---|---|
contextId |
string |
El ID de curso que su LMS generó para el curso. |
name |
string |
El nombre del curso. |
5.2 - Puntos de conexión principales del modelo de curso
Método |
Ruta |
Descripción |
Nivel de acceso requerido |
|---|---|---|---|
GET |
/course/getPaginatedCourses |
Recupera un arreglo de cursos de su institución a los que tiene acceso. |
Instructor |
GET |
/document/getPaginatedCourseDocuments |
Recupera un arreglo de documentos de un curso. |
Instructor |
GET |
/course/exportCourseReport |
Descarga un informe de curso del curso asociado. |
Administrador |
5.2.1 - GET /course/getPaginatedCourses
Recupera un arreglo de cursos de su institución a los que tiene acceso.
URL de ejemplo: https://panorama.yuja.com/api/course/getPaginatedCourses
Parámetros:
Nombre |
Tipo |
Descripción |
|---|---|---|
authenticationToken |
string |
El token de autenticación del usuario. Se utiliza para autenticar la solicitud. |
page |
integer |
La página con la que se iniciará (comienza en 1). |
pageSize |
integer |
La cantidad de registros que se recibirán en cada página. |
Datos JSON de ejemplo:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc","page": 2,"pageSize": 10}
5.2.2 - GET /document/getPaginatedCourseDocuments
Recupera un arreglo de documentos de un curso.
URL de ejemplo: https://panorama.yuja.com/api/document/getPaginatedCourseDocuments
Parámetros:
Nombre |
Tipo |
Descripción |
|---|---|---|
authenticationToken |
string |
Su token de autenticación. Se utiliza para autenticar la solicitud. |
contextId |
string |
El ID del curso del que desea obtener los documentos. |
page |
integer |
La página con la que desea comenzar (comienza en 1). |
pageSize |
integer |
La cantidad de |
startYear |
integer |
El año en el que desea comenzar. |
startMonth |
integer |
El mes en el que desea comenzar. (Los meses se cuentan a partir de 1: enero es 1 y diciembre es 12.) |
endYear |
integer |
El año en el que desea terminar. |
endMonth |
integer |
El mes en el que desea terminar. (Los meses se cuentan a partir de 1: enero es 1 y diciembre es 12.) |
Datos JSON de ejemplo:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc","contextId": "362","page": 10,"pageSize": 12"startYear": 2022,"startMonth": 4,"endYear": 2023,"endMonth": 5}
5.2.3 - GET /course/exportCourseReport
Descargue un informe de curso del curso asociado.
URL de ejemplo: https://panorama.yuja.com/api/course/exportCourseReport
Parámetros:
Nombre |
Tipo |
Descripción |
|---|---|---|
authenticationToken |
string |
El token de autenticación del usuario. Se utiliza para autenticar la solicitud. |
contextId |
string |
El contextId del curso del que desea obtener el informe. |
string |
El correo electrónico que recibirá el informe. |
|
fileType |
string |
El tipo de archivo en el que desea obtener el informe. Opciones: "Excel" o "JSON" |
startYear |
integer |
El año en el que desea comenzar. |
startMonth |
integer |
El mes en el que desea comenzar. (Los meses se cuentan a partir de 1: enero es 1 y diciembre es 12.) |
endYear |
integer |
El año en el que desea terminar. |
endMonth |
integer |
El mes en el que desea terminar. (Los meses se cuentan a partir de 1: enero es 1 y diciembre es 12.) |
Datos JSON de ejemplo:
{"authenticationToken": "1126c18a-ec75-4a11-8ccc-566146f94tcc","contextId": "202""email": "mathew.tyler@yuja.com","fileType": "Excel","startYear": 2022,"startMonth": 4,"endYear": 2023,"endMonth": 5}
6 - Modelo de documento
El modelo de documento recupera información que indica el estado de los documentos y sus formatos alternativos.
6.1 - Puntos de conexión principales del modelo de documento
Variable |
Tipo |
Descripción |
|---|---|---|
accessibilityFormats |
Array<ConversionFormat> |
Una lista de formatos alternativos del documento y del estado de procesamiento en que se encuentra cada uno. |
errorInterceptingDocument |
boolean |
Un valor booleano que indica si el documento tuvo o no un error durante su recuperación desde el LMS. |
accessibilityReportInfo |
AccessibilityReportInfo |
Información relacionada con el informe de accesibilidad del documento. Solo está disponible con los permisos suficientes. |
fileTypeNotSupported |
boolean |
Un valor booleano que indica si el documento es de un tipo de archivo compatible con Panorama. |
uploadedByStudent |
boolean |
Un valor booleano que indica si el documento fue cargado por un estudiante. |
formatsHiddenFromStudents |
boolean |
Un valor booleano que indica si los formatos alternativos del documento están ocultos para los estudiantes. |
sourceDocumentUnavailable |
boolean |
Un valor booleano que indica si el documento tuvo o no un error durante la recuperación del archivo de origen. |
documentExpired |
boolean |
Un valor booleano que indica si el documento ha caducado o no. |
documentId |
string |
Un institutionId único generado por el sistema. |
documentFormat |
string |
El tipo de extensión del documento. |
documentName |
string |
El nombre del documento. |
documentType |
String |
El tipo de documento. |
documentSource |
string |
El origen del documento. |
6.2 - Puntos de conexión principales del modelo de documento
Método |
Ruta |
Descripción |
Nivel de acceso requerido |
|---|---|---|---|
POST |
/api/documentDetails |
Recupera todos los detalles de un documento específico. |
Instructor para acceso completo a la API y estudiante para acceso limitado. |
POST |
/api/generateFormat |
Genera un formato alternativo o un informe de accesibilidad para un documento específico. |
Instructor para acceso completo a la API y estudiante para acceso limitado. |
POST |
/api/downloadFormatUrl |
Recupera una URL de descarga que se puede utilizar para descargar un formato alternativo de un documento específico. |
Instructor para acceso completo a la API y estudiante para acceso limitado. |
6.2.1 - POST /api/documentDetails
Recupera todos los detalles de un documento específico.
URL de ejemplo: https://panorama-api.yuja.com/api/documentDetails
Parámetros:
Nombre |
Tipo |
Descripción |
|---|---|---|
identifierKey |
string |
El identifierKey principal de su institución. |
extensionToken |
string |
Su token de autenticación. Se utiliza para autenticar la solicitud. |
documentId |
string |
Un ID único del documento que se puede obtener de la API de documentos de curso paginados de la sección 5.2.2. |
Datos JSON de ejemplo:
{
"identifierKey": "3b7a63c37e8c860bbb05bb550c5c1f0e817c2aad73056efd87bc848545a7f1j4",
"extensionToken": "1127c11a-eb75-4a41-8ccc-566646f94blc",
"documentId": "fcb6e196-b807-480d-9030-c29413e5bc2f1"
}
6.2.2 - POST /api/generateFormat
Genera un formato alternativo o un informe de accesibilidad para un documento específico.
URL de ejemplo: https://panorama-api.yuja.com/api/generateFormat
Nota: El identifierKey y el extensionToken deben establecerse como parámetros de consulta (Query Params). El identifierKey debe establecerse como Key y el extensionToken debe establecerse como Value.
Parámetros:
Nombre |
Tipo |
Descripción |
|---|---|---|
identifierKey |
string |
El identifierKey principal de su institución. |
extensionToken |
string |
Su token de autenticación. Se utiliza para autenticar la solicitud. |
documentId |
string |
El ID único del documento. |
type |
string |
Elija si desea generar ("generate") o reprocesar ("reprocess") el documento. Opciones válidas: generate: genera el formato alternativo si no está disponible. reprocess: vuelve a procesar el formato alternativo si ya se generó. |
format |
string |
El formato alternativo que desea generar o reprocesar. Opciones válidas: enhanced_html report source base immersive_html gradient_txt txt epub brf mp3 png math_latex math_txt math_mp3 ocr_pdf ocr_reconstructed_docx ocr_txt ocr_mp3 |
language |
string |
El idioma en el que se genera el formato alternativo.
Si no se necesita traducción, este campo debe enviarse de la siguiente manera: default
Si se necesita una traducción, establezca este campo con el código del idioma. Ejemplos: Para francés canadiense, este campo debe ser: fr-ca
Para griego, este campo debe ser: el |
documentType |
string |
El origen del documento devuelto por la API de detalles del documento en la sección 6.2.1. |
documentSource |
string |
El origen del documento devuelto por la API de detalles del documento en la sección 6.2.1. |
Datos JSON de ejemplo:
{
"identifierKey": "3b7a63c37e8c860bbb05bb550c5c1f0e817c2aad73056efd87bc848545a7f1j4",
"extensionToken": "1127c11a-eb75-4a41-8ccc-566646f94blc",
"documentId": "fcb6e196-b807-480d-9030-c29413e5bc2f1",
"type": "generate",
"format": "pdf",
"language": "el",
"documentType": "discussion",
"documentSource": "lms"
}
6.2.3 - POST /api/downloadFormatUrl
URL de ejemplo: https://panorama-api.yuja.com/api/downloadFormatUrl
Nota: La URL de descarga devuelta solo estará disponible durante una hora, y este formato debe haberse generado previamente y tener el estado de completado al consultar su estado en los detalles del documento.
Parámetros:
Nombre |
Tipo |
Descripción |
|---|---|---|
identifierKey |
string |
El identifierKey principal de su institución. |
extensionToken |
string |
Su token de autenticación. Se utiliza para autenticar la solicitud. |
documentId |
string |
El ID único del documento |
format |
string |
El formato alternativo que desea descargar. Opciones válidas: enhanced_html report source base immersive_html gradient_txt txt epub brf mp3 png math_latex math_txt math_mp3 ocr_pdf ocr_reconstructed_docx ocr_txt ocr_mp3 |
language |
string |
El idioma en el que se genera el formato alternativo.
Si no se necesita traducción, este campo debe enviarse de la siguiente manera: default
Si se necesita una traducción, establezca este campo con el código del idioma. Ejemplo: Para francés canadiense, este campo debe ser: fr-ca
Para griego, este campo debe ser: el |
Datos JSON de ejemplo:
{
"identifierKey": "3b7a63c37e8c860bbb05bb550c5c1f0e817c2aad73056efd87bc848545a7f1j4", "extensionToken": "1127c11a-eb75-4a41-8ccc-566646f94blc",
"documentId": "fcb6e196-b807-480d-9030-c29413e5bc2f1",
"format": "pdf",
"language": "el"
}
7 - Carga de un documento en DocHub
Los usuarios pueden cargar un documento en DocHub de forma programática, sin usar el portal de YuJa Panorama. Los archivos cargados llegan a la raíz de DocHub del usuario que realiza la llamada y se ponen automáticamente en cola para la generación de formatos accesibles.
7.1.1 - POST /getPresignedUploadUrl
Solicite una URL de carga prefirmada.
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| authenticationToken | string | Sí | El token de autenticación del usuario. |
| filename | string | Sí | Nombre base del archivo sin extensión. |
| format | string | Sí | Extensión del archivo sin el punto (consulte la lista de extensiones admitidas). |
| fileSize | number | Sí | Tamaño del archivo en bytes. Debe ser ≤ 1 GB. |
Solicitud JSON de ejemplo:
{
"authenticationToken": "<authenticationToken>",
"filename": "Course-Syllabus-Fall-2026",
"format": "pdf",
"fileSize": 2457600
}
Respuesta JSON de ejemplo:
{
"url": "https://<bucket>.s3.<region>.amazonaws.com/",
"fields": {
"key": "my-content/institutions/<institutionId>/documents/<documentId>/file.<format>",
"bucket": "<bucket>",
"X-Amz-Algorithm": "AWS4-HMAC-SHA256",
"X-Amz-Credential": "...",
"X-Amz-Date": "...",
"Policy": "<base64-policy>",
"X-Amz-Signature": "..."
},
"documentId": "<uuid>",
"fileKey": "my-content/institutions/<institutionId>/documents/<documentId>/file.<format>"
}
7.1.2 - Cargue el archivo en S3
Cargue el blob del archivo en S3: envíe el archivo mediante POST a la "url" de 7.1.1 como solicitud multipart/form-data. El orden de las partes del formulario es importante; S3 exige que el archivo vaya al final.
Notas:
- "url" y "fields" son un POST prefirmado de AWS. Debe utilizarlos exactamente como se devuelven.
- Conserve "documentId" y "fileKey"; los pasará a "processFile" en 7.1.3.
- El POST prefirmado es válido durante una hora.
Una carga correcta devuelve HTTP 204 con un cuerpo vacío.
7.1.3 - POST /api/myContent/processFile
Esta solicitud POST le indica a YuJa Panorama que procese el archivo.
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| authenticationToken | string | Sí | El token de autenticación del usuario. |
| documentId | string | Sí | El documentId devuelto en 7.1.1. |
| fileKey | string | Sí | El fileKey devuelto en 7.1.1. |
Solicitud JSON de ejemplo:
{
"authenticationToken": "<authenticationToken>",
"documentId": "3f8c2a1e-7b4d-4e9a-9c61-2d5f8e0b7a34",
"fileKey": "my-content/institutions/<institutionId>/documents/3f8c2a1e-7b4d-4e9a-9c61-2d5f8e0b7a34/file.pdf"
}