{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"540c4211-bfbf-46cd-9ae5-ebdff1a62b31","name":"Diploma Digital Solis (DDS)","description":"é o manual para que você possa integrar o sistema de gestão de sua IES (Insituição de Ensino Superior) à geração de Diplomas Digitais previstos pela atual normativa do MEC, usufruindo de serviços web (Web Services) disponibilizados pela Solis através de seu sistema SaaS (Software as a Service), o Diploma Digital Solis - DDS.\n\nEstes serviços incluem a geração de novos diplomas, completos ou parciais, a atualização de diplomas já gerados e que estejam ou não parcialmente assinados, permitindo a complementação de informações em sessões que ainda não estejam assinadas e a geração de pedidos de assinaturas para os devidos signatários que irão efetuar as assinaturas de suas respectivas sessões pré-definidas.\n\n# Visão geral\n\nO padrão de arquitetura utilizado para a realização das integrações é API RESTful, deste modo, todas as comunicações que serão efetuadas para os serviços disponibilizados, se darão com requisições HTTPs através do método POST, para determinadas URLs, passando as informações exigidas através do corpo da requisição em formato de texto JSON e que se bem sucedidas, irão devolver ao solicitante uma resposta de mesmo formato.\n\n# Autenticação\n\nPara realizar requisições aos serviços disponibilizados pelo DDS, é necessário primeiro efetuar uma requisição de autenticação, utilizando as credenciais disponibilizadas através de contato com a Solis.\n\nTendo portanto posse de suas credenciais de acesso, compostas pela chave de acesso do cliente (client_secret), usuário (email) e senha (password), ao realizar com sucesso a requisição de autenticação, será retornada pelo serviço uma chave autorizada (token) Bearer, que por sua vez deve ser utilizada no item de autorização (Authorization) do cabeçalho (Header) de cada requisição.\n\nÉ indicado que, para cada requisição que for realizada, seja previamente realizada uma nova requisição de autenticação, obtendo sempre um novo token para a requisição atual.\n\n# Mudanças da versão 1.03 para a 1.04.1\n\n- Para realizar a geração de um diploma na versão 1.04.1, necessário alterar o valor do campo **versao** no json da requisição, de **1.03** para **1.04.1**;\n    \n\n```\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarSituacaoAtualDiscentePeriodoLetivo \nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarSituacaoAtualDiscenteSituacaoDiscente\n\n ```\n\n- Sobre discentes de disciplinas:\n    \n\n```\n// Padrão 1.04.1:\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularDisciplinaCursadaDocentes\": \n[\n    {\n    DocenteNome\n    DocenteTitulacao\n    DocenteLattes\n    DocenteCPF\n    },\n    ...\n]\n// Padrão 1.03:\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularDisciplinaCursadaDocenteNome\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularDisciplinaCursadaDocenteTitulacao RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularDisciplinaCursadaDocenteLattes RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularDisciplinaCursadaDocenteCPF\n\n ```\n\nAdicionada informação de forma de integralização da disciplina:\n\n```\n RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularDisciplinaCursadaFormaIntegralizacaoAprovada\n // ou\n RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularDisciplinaCursadaOutraFormaIntegralizacaoAprovada\n\n ```\n\nAtividades Complementares:\n\n```\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularAtividadesComplementares:\n [\n  { \n    RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularAtividadeComplementarDataInicio\n    RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularAtividadeComplementarDataFim\n    RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularAtividadeComplementarDataRegistro\n    RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularAtividadeComplementarTipoAtividadeComplementar\n    RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularAtividadeComplementarDescricao\n    RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularAtividadeComplementarCargaHorariaHoraRelogio\n    RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularAtividadeComplementarDocentesResponsaveisPelaValidacao:\n     [\n        { \n          DocenteNome\n          DocenteTitulacao\n          DocenteCPF\n          DocenteLattes\n        }\n     ]\n  }\n ]\n\n ```\n\n- Estágios:\n    \n\n```\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularEstagios:\n[ \n  { RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularEstagioDataInicio\n    RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularEstagioDataFim\n    RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularEstagioConcedenteEstagioRazaoSocial\n    RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularEstagioConcedenteEstagioNomeFantasia\n    RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularEstagioDescricao\n    RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularEstagioCargaHorariaHoraRelogio\n    RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularEstagioConcedenteEstagioCNPJ\n    RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularEstagioDocentesOrientadores:\n    [\n      {\n         Docente\n         Nome\n         DocenteTitulacao\n         DocenteCPF\n         DocenteLattes\n      } \n    ] \n  }\n ]\n\n ```\n\n- Situações discentes:\n    \n\n``` json\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularSituacoesDiscentes:\n[\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularSituacaoDiscentePeriodoLetivo\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularSituacaoDiscenteSituacaoDiscente\n]\n\n ```\n\nConfira na interface do DDS as situações válidas. Algumas possuem campos específicos:\n\n``` json\n//Formado\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularSituacaoDiscenteSituacaoDiscenteFormadoDataColacaoGrau\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularSituacaoDiscenteSituacaoDiscenteFormadoDataConclusaoCurso\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularSituacaoDiscenteSituacaoDiscenteFormadoDataExpedicaoDiploma\n//Intercambio nacional\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularSituacaoDiscenteSituacaoDiscenteIntercambioInstituicao RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularSituacaoDiscenteSituacaoDiscenteIntercambioNomePrograma\n//Intercambio internacional\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularSituacaoDiscenteSituacaoDiscenteIntercambioInstituicao RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularSituacaoDiscenteSituacaoDiscenteIntercambioNomePrograma RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularSituacaoDiscenteSituacaoDiscenteIntercambioPais\n\n ```\n\nEnade:\n\n``` json\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularHistoricosENADE:\n[\n{\n    RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularHistoricoENADEInformacoesENADESituacao\n    RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularHistoricoENADEInformacoesENADECondicao\n    RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularHistoricoENADEInformacoesENADEEdicao\n    RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularHistoricoENADEMotivo\n    RegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularHistoricoENADEOutroMotivo\n}\n...\n]\n\n ```\n\n- As condições possíveis são **Ingressante** ou **Concluinte**;\n- Os motivos possíveis são **Estudante não habilitado ao Enade em razão do calendário do ciclo avaliativo** ou **Estudante não habilitado ao Enade em razão da natureza do projeto pedagógico do curso**.\n    \n\n- Carga horária do curso:\n    \n\n``` json\n// Padrão 1.04.1:\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarCargaHorariaCursoHoraAula\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarIngressoCursoData\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarIngressoCursoFormaAcesso\n// Padrão 1.03:\nRegistroReqDadosPrivadosDiplomadoCargaHorariaCursoHoraAula\nRegistroReqDadosPrivadosDiplomadoIngressoCursoData\nRegistroReqDadosPrivadosDiplomadoIngressoCursoFormaAcesso\n\n ```\n\n- Outras mudanças:\n    \n\n``` json\nRegistroReqDadosPrivadosDiplomadoIngressoCursoDataConclusao\nDadosDiplomaDadosCursoDataHabilitacao\nDadosDiplomaDadosCursoTituloConferidoTitulo\n\n ```\n\n# Mudanças da versão 1.04.1 para 1.05\n\n- Para realizar a geração de um diploma na versão 1.05, necessário alterar o valor do campo versao no json da requisição, de 1.04.1 para 1.05;\n- Adicionadas as informações novas obrigatórias:\n    \n\n```\nHistoricoEscolarCodigoCurriculo\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarHoraEmissaoHistorico\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularDisciplinaCursadaCodigo\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularAtividadeComplementarCodigo\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularEstagioCodigo\n\n ```\n\nOBS: O código de atividade complementar e estágio só serão obrigatórios caso o histórico possua tais elementos.\n\n- Adicionadas as seguintes informações opcionais:\n    \n\n```\nHistoricoEscolarNomeParaAreas\nHistoricoEscolarAreas\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularEstagioConcedenteEstagioNome\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularEstagioConcedenteEstagioCPF\n\n ```\n\nPara casos de Segunda Via, seguintes informações opcionais:\n\n```\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarIngressoCursoAnoProcessoSeletivo\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarIngressoCursoMesProcessoSeletivo\n\n ```\n\n- Ainda para casos de Segunda Via, caso o aluno seja originário de um Processo de Transferência Assistida:\n    \n\n```\nDadosDiplomaIesOriginalCursoPTACodigoMEC\nDadosDiplomaIesOriginalCursoPTACodigoIndisponivel\nDadosDiplomaIesOriginalCursoPTANome\nDadosDiplomaIesOriginalCursoPTACNPJ\nDadosDiplomaIesOriginalCursoPTAEnderecoLogradouro\nDadosDiplomaIesOriginalCursoPTAEnderecoNumero\nDadosDiplomaIesOriginalCursoPTAEnderecoComplemento\nDadosDiplomaIesOriginalCursoPTAEnderecoBairro\nDadosDiplomaIesOriginalCursoPTAEnderecoCEP\nDadosDiplomaIesOriginalCursoPTAEnderecoCodigoMunicipio\nDadosDiplomaIesOriginalCursoPTAEnderecoNomeMunicipio\nDadosDiplomaIesOriginalCursoPTAEnderecoUF\nDadosDiplomaIesOriginalCursoPTADescredenciamentoTipo\nDadosDiplomaIesOriginalCursoPTADescredenciamentoNumero\nDadosDiplomaIesOriginalCursoPTADescredenciamentoData\nDadosDiplomaIesOriginalCursoPTADescredenciamentoVeiculoPublicacao\nDadosDiplomaIesOriginalCursoPTADescredenciamentoDataPublicacao\nDadosDiplomaIesOriginalCursoPTADescredenciamentoSecaoPublicacao\nDadosDiplomaIesOriginalCursoPTADescredenciamentoPaginaPublicacao\nDadosDiplomaIesOriginalCursoPTADescredenciamentoNumeroDOU\n\n ```\n\nA versão 1.05 passou a aceitar múltiplas cargas horárias de elementos do histórico, as organizando com etiquetas. Porém a API continua aceitando o formato anterior (abaixo), e automaticamente gera na estrutura nova exigida, com a descrição vazia da etiqueta.\n\n```\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularDisciplinaCursadaCargaHorariaHoraAula\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularDisciplinaCursadaCargaHorariaHoraRelogio\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularAtividadeComplementarCargaHorariaHoraRelogio\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularEstagioCargaHorariaHoraAula\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularEstagioCargaHorariaHoraRelogio\n\n ```\n\nCaso queira especificar múltiplas cargas horárias para os elementos, use o novo sufixo \"CargaHorariaComEtiqueta\", contendo um array as novas posições abaixo:\n\n```\nRegistroReqDadosPrivadosDiplomadoHistoricoEscolarMatrizCurricularDisciplinaCursadaCargaHorariaComEtiqueta [\n    {'Etiqueta',\n     'HoraAula',\n     'HoraRelogio',\n     'TipoCargaHoraria'} \n]\n\n ```\n\nO mesmo vale para atividades complementares e estágios.\n\n# APIs","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"3512728","collectionId":"540c4211-bfbf-46cd-9ae5-ebdff1a62b31","publishedId":"UVJiiEhu","public":true,"publicUrl":"https://documenter-api.postman.tech/view/3512728/UVJiiEhu","privateUrl":"https://go.postman.co/documentation/3512728-540c4211-bfbf-46cd-9ae5-ebdff1a62b31","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.0","publishDate":"2022-02-08T13:43:08.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/UVJiiEhu"}