Autenticação
Toda chamada da API exige um token de autenticação no corpo ou na consulta da requisição. Quando você está conectado, é possível encontrar o seu token clicando na extensão do navegador Panorama. Na sua requisição, nomeie este parâmetro como authentication Token.
Transporte e codificação
A API atual oferece suporte somente ao formato de dados JSON. Recomenda-se especificar application/json como o cabeçalho aceito, mas isso não é obrigatório.
URL base da API
A URL base da API Panorama depende da zona em que a sua instituição está registrada. Se você não tiver certeza de qual é a zona da sua instituição, entre em contato com o seu gerente de conta. Por protocolos de segurança, somente o acesso por https é permitido.
Para os modelos de usuário, instituição, curso, período e subconta:
Zona dos Estados Unidos: https://panorama.yuja.com/api
Zona do Canadá: https://panorama-cz.yuja.com/api
Zona da Europa: https://panorama-ez.yuja.com/api
Zona da Austrália: https://panorama-az.yuja.com/api
Para os modelos de documento:
Zona dos Estados Unidos: https://panorama-api.yuja.com/
Zona do Canadá: https://panorama-api-cz.yuja.com/
Zona da Europa: https://panorama-api-ez.yuja.com/
Zona da Austrália: https://panorama-api-az.yuja.com/
Códigos de resposta da API REST
| Código de status | Significado |
| 200 | OK |
| 201 | Criado |
| 204 | Sem conteúdo |
| 400 | Requisição inválida |
| 401 | Não autorizado |
| 403 | Proibido |
| 404 | Não encontrado |
| 500 | Erro interno do servidor |
| 502 | Gateway inválido |
Modelos
A API Panorama é dividida em vários modelos, cada um representando uma entidade diferente, como cursos ou documentos. Os modelos abaixo podem não incluir todos os campos disponíveis e mostram apenas os campos principais de cada modelo.
1 - Visão geral da API do modelo de usuário
O modelo de usuário representa todas as pessoas associadas ao token de acesso fornecido ou que fazem parte da instituição.
1.1 - Campos principais do modelo de usuário
| Variável | Tipo | Descrição |
| userId | string | Um userId exclusivo gerado pelo sistema. |
| lmsUserId | string | O userId que o seu LMS gerou para o usuário. |
| string | O endereço de e-mail do usuário. | |
| firstName | string | O nome do usuário. |
| lastName | string | O sobrenome do usuário. |
| role | string | A função do usuário no sistema. |
| locked | boolean | Indica se a função do sistema deste usuário está bloqueada ou não. |
1.2 - Principais endpoints
| Método | Caminho | Descrição | Nível de acesso necessário |
| GET | /user/getUser | Recupera o usuário atual associado ao token de acesso fornecido. | Estudante |
| GET | /user/getPaginatedUsers | Recupera uma matriz de usuários da sua instituição. | Administrador |
| POST | /user/updateUserInfo | Atualiza o nome, o sobrenome e o endereço de e-mail do usuário. | Administrador |
1.2.1 - GET /user/getUser
Recupera o usuário atual associado ao token de acesso fornecido.
URL de exemplo: https://panorama.yuja.com/api/user/getUser
Parâmetro:
Nome |
Tipo |
Descrição |
|---|---|---|
authenticationToken |
string |
O token de autenticação do usuário. Usado para autenticar a requisição. |
Dados JSON de exemplo:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tvc"}
1.2.2 - GET /user/getPaginatedUsers
Recupera uma matriz de usuários da sua instituição.
URL de exemplo: https://panorama.yuja.com/api/user/getPaginatedUsers
Parâmetros:
Nome |
Tipo |
Descrição |
|---|---|---|
authenticationToken |
string |
O token de autenticação do usuário. Usado para autenticar a requisição. |
page |
integer |
Um userId exclusivo gerado pelo sistema. |
pageSize |
integer |
O número de registros a receber em cada página. |
Requisição JSON de exemplo:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc","page": 2,"pageSize": 10}
1.2.3 - POST /user/updateUserInfo
Atualiza o nome, o sobrenome e o endereço de e-mail do usuário.
URL de exemplo: https://panorama.yuja.com/api/user/updateUserInfo
Parâmetros:
Nome |
Tipo |
Descrição |
|---|---|---|
authenticationToken |
string |
O token de autenticação do usuário. Usado para autenticar a requisição. |
userId |
string |
O userId exclusivo do usuário que está sendo atualizado. |
firstName |
string |
O nome do usuário. |
| lastName | string | O sobrenome do usuário. |
| string | O endereço de e-mail do usuário. |
Requisição JSON de exemplo:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc","userId": "2ffdc6e2-b250-4c53-b706-d4e2856beaeb","firstName": "Lauren","lastName": Barnes","email": "lauren.barnes@mail.utoronto.ca"}
2 - Visão geral da API do modelo de subconta
O modelo de subconta representa todas as subcontas disponíveis para a pessoa que acessa a API.
2.1 - Campos principais do modelo de subconta
Variável |
Tipo |
Descrição |
|---|---|---|
subAccountId |
string |
Um subAccountId exclusivo gerado pelo sistema. |
parentSubAccountId |
string |
Um subAccountId exclusivo gerado pelo sistema para a subconta pai da subconta. |
lmsSubAccountId |
string |
O subAccountId que o seu LMS gerou para a subconta. |
lmsParentSubAccountId |
string |
O subAccountId que o seu LMS gerou para a subconta pai da subconta. |
name |
string |
O nome da subconta. |
2.2 - Principais endpoints
Método |
Caminho |
Descrição |
Nível de acesso necessário |
|---|---|---|---|
GET |
/subAccount/getPaginatedSubAccounts |
Recupera uma lista das subcontas da sua instituição às quais você tem acesso. |
Subadministrador |
2.2.1 - GET /subAccount/getPaginatedSubAccounts
Recupera uma lista das subcontas da sua instituição às quais você tem acesso.
URL de exemplo: https://panorama.yuja.com/api/subAccount/getPaginatedSubAccounts
Parâmetros:
Nome |
Tipo |
Descrição |
|---|---|---|
authenticationToken |
string |
O token de autenticação do usuário. Usado para autenticar a requisição. |
page |
integer |
A página inicial (começa em 1). |
pageSize |
integer |
O número de registros a receber em cada página. |
Dados JSON de exemplo:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc","page": 2,"pageSize": 10}
3 - Visão geral da API do modelo de período
O modelo de período representa todos os períodos disponíveis para a pessoa que acessa a API.
3.1 - Campos principais do modelo de período
Variável |
Tipo |
Descrição |
|---|---|---|
termId |
string |
Um termId exclusivo gerado pelo sistema. |
lmsTermId |
string |
O termId que o seu LMS gerou para o período. |
name |
string |
O nome da subconta. |
start |
Date |
A data de início do período. |
end |
Date |
A data de término do período. |
3.2 - Principais endpoints do modelo de período letivo
Método |
Caminho |
Descrição |
Nível de acesso necessário |
|---|---|---|---|
GET |
/term/getPaginatedTerms |
Recupera uma matriz de períodos letivos da sua instituição. |
Instrutor |
3.2.1 - GET /term/getPaginatedTerms
URL de exemplo: https://panorama.yuja.com/api/term/getPaginatedTerms
Recupera uma matriz de períodos letivos da sua instituição.
Parâmetros:
Nome |
Tipo |
Descrição |
|---|---|---|
authenticationToken |
string |
O token de autenticação do usuário. Usado para autenticar a solicitação. |
page |
integer |
A página inicial (começa em 1). |
pageSize |
integer |
O número de registros a receber em cada página. |
Dados JSON de exemplo:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc","page": 2,"pageSize": 10}
4 - Visão geral da API do modelo de instituição
O modelo de instituição recupera informações às quais administradores e subadministradores têm acesso, como relatórios da instituição, relatórios de conteúdo e relatórios de problemas.
4.1 - Núcleo do modelo de instituição
Variável |
Tipo |
Descrição |
|---|---|---|
institutionId |
string |
Um institutionId exclusivo gerado pelo sistema. |
lmsType |
string |
O tipo de LMS associado à instituição (por exemplo, Canvas). |
name |
string |
O nome da instituição. |
primaryIdentifierKey |
string |
Uma chave identificadora exclusiva gerada pelo sistema. |
secondaryIdentifierKey |
string |
Uma chave identificadora secundária exclusiva gerada pelo sistema. |
consumerKey |
string |
Uma chave exclusiva gerada pelo sistema para ser usada com LTI 1.1. |
ltiSecret |
string |
Uma chave exclusiva gerada pelo sistema para ser usada com LTI 1.1. |
clientId |
string |
O ID do cliente associado à instituição. Usado para LTI 1.3. |
deploymentId |
string |
O ID de implantação associado a uma implantação LTI. Usado para LTI 1.3. |
iss |
string |
O emissor associado à instituição. Usado para LTI 1.3. |
OIDCEndpoint |
string |
O endpoint OIDC da instituição. Usado para LTI 1.3. |
JWKSEndpoint |
string |
O endpoint JWKS da instituição. Usado para LTI 1.3. |
domain |
string |
O domínio da instituição. |
lmsAPILink |
string |
O endpoint de API associado à instituição. |
accessToken |
string |
O token de acesso da instituição. Usado para solicitações de API à instituição. |
4.2 - Principais endpoints do modelo de instituição
Método |
Caminho |
Descrição |
Nível de acesso necessário |
|---|---|---|---|
GET |
/institution/getInstitutionInformation |
Recupera informações sobre a instituição associada à sua conta. |
Administrador |
GET |
/institution/exportInstitutionReport |
Baixa um relatório de acessibilidade da instituição associada. Pode ser filtrado por subcontas e períodos letivos aos quais você tem acesso. |
Subadministrador |
GET |
/content/exportContentReportData |
Baixa um relatório de conteúdo da instituição associada. Pode ser filtrado por subcontas e períodos letivos aos quais você tem acesso. |
Subadministrador |
GET |
/issue/exportIssuesReport |
Baixa o relatório de problemas da instituição associada. Pode ser filtrado por subcontas e períodos letivos aos quais você tem acesso. |
Subadministrador |
4.2.1 - GET /institution/getInstitutionInformation
Recupera informações sobre a instituição associada à sua conta.
URL de exemplo: https://panorama.yuja.com/api/institution/getInstitutionInformation
Parâmetros:
Nome |
Tipo |
Descrição |
|---|---|---|
authenticationToken |
string |
O token de autenticação do usuário. Usado para autenticar a solicitação. |
Dados JSON de exemplo:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc"}
4.2.2 - GET /institution/exportInstitutionReport
Envie por e-mail e baixe o relatório de acessibilidade do LMS. Este relatório pode ser filtrado por subcontas e períodos letivos, permitindo que você visualize todos os dados relevantes da sua instituição e dos seus cursos.
URL de exemplo: https://panorama.yuja.com/api/institution/exportInstitutionReport
Parâmetros:
Nome |
Tipo |
Descrição |
|---|---|---|
authenticationToken |
string |
O token de autenticação do usuário. Usado para autenticar a solicitação. |
subAccountId |
string |
O ID da subconta pelo qual você gostaria de filtrar o relatório. Opcional. |
terms |
array |
O ID e o nome do período letivo pelos quais você gostaria de filtrar o relatório. Opcional. |
string |
O e-mail que receberá o relatório. |
|
shouldEmail |
Boolean |
O relatório será enviado por e-mail ao usuário se definido como "true". |
fileType |
string |
O tipo de arquivo em que você deseja o relatório. Opções: "Excel" ou "JSON" |
startYear |
integer |
O ano em que você gostaria de começar. |
startMonth |
integer |
O mês em que você gostaria de começar. (A contagem dos meses começa em 1, sendo janeiro 1 e dezembro 12.) |
endYear |
integer |
O ano em que você gostaria de terminar. |
endMonth |
integer |
O mês em que você gostaria de terminar. (A contagem dos meses começa em 1, sendo janeiro 1 e dezembro 12.) |
Dados JSON de exemplo:
{"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
Baixa um relatório de conteúdo da instituição associada, com a opção de filtrar por subcontas e períodos letivos aos quais você tem acesso.
URL de exemplo: https://panorama.yuja.com/api/content/exportContentReportData
Parâmetros:
Nome |
Tipo |
Descrição |
|---|---|---|
authenticationToken |
string |
O token de autenticação do usuário. Usado para autenticar a solicitação. |
subAccountId |
string |
O ID da subconta pelo qual você gostaria de filtrar o relatório. Opcional. |
termId |
string |
O ID do período letivo pelo qual você gostaria de filtrar o relatório. Opcional. |
string |
O e-mail que receberá o relatório. |
|
shouldEmail |
Boolean |
O relatório será enviado por e-mail ao usuário se definido como "true". |
fileType |
string |
O tipo de arquivo em que você deseja o relatório. Opções: "Excel" ou "JSON" |
startYear |
integer |
O ano em que você gostaria de começar. |
startMonth |
integer |
O mês em que você gostaria de começar. (A contagem dos meses começa em 1, sendo janeiro 1 e dezembro 12.) |
endYear |
integer |
O ano em que você gostaria de terminar. |
endMonth |
integer |
O mês em que você gostaria de terminar. (A contagem dos meses começa em 1, sendo janeiro 1 e dezembro 12.) |
Dados JSON de exemplo:
{"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
Baixe o relatório de problemas da instituição associada. Ele pode ser filtrado por subcontas e períodos letivos aos quais você tem acesso.
URL de exemplo: https://panorama.yuja.com/api/issue/exportIssuesReport
Parâmetros:
Nome |
Tipo |
Descrição |
|---|---|---|
authenticationToken |
string |
O token de autenticação do usuário. Usado para autenticar a solicitação. |
subAccountId |
string |
O ID da subconta pela qual você gostaria de filtrar o relatório. Opcional. |
termId |
string |
O ID do período letivo pelo qual você gostaria de filtrar o relatório. Opcional. |
string |
O e-mail que receberá o relatório. |
|
fileType |
string |
O tipo de arquivo no qual você deseja o relatório. Opções: "Excel" ou "JSON" |
startYear |
integer |
O ano em que você gostaria de começar. |
startMonth |
integer |
O mês em que você gostaria de começar. (A contagem dos meses começa em 1, sendo janeiro 1 e dezembro 12.) |
endYear |
integer |
O ano em que você gostaria de terminar. |
endMonth |
integer |
O mês em que você gostaria de terminar. (A contagem dos meses começa em 1, sendo janeiro 1 e dezembro 12.) |
Exemplo de dados JSON:
{"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 - Visão geral da API do modelo de curso
O modelo de curso recupera cursos e relatórios de curso
5.1 - Núcleo do modelo de curso
Variável |
Tipo |
Descrição |
|---|---|---|
contextId |
string |
O ID do curso que o seu LMS gerou para o curso. |
name |
string |
O nome do curso. |
5.2 - Principais endpoints do modelo de curso
Método |
Caminho |
Descrição |
Nível de acesso necessário |
|---|---|---|---|
GET |
/course/getPaginatedCourses |
Recupera uma matriz de cursos da sua instituição aos quais você tem acesso. |
Instrutor |
GET |
/document/getPaginatedCourseDocuments |
Recupera uma matriz de documentos de um curso. |
Instrutor |
GET |
/course/exportCourseReport |
Baixa um relatório de curso do curso associado. |
Administrador |
5.2.1 - GET /course/getPaginatedCourses
Recupera uma matriz de cursos da sua instituição aos quais você tem acesso.
URL de exemplo: https://panorama.yuja.com/api/course/getPaginatedCourses
Parâmetros:
Nome |
Tipo |
Descrição |
|---|---|---|
authenticationToken |
string |
O token de autenticação do usuário. Usado para autenticar a solicitação. |
page |
integer |
A página em que começar (começa em 1). |
pageSize |
integer |
O número de registros a receber em cada página. |
Exemplo de dados JSON:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc","page": 2,"pageSize": 10}
5.2.2 - GET /document/getPaginatedCourseDocuments
Recupera uma matriz de documentos de um curso.
URL de exemplo: https://panorama.yuja.com/api/document/getPaginatedCourseDocuments
Parâmetros:
Nome |
Tipo |
Descrição |
|---|---|---|
authenticationToken |
string |
Seu token de autenticação. Usado para autenticar a solicitação. |
contextId |
string |
O ID do curso do qual você gostaria de obter os documentos. |
page |
integer |
A página em que você gostaria de começar (começa em 1). |
pageSize |
integer |
O número de |
startYear |
integer |
O ano em que você gostaria de começar. |
startMonth |
integer |
O mês em que você gostaria de começar. (A contagem dos meses começa em 1, sendo janeiro 1 e dezembro 12.) |
endYear |
integer |
O ano em que você gostaria de terminar. |
endMonth |
integer |
O mês em que você gostaria de terminar. (A contagem dos meses começa em 1, sendo janeiro 1 e dezembro 12.) |
Exemplo de dados JSON:
{"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
Baixe um relatório de curso do curso associado.
URL de exemplo: https://panorama.yuja.com/api/course/exportCourseReport
Parâmetros:
Nome |
Tipo |
Descrição |
|---|---|---|
authenticationToken |
string |
O token de autenticação do usuário. Usado para autenticar a solicitação. |
contextId |
string |
O contextId do curso do qual você gostaria de obter o relatório. |
string |
O e-mail que receberá o relatório. |
|
fileType |
string |
O tipo de arquivo no qual você deseja o relatório. Opções: "Excel" ou "JSON" |
startYear |
integer |
O ano em que você gostaria de começar. |
startMonth |
integer |
O mês em que você gostaria de começar. (A contagem dos meses começa em 1, sendo janeiro 1 e dezembro 12.) |
endYear |
integer |
O ano em que você gostaria de terminar. |
endMonth |
integer |
O mês em que você gostaria de terminar. (A contagem dos meses começa em 1, sendo janeiro 1 e dezembro 12.) |
Exemplo de dados JSON:
{"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
O modelo de documento recupera informações que indicam o status dos documentos e de seus formatos alternativos.
6.1 - Principais endpoints do modelo de documento
Variável |
Tipo |
Descrição |
|---|---|---|
accessibilityFormats |
Array<ConversionFormat> |
Uma lista de formatos alternativos do documento e em qual estado de processamento eles estão. |
errorInterceptingDocument |
boolean |
Um booleano que indica se o documento teve ou não um erro durante a recuperação do LMS. |
accessibilityReportInfo |
AccessibilityReportInfo |
Informações sobre o relatório de acessibilidade do documento. Disponível somente com permissões suficientes. |
fileTypeNotSupported |
boolean |
Um booleano que indica se o documento é ou não de um tipo de arquivo compatível com o Panorama. |
uploadedByStudent |
boolean |
Um booleano que indica se o documento foi ou não enviado por um estudante. |
formatsHiddenFromStudents |
boolean |
Um booleano que indica se os formatos alternativos do documento estão ou não ocultos para os estudantes. |
sourceDocumentUnavailable |
boolean |
Um booleano que indica se o documento teve ou não um erro durante a recuperação do arquivo de origem. |
documentExpired |
boolean |
Um booleano que indica se o documento expirou ou não. |
documentId |
string |
Um institutionId exclusivo gerado pelo sistema. |
documentFormat |
string |
O tipo de extensão do documento. |
documentName |
string |
O nome do documento. |
documentType |
String |
O tipo do documento. |
documentSource |
string |
A origem do documento. |
6.2 - Principais endpoints do modelo de documento
Método |
Caminho |
Descrição |
Nível de acesso necessário |
|---|---|---|---|
POST |
/api/documentDetails |
Recupera todos os detalhes de um documento especificado. |
Instrutor para acesso total à API e estudante para acesso limitado. |
POST |
/api/generateFormat |
Gera um formato alternativo ou um relatório de acessibilidade para um documento especificado. |
Instrutor para acesso total à API e estudante para acesso limitado. |
POST |
/api/downloadFormatUrl |
Recupera uma URL de download que pode ser usada para baixar um formato alternativo de um documento especificado. |
Instrutor para acesso total à API e estudante para acesso limitado. |
6.2.1 - POST /api/documentDetails
Recupera todos os detalhes de um documento especificado.
URL de exemplo: https://panorama-api.yuja.com/api/documentDetails
Parâmetros:
Nome |
Tipo |
Descrição |
|---|---|---|
identifierKey |
string |
O identifierKey principal da sua instituição. |
extensionToken |
string |
Seu token de autenticação. Usado para autenticar a solicitação. |
documentId |
string |
Um ID exclusivo do documento, que pode ser obtido na API paginada de documentos do curso, na seção 5.2.2. |
Exemplo de dados JSON:
{
"identifierKey": "3b7a63c37e8c860bbb05bb550c5c1f0e817c2aad73056efd87bc848545a7f1j4",
"extensionToken": "1127c11a-eb75-4a41-8ccc-566646f94blc",
"documentId": "fcb6e196-b807-480d-9030-c29413e5bc2f1"
}
6.2.2 - POST /api/generateFormat
Gera um formato alternativo ou um relatório de acessibilidade para um documento especificado.
URL de exemplo: https://panorama-api.yuja.com/api/generateFormat
Observação: O identifierKey e o extensionToken devem ser definidos como Query Params. O identifierKey deve ser definido como Key, e o extensionToken deve ser definido como Value.
Parâmetros:
Nome |
Tipo |
Descrição |
|---|---|---|
identifierKey |
string |
O identifierKey principal da sua instituição. |
extensionToken |
string |
Seu token de autenticação. Usado para autenticar a solicitação. |
documentId |
string |
O ID exclusivo do documento. |
type |
string |
Escolha se você deseja gerar (“generate”) ou reprocessar (“reprocess”) o documento. Opções válidas: generate: gera o formato alternativo, se ele não estiver disponível. reprocess: reprocessa o formato alternativo, se ele já tiver sido gerado. |
format |
string |
O formato alternativo que você deseja gerar ou reprocessar. Opções 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 |
O idioma em que o formato alternativo é gerado.
Se não for necessária tradução, este campo deve ser enviado como: default
Se for necessária tradução, defina este campo com o código do idioma. exemplos: Para francês canadense, este campo deve ser: fr-ca
Para grego, este campo deve ser: el |
documentType |
string |
A origem do documento retornada pela API de detalhes do documento na seção 6.2.1. |
documentSource |
string |
A origem do documento retornada pela API de detalhes do documento na seção 6.2.1. |
Exemplo de dados JSON:
{
"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 exemplo: https://panorama-api.yuja.com/api/downloadFormatUrl
Observação: A URL de download retornada ficará disponível por apenas uma hora, e esse formato deve ter sido gerado anteriormente e estar com o status concluído ao visualizar seu status nos detalhes do documento.
Parâmetros:
Nome |
Tipo |
Descrição |
|---|---|---|
identifierKey |
string |
O identifierKey principal da sua instituição. |
extensionToken |
string |
Seu token de autenticação. Usado para autenticar a solicitação. |
documentId |
string |
O ID exclusivo do documento |
format |
string |
O formato alternativo que você deseja baixar. Opções 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 |
O idioma em que o formato alternativo é gerado.
Se não for necessária tradução, este campo deve ser enviado como: default
Se for necessária tradução, defina este campo com o código do idioma. exemplo: Para francês canadense, este campo deve ser: fr-ca
Para grego, este campo deve ser: el |
Exemplo de dados JSON:
{
"identifierKey": "3b7a63c37e8c860bbb05bb550c5c1f0e817c2aad73056efd87bc848545a7f1j4", "extensionToken": "1127c11a-eb75-4a41-8ccc-566646f94blc",
"documentId": "fcb6e196-b807-480d-9030-c29413e5bc2f1",
"format": "pdf",
"language": "el"
}
7 - Upload de um documento no DocHub
Os usuários podem enviar um documento ao DocHub de forma programática, sem usar o portal YuJa Panorama. Os arquivos enviados ficam na raiz do DocHub do usuário que fez a chamada e entram automaticamente na fila para geração de formatos acessíveis.
7.1.1 - POST /getPresignedUploadUrl
Solicite uma URL de upload pré-assinada.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| authenticationToken | string | Sim | O token de autenticação do usuário. |
| filename | string | Sim | Nome-base do arquivo sem extensão. |
| format | string | Sim | Extensão do arquivo sem o ponto (consulte a lista de formatos compatíveis). |
| fileSize | number | Sim | Tamanho do arquivo em bytes. Deve ser ≤ 1 GB. |
Exemplo de solicitação JSON:
{
"authenticationToken": "<authenticationToken>",
"filename": "Course-Syllabus-Fall-2026",
"format": "pdf",
"fileSize": 2457600
}
Exemplo de resposta JSON:
{
"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 - Enviar o arquivo para o S3
Envie o blob do arquivo para o S3: faça um POST do arquivo para a "url" da seção 7.1.1 como uma solicitação multipart/form-data. A ordem das partes do formulário importa; o S3 exige que o arquivo venha por último.
Observações:
- "url" e "fields" são um POST pré-assinado da AWS. Você precisará usá-los exatamente como foram retornados.
- Guarde "documentId" e "fileKey"; você os passará para "processFile" na seção 7.1.3.
- O POST pré-assinado é válido por uma hora.
Um upload bem-sucedido retorna HTTP 204 com corpo vazio.
7.1.3 - POST /api/myContent/processFile
Esta solicitação POST instrui o YuJa Panorama a processar o arquivo.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| authenticationToken | string | Sim | O token de autenticação do usuário. |
| documentId | string | Sim | O documentId retornado na seção 7.1.1. |
| fileKey | string | Sim | O fileKey retornado na seção 7.1.1. |
Exemplo de solicitação JSON:
{
"authenticationToken": "<authenticationToken>",
"documentId": "3f8c2a1e-7b4d-4e9a-9c61-2d5f8e0b7a34",
"fileKey": "my-content/institutions/<institutionId>/documents/3f8c2a1e-7b4d-4e9a-9c61-2d5f8e0b7a34/file.pdf"
}