Pontos de extremidade da API de relatórios
Pontos de extremidade da API de relatórios
Atenção
Os pontos de extremidade incluídos na API de relatórios são privados e não vêm com uma política de depreciação no momento. O Anthology Ally pode alterar ou atualizar esses pontos de extremidade conforme as nossas estratégias ou de versões futuras.
Analise a documentação técnica a seguir para saber como configurar e personalizar adequadamente os pontos de extremidade. Verifique como integrar a API do Ally a uma ferramenta externa de relatórios para ter mais orientação.
Métodos disponíveis
A API do Ally para relatórios tem dois métodos. A seção a seguir os descreve:
Método | URL | Tipo de Solicitação HTTP | Descrição |
Geral | https://[region]/api/v2/clients/[Ally Client ID]/reports/overall | Obter | Por padrão, esse método retorna um conjunto de dados com informações sobre o curso, WYSIWYG, além das pontuações e dos tipos de arquivos incluídos em cada curso a partir da instância LMS, não importa e o Ally estar habilitado ou não. |
Problemas | https://[region]/api/v2/clients/[Ally Client ID]/reports/issues | Obter | Por padrão, este método retorna um conjunto de dados com as informações relacionadas a todos os problemas de acessibilidade que ocorrem em cada curso, incluídos na instância do LMS, não importa e o Ally estar habilitado ou não. |
Dica
Substitua [Código do Cliente Ally] pelo seu código Ally. Se você não souber seu código, crie um chamado de suporte para solicitá-lo.
Dica
Substitua a [Region] conforme a região em que o ambiente Ally da sua instituição está hospedado:
Centro de dados dos EUA: prod.ally.ac
Centro de dados canadense: prod-ca-central-1.ally.ac
Centro de dados europeu: prod-eu-central-1.ally.ac
Centro de dados de Singapura: prod-ap-southeast-1.ally.ac
Centro de dados australiano: prod-ap-southeast-2.ally.ac
Resposta de Status HTTP
A API do Ally inclui um campo de status nos metadados da seguinte maneira:
Status 200 - Bem-sucedido: Sua solicitação foi recebida com sucesso e o conjunto de dados solicitado faz parte da resposta.
Status 202 - Processamento: Sua solicitação foi recebida com sucesso, mas o conjunto de dados está em preparação e ainda não está disponível. Repita a solicitação após algum tempo (recomenda-se pelo menos um minuto).
Status 401 - Não autorizado: O Código do Cliente Ally ou o código de autorização não estão corretos.
Status 400 - Solicitação ruim: A URL tem um nome de parâmetro inválido, por exemplo, uma opção, operador ou valor de filtro desconhecido. Analise a sintaxe da URL. Lembre-se que algumas opções de filtro e ordenação são sensíveis a maiúsculas e minúsculas.
Documentação de Métodos
Método: Geral
Solicitação HTTP: GET
https://[Region]/api/v2/clients/[Ally Client ID]/reports/overall
Substitua [Código do Cliente Ally] pelo seu código Ally. Se você não souber seu código, crie um chamado de suporte para solicitá-lo.
Substitua a [Region] conforme a região em que o ambiente Ally da sua instituição está hospedado:
Centro de dados dos EUA: prod.ally.ac
Centro de dados canadense: prod-ca-central-1.ally.ac
Centro de dados europeu: prod-eu-central-1.ally.ac
Centro de dados de Singapura: prod-ap-southeast-1.ally.ac
Centro de dados australiano: prod-ap-southeast-2.ally.ac
Autorização: código do portador do OAuth.
Parâmetros: Filtros opcionais ou opções de classificação.
Corpo do Pedido: Nenhum
Resposta:
{
"data": [
{
"application/x-quiz": 2,
"observedDeletedOn": "",
"termName": "Fall 2016",
"courseId": "1",
"application/x-announcement": 0,
"image": 4,
"termId": "2",
"document": 93,
"allyEnabled": true,
"pdf": 74,
"courseCode": "BIO101",
"application/x-assignment": 0,
"departmentId": "1",
"totalFiles": 192,
"courseUrl": "https://ally.instructure.com/courses/1",
"departmentName": "Anthology Ally",
"application/x-page": 1,
"filesScore": 0.6022810739019293,
"application/x-syllabus": 1,
"numberOfStudents": 1,
"html-page": 5,
"lastCheckedOn": "2022-04-13 15:33:23",
"WYSIWYGScore": 1.0,
"totalWYSIWYG": 5,
"courseName": "Biology 101",
"application/x-discussion-topic": 1,
"other": 11,
"overallScore": 0.6129724428830603,
"presentation": 5
}
],
"metadata": {
"filteredTotal": 0,
"total": 7186,
"to": 7186,
"status": "Processing",
"from": 1
}
} Método: Problemas
Solicitação HTTP: GET
https://[Ally Client ID]/api/v2/clients/[Ally Client ID]/reports/overall
Substitua o código [Código de cliente do Ally] pelo seu código do Ally. Se você não souber seu código, crie um chamado de suporte para solicitá-lo.
Substitua a [Region] conforme a região em que o ambiente Ally da sua instituição está hospedado:
Centro de dados dos EUA: prod.ally.ac
Centro de dados canadense: prod-ca-central-1.ally.ac
Centro de dados europeu: prod-eu-central-1.ally.ac
Centro de dados de Singapura: prod-ap-southeast-1.ally.ac
Centro de dados australiano: prod-ap-southeast-2.ally.ac
Autorização: código do portador do OAuth
Parâmetros: Filtros opcionais ou opções de classificação.
Corpo do Pedido: Nenhum
Resposta:
{
"data": [
{
"imageDecorative2": 4,
"htmlEmptyHeading2": 0,
"imageSeizure1": 2,
"observedDeletedOn": "",
"htmlObjectAlt2": 0,
"security1": 3,
"termName": "Fall 2016",
"courseId": "1",
"languageCorrect3": 14,
"htmlColorContrast2": 2,
"htmlLinkName3": 0,
"termId": "2",
"languagePresence3": 10,
"allyEnabled": true,
"htmlLabel2": 0,
"alternativeText2": 68,
"htmlImageAlt2": 0,
"htmlImageRedundantAlt3": 0,
"headingsPresence2": 20,
"courseCode": "BIO101",
"headingsSequential3": 4,
"departmentId": "1",
"htmlHeadingsPresence2": 0,
"courseUrl": "https://ally.instructure.com/courses/1",
"headingsStartAtOne3": 4,
"departmentName": "Anthology Ally",
"htmlHeadingsStart2": 0,
"htmlTdHasHeader2": 0,
"htmlList3": 0,
"htmlDefinitionList3": 0,
"htmlCaption2": 0,
"tableHeaders2": 23,
"htmlEmptyTableHeader2": 0,
"htmlHasLang3": 1,
"ocred2": 0,
"scanned1": 6,
"htmlBrokenLink2": 0,
"numberOfStudents": 1,
"htmlHeadingOrder3": 0,
"lastCheckedOn": "2022-04-13 15:33:23",
"headingsHigherLevel3": 0,
"contrast2": 28,
"title3": 46,
"imageOcr3": 0,
"tagged2": 4,
"libraryReference": 172,
"courseName": "Biology 101",
"imageContrast2": 0,
"imageDescription2": 4,
"htmlTitle3": 1,
"parsable1": 2
}
],
"metadata": {
"filteredTotal": 0,
"total": 7186,
"to": 7186,
"status": "Processing",
"from": 1
}
} Em que:
Data: contém o conjunto de dados dos resultados.
Metadados:
Para: registrar para quais dados serão buscados, "desvio" + "limite" ou "total" se a soma exceder o "total".
A partir de: registro que dá origem aos dados, "desvio" + 1.
Total: número total de cursos considerados pelo Ally na instância do LMS.
Deslocamento - de onde o disco começa
A primeira linha é deslocada = 0,
Quando desvio < 0, o usuário recebe o erro 400 – [Valor inválido (parâmetro=desvio, mensagem=Nenhum dado desse tipo)]
Quando (desvio <= total) o usuário recebe o erro 400 – [Valor inválido (parâmetro=desvio, mensagem=Nenhum dado desse tipo)]
Limite - quantos registros são recuperados a partir do desvio
Quando (limite < 1), o usuário recebe o erro 400 – [Valor inválido (parâmetro=limite, mensagem=Limite fora do escopo)]
Quando (limite > 10000) o usuário recebe o erro 400 - [Valor inválido (parâmetro=limite, mensagem=Limite fora do escopo)]
Quando (desvion < total && desvio + limite > total), mudamos o limite em segundo plano para você, e os dados serão recuperados até o final (total)
Filtros e opções de ordenação
As respostas do ponto de extremidade podem ser filtradas na URL. Esta seção descreve as opções disponíveis:
Opções de ordenação
Você pode definir se prefere exibir os resultados classificados em ordem crescente ou decrescente conforme um critério. Se você precisar adicionar uma opção de classificação, adicione o parâmetro de classificação conforme descrito abaixo:
endpoint-url?sort=<Sort parameter value>
Onde <valor do parâmetro Sort> pode ser qualquer um dos seguintes valores de parâmetro:
Valor do parâmetro | Descrição | Apoiado em | Exemplo: |
courseName | Ordene por nome do curso, por exemplo, Química 101 (courseCode não é válido) | Pontos de extremidade gerais e de problemas | endpoint-url?sort=courseName |
courseId | Ordene por código do curso, por exemplo, 123456 (isso geralmente é um número inteiro) | Pontos de extremidade gerais e de problemas | endpoint-url?sort=courseId |
termId | Classifique pelo código do período. Por exemplo, Sum | Pontos de extremidade gerais e de problemas | endpoint-url?sort=termId |
termName | Ordenar por nome do período. por exemplo, Verão | Pontos de extremidade gerais e de problemas | endpoint-url?sort=termName |
overallScore | Classifique pela pontuação geral de acessibilidade de cada curso. | Somente ponto de extremidade geral. | endpoint-url?sort=overallScore |
filesScore | Classifique os resultados pela pontuação do arquivo de cada curso. | Somente ponto de extremidade geral. | endpoint-url?sort=filesScore |
wysiwygScore | Classifique os resultados pela pontuação WYSIWYG de cada curso. | Ponto de extremidade geral e disponível apenas para o Ally para LMS. | endpoint-url?sort= wysiwygScore |
webPagesScore | Classifique os resultados pela pontuação da página da Web de cada domínio. | Ponto de extremidade geral, disponível apenas para o Ally para Web e WCM. | endpoint-url?sort= webPagesScore |
Nota
Os valores de parâmetro diferenciam maiúsculas e minúsculas, e somente uma opção de classificação pode ser utilizada por vez.
Por padrão, os resultados são classificados em ordem crescente. se quiser definir uma ordem diferente, pode adicionar o parâmetro de ordem:
endpoint-url?sort=<Sort parameter="" value="">&order=<Order value></Sort>
Onde <valor de ordem> pode ser: asc ou desc
Exemplo:
https://prod.ally.ac/api/v2/clients/0/issues?sort=courseName&order=desc
Opções de filtragem
Você pode utilizar as opções de filtragem para obter respostas menores ou reduzidas com base nos critérios selecionados. Se precisar adicionar uma opção de filtragem, deve adicionar o parâmetro de filtragem conforme descrito abaixo:
Parâmetros de Filtro (sem operador)
Nome do parâmetro do filtro | Descrição | Apoiado em |
allyEnabled | Você pode obter os cursos em que o Ally está ativo Valor é verdadeiro ou falso | Pontos de extremidade gerais e de problemas |
departamento | Filtrar pelo código do departamento | Pontos de extremidade gerais e de problemas |
departmentName | Filtre pelo nome do departamento. por exemplo, Engenharia | Pontos de extremidade gerais e de problemas |
termId | Filtrar pelo código do período | Pontos de extremidade gerais e de problemas |
termName | Filtre pelo nome do período. por exemplo, Verão | Pontos de extremidade gerais e de problemas |
courseId | Filtre pelo código ou por um curso. por exemplo, 123456 (isso geralmente é um número inteiro) | Pontos de extremidade gerais e de problemas |
courseName | Filtrar pelo nome de um curso. Por exemplo, Química 101 (courseCode não é válido) | Pontos de extremidade gerais e de problemas |
endpoint-url? <Filter parameter="">=<value></Filter>
Parâmetros do Filtro (com operador)
endpoint-url?<Filter Parameter>=<Operator>:<value>
Em que:
<Parâmetro de Filtro>: Parâmetro de filtragem para obter um conjunto menor de resultados. Você pode consultar os parâmetros compatíveis na tabela abaixo.
<Operador>: Você deve utilizar um operador para filtrar, igual ou igual.
<valor>: Valor utilizado no filtro.
Nome do parâmetro do filtro | Tipo de campo | Operadores compatíveis | Descrição | Apoiado em |
allyEnabled | Booliano | eq, ne | Você pode obter os cursos em que o Ally está ativo. Valor é verdadeiro ou falso. | Pontos de extremidade gerais e de problemas |
courseName | Sequência de caracteres | eq, ne, co, nc, sw | Filtrar pelo nome de um curso. Por exemplo, Química 101 (courseCode não é válido) | Pontos de extremidade gerais e de problemas |
courseId | Sequência de caracteres | eq, ne, co, nc, sw | Filtrar pelo código ou curso. Por exemplo, 123456 (isso geralmente é um número inteiro) | Pontos de extremidade gerais e de problemas |
termId | Sequência de caracteres | eq, ne, co, nc, sw | Filtrar pelo código do período. | Pontos de extremidade gerais e de problemas |
termName | Sequência de caracteres | eq, ne, co, nc, sw | Filtre pelo nome do período. por exemplo, verão | Pontos de extremidade gerais e de problemas |
overallScore | Número | EQ, NE, LE, LT, GE, GT | Você pode filtrar pela pontuação geral. por exemplo, cursos com pontuação igual a 90% | Endpoint geral e em todas as soluções Ally: LMS, websites e WCM. |
filesScore | Número | EQ, NE, LE, LT, GE, GT | Você pode filtrar pela pontuação dos arquivos. por exemplo, cursos com nota de arquivos igual a 90% | Endpoint geral e em todas as soluções Ally: LMS, websites e WCM. |
wysiwygScore | Número | EQ, NE, LE, LT, GE, GT | Você pode filtrar pela pontuação WYSIWYG. por exemplo, cursos com pontuação WYSIWYG igual a 90% | Ponto de extremidade geral e disponível apenas para o Ally para LMS. |
webPagesScore | Número | EQ, NE, LE, LT, GE, GT | Você pode filtrar pela pontuação de um domínio, por exemplo: páginas da web com uma pontuação igual a 90%. | Ponto de extremidade geral e disponível apenas para o Ally para Web ou WCM. |
Nota
Os valores de parâmetro diferenciam maiúsculas e minúsculas.
Operadores compatíveis
A tabela a seguir contém os operadores compatíveis com base no tipo de campo:
Tipo de campo | Operador | Descrição |
Sequência de caracteres | eq | É igual |
Sequência de caracteres | ne | Não é igual |
Sequência de caracteres | co | Contém a palavra-chave |
Sequência de caracteres | nc | Não contém a palavra-chave |
Sequência de caracteres | sw | Começa com a palavra-chave |
Número | eq | É igual |
Número | ne | Não é igual |
Número | le | Menor ou igual |
Número | lt | Menos que |
Número | ge | Maior que ou igual |
Número | gt | Maior que |
Exemplo:
O exemplo a seguir recupera todos os cursos que contenham a palavra-chave "tests" no nome do curso:
https://prod.ally.ac/api/v2/clients/15/reports/overall?courseName=co:tests
Uso de múltiplos filtros
Você pode combinar as opções de classificação e filtragem no mesma URL do ponto de extremidade adicionando o caractere "&" entre as duas condições. Por exemplo, digamos que você queira recuperar todos os cursos que contêm a palavra-chave "test" no nome do curso em que o Ally está habilitado e que tenha pontuação geral inferior a 90%. A URL seria assim:
https://prod.ally.ac/api/v2/clients/0/overall?courseName=co:test&allyEnabled=true&overallScore=lt:0.9
Você também pode utilizar duas opções de filtragem. Por exemplo, digamos que você precise obter todos os cursos que tenham uma pontuação geral entre 10% e 70%:
https://prod.ally.ac/api/v2/clients/0/reports/overall?overallScore=ge:0.1&overallScore=le:0.7