Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Expandir
titleAutenticação

As APIs disponibilizadas funcionam com duas autenticações, Basic ou Token Bearer, nos dois casos é necessário um usuário e senha do RM previamente disponibilizado

Deck of Cards
idAutenticacaoAPI
Card
idBasic
labelBasic

Authorization - Basic Auth

Username <USUARIO RM>

Password <SENHA RM>


Card
idBearer
labelBearer

Abaixo estão as instruções de como buscar um bearer token, tanto com base em um certificado embutido automaticamente na aplicação quanto um inserido manualmente.

Exemplo de utilização - Sucesso:

  1. Realize uma requisição POST ao endpoint http(s)://{dominio}:{porta}/api/connect/token/ via Postman, SoapUi, ou outro programa que realize requisições HTTP REST.
  2. No corpo da requisição envie um JSON explicitando usuário e senha do RM para qual a autenticação está sendo direcionada:

 username
• password 

A requisição deve parecer com a abaixo

Image Added


Bloco de código
languagejs
themeMidnight
titleJSON de requisição de token
{
 "username": "USUARIO RM",
 "password": "SENHA RM"
}


O token de segurança será gerado e já poderá ser utilizado no cabeçalho das requisições subsequentes às API's disponibilizadas pela TOTVS.

Exemplo de Token de Segurança gerado com sucesso e pronto para ser utilizado:

Image Added


Bloco de código
languagejs
themeMidnight
titleJSON de Retorno de Token
{
    "access_token": "eyJhbGciOiJSUzI1NiIsDKXI9RYRNIpq4zd2ZFTuKRAvvTLvytOW_yvYxUn-k-XM4stBcnzuo8Eg00A8mDePRH-Kcjy6AWZjOPGYuaiKnDZ5hWfVCO-mefV44wU1vAYSb3jWQuS-4SPgrmHHy3XurY1clVpwrHuIENsZdFSZxy-g0I_8VwCFZHIPGh4-s_uejDPTmkscCWoejc42nyE8zn8gkG1YYWQRQ",
    "expires_in": 300,
    "refresh_token": "eyJUb2tlbktleSI6ImROcU5pam9BbnZhaG1WMEZST1o1NjFYQlVZekIzSXplYldNdDZkcUFyVE0iLCJjb25uZWN0aW9uSWQiOiJDb3Jwb3JlUk0ifQ==",
    "token_type": "Bearer"
}


Utilize o token gerado incluindo-o no cabeçalho da requisição através da diretiva:

• Authorization: Bearer {token}

Inclusão do token no cabeçalho da requisição:

Image Added


Após a inclusão do cabeçalho de autorização, realize uma requisição HTTP em uma das API's disponibilizadas pela TOTVS e verifique o resultado.


Expandir
titleEtapas
HTML
<div class="get">GET</div>
<div class="endereco">/api/integracoes/v2/sesc/educacional/etapa</div>


Para buscar varias etapas no SGE, o filtro da busca deve ser passado via QueryString.

codColigada: Coligada da Turma/Disciplina no RM

idTurmaDisc: Id da Turma/Disciplina no RM

tipoEtapa: N para nota ou F para falta


Image Added


Bloco de código
languagejs
themeMidnight
titleExemplo
/api/integracoes/v2/sesc/educacional/etapa?codColigada=2&idTurmaDisc=4151&tipoEtapa=N
Bloco de código
languagejs
themeMidnight
titleExemplo de Resposta
collapsetrue
{
    "hasNext": false,
    "items": [
        {
            "codColigada": 2,
 
HTML
<!DOCTYPE html> <html> <head> <title>edchart.com Yaml To HTML Converter</title> </head> <body> <table> <tr> <td>openapi</td> <td>servers.0.description</td> <td>servers.0.url</td> <td>servers.0.variables.serverUrl.default</td> <td>servers.0.variables.serverHttpPort.default</td> <td>info.description</td> <td>info.version</td> <td>info.title</td> <td>info.contact.name</td> <td>info.contact.url</td> <td>info.contact.email</td> <td>info.x-totvs.messageDocumentation.name</td> <td>info.x-totvs.messageDocumentation.description</td> <td>info.x-totvs.messageDocumentation.segment</td> <td>info.x-totvs.productInformation.0.product</td> <td>info.x-totvs.productInformation.0.contact</td> <td>info.x-totvs.productInformation.0.description</td> <td>info.x-totvs.productInformation.0.adapter</td> <td>info.x-totvs.productInformation.0.helpUrl</td> <td>info.x-totvs.productInformation.0.note</td> <td>paths./systemParameters.get.tags.0</td> <td>paths./systemParameters.get.summary</td> <td>paths./systemParameters.get.x-totvs.productInformation.0.product</td>
           
<td>paths./systemParameters.get.x-totvs.productInformation.0.available</td>
"idTurmaDisc": 572,
            
<td>paths./systemParameters.get.x-totvs.productInformation.0.note</td>
"codEtapa": 1,
            
<td>paths./systemParameters.get.x-totvs.productInformation.0.minimalVersion</td>
"dataInicio": "2024-01-01T00:00:00-03:00",
            
<td>paths./systemParameters.get.description</td>
"dataFim": "2024-01-31T00:00:00-03:00",
            
<td>paths./systemParameters.get.operationId</td>
"tipoEtapa": "N",
            
<td>paths./systemParameters.get.parameters.0.$ref</td>
"pontosDistribuidos": 100.0000,
            "media": 
<td>paths./systemParameters.get.parameters.1.$ref</td>
60.0000,
            
<td>paths./systemParameters.get.parameters.2.$ref</td>
"permiteDigitacaoNaEtapa": false,
            
<td>paths./systemParameters.get.parameters.3.$ref</td>
"etapaFinal": false,
            
<td>paths./systemParameters.get.parameters.4.$ref</td>
"etapaEncerrada": false
        },
    
<td>paths./systemParameters.get.parameters.5.$ref</td>
    {
        
<td>paths./systemParameters.get.parameters.6.$ref</td>
    "codColigada": 2,
       
<td>paths./systemParameters.get.parameters.7.$ref</td>
     "idTurmaDisc": 572,
      
<td>paths./systemParameters.get.responses.200.description</td>
      
<td>paths./systemParameters.get.responses.200.content.application/json.schema.$ref</td>
"codEtapa": 2,
            
<td>paths./systemParameters.post.tags.0</td>
"dataInicio": "2024-01-01T00:00:00-03:00",
            
<td>paths./systemParameters.post.summary</td>
"dataFim": "2024-12-31T00:00:00-03:00",
            
<td>paths./systemParameters.post.description</td>
"tipoEtapa": "N",
            
<td>paths./systemParameters.post.operationId</td>
"pontosDistribuidos": 100.0000,
            "media": 
<td>paths./systemParameters.post.x-totvs.productInformation.0.product</td>
60.0000,
            
<td>paths./systemParameters.post.x-totvs.productInformation.0.available</td>
"permiteDigitacaoNaEtapa": false,
            "etapaFinal": 
<td>paths./systemParameters.post.x-totvs.productInformation.0.note</td>
false,
            
<td>paths./systemParameters.post.x-totvs.productInformation.0.minimalVersion</td>
"etapaEncerrada": false
        }
    
<td>paths./systemParameters.post.parameters.0.$ref</td> <td>paths./systemParameters.post.requestBody.content.application/json.schema.$ref</td> <td>paths./systemParameters.post.requestBody.description</td> <td>paths./systemParameters.post.responses.200.description</td> <td>paths./systemParameters.post.responses.200.content.application/json.schema.$ref</td> <td>paths./systemParameters.post.responses.400.description</td> <td>paths./systemParameters.post.responses.400.content.application/json.schema.$ref</td> <td>paths./systemParameters/{systemParameterId}.put.tags.0</td> <td>paths./systemParameters/{systemParameterId}.put.summary</td> <td>paths./systemParameters/{systemParameterId}.put.description</td>
]
}


Também é possível buscar uma etapa especifica, para isso os dados da chave devem ser passados na URL separados por pipeline "|", devem ser passados o codColigada, idTurmaDisc, codEtapa e tipoEtapa.


Bloco de código
languagejs
themeMidnight
titleExemplo
/api/integracoes/v2/sesc/educacional/etapa/2|572|1|N
Bloco de código
languagejs
themeMidnight
titleRetorno
collapsetrue
{
    "codColigada": 2,
    "idTurmaDisc": 572,
    "codEtapa": 1,
    "dataInicio": "2024-01-01T00:00:00-03:00",
    "dataFim": "2024-01-31T00:00:00-03:00",
    "tipoEtapa": "N",
    "pontosDistribuidos": 100.0000,
    "media": 60.0000,
    "permiteDigitacaoNaEtapa": false,
    "etapaFinal": false,
    "etapaEncerrada": false
}
Expandir
titlePlano de Aula
HTML
<div class="get">GET</div>
<div class="endereco">/api/integracoes/v2/sesc/educacional/planodeaula</div>


Para buscar os planos de aula no SGE, o filtro da busca deve ser passado via QueryString.

codColigada: Coligada da Turma/Disciplina no RM

idTurmaDisc: Id da Turma/Disciplina no RM


Image Added


Bloco de código
languagejs
themeMidnight
titleExemplo
/api/integracoes/v2/sesc/educacional/planodeaula/?codColigada=2&idTurmadisc=572
Bloco de código
languagejs
themeMidnight
titleResposta
collapsetrue
{
    "hasNext": false,
    "items": [
        {
            
<td>paths./systemParameters/{systemParameterId}.put.operationId</td>
"codColigada": 2,
            
<td>paths./systemParameters/{systemParameterId}.put.x-totvs.productInformation.0.product</td>
"idTurmaDisc": 572,
            "idPlanoAula": 23293,
            
<td>paths./systemParameters/{systemParameterId}.put.x-totvs.productInformation.0.available</td>
"numeroAula": 1,
            
<td>paths./systemParameters/{systemParameterId}.put.x-totvs.productInformation.0.note</td>
"dataPlanoAula": "2024-04-04T00:00:00-03:00",
            
<td>paths./systemParameters/{systemParameterId}.put.x-totvs.productInformation.0.minimalVersion</td>
"confirmado": false,
            
<td>paths./systemParameters/{systemParameterId}.put.parameters.0.$ref</td>
"aulaOnline": "http//:opopopoo",
            
<td>paths./systemParameters/{systemParameterId}.put.parameters.1.$ref</td>
"conteudoPrevisto": "aula",
            
<td>paths./systemParameters/{systemParameterId}.put.requestBody.content.application/json.schema.$ref</td>
"conteudoRealizado": "fez a aula",
            
<td>paths./systemParameters/{systemParameterId}.put.requestBody.description</td>
"dataEfetiva": "2025-04-04T00:00:00-03:00",
            
<td>paths./systemParameters/{systemParameterId}.put.responses.200.description</td>
"licaoDeCasa": "para casa via patch",
            "observacao": 
<td>paths./systemParameters/{systemParameterId}.put.responses.200.content.application/json.schema.$ref</td>
"via patch",
            
<td>paths./systemParameters/{systemParameterId}.put.responses.400.description</td>
"horaInicial": "07:00",
            
<td>paths./systemParameters/{systemParameterId}.put.responses.400.content.application/json.schema.$ref</td>
"horaFinal": "07:50"
        },
     
<td>paths./systemParameters/{systemParameterId}.put.responses.404.description</td>
   {
            
<td>paths./systemParameters/{systemParameterId}.put.responses.404.content.application/json.schema.$ref</td>
"codColigada": 2,
            
<td>paths./systemParameters/{systemParameterId}.delete.tags.0</td>
"idTurmaDisc": 572,
            
<td>paths./systemParameters/{systemParameterId}.delete.summary</td>
"idPlanoAula": 23294,
            
<td>paths./systemParameters/{systemParameterId}.delete.description</td>
"numeroAula": 2,
            
<td>paths./systemParameters/{systemParameterId}.delete.operationId</td>
"dataPlanoAula": "2024-04-04T00:00:00-03:00",
            
<td>paths./systemParameters/{systemParameterId}.delete.x-totvs.productInformation.0.product</td>
"confirmado": false,
            
<td>paths./systemParameters/{systemParameterId}.delete.x-totvs.productInformation.0.available</td>
"aulaOnline": "",
            "conteudoPrevisto": "",
            
<td>paths./systemParameters/{systemParameterId}.delete.parameters.0.$ref</td>
"conteudoRealizado": "",
            
<td>paths./systemParameters/{systemParameterId}.delete.responses.200.description</td>
"licaoDeCasa": "",
            
<td>paths./systemParameters/{systemParameterId}.delete.responses.200.content.application/json.schema.$ref</td>
"observacao": "",
            
<td>paths./systemParameters/{systemParameterId}.delete.responses.405.description</td>
"horaInicial": "07:50",
            
<td>paths./systemParameters/{systemParameterId}.delete.responses.405.content.application/json.schema.$ref</td>
"horaFinal": "08:40"
        }
    ]
}
HTML
<div class="post">PATCH</div>
<div class="endereco">/api/integracoes/v2/sesc/educacional/planodeaula</div>


Para atualizar os dados de um plano de aula (importação de conteúdo realizado) os dados da chave do registro devem ser passados na URL separados por pipeline "|" e os campos a serem atualizados devem ser enviados no corpo da requisição.

Como chave do campo devem ser passados o codColigada, idTurmaDisc, idPlanoAula.


Bloco de código
languagejs
themeMidnight
titleExemplo URL requisição de atualização de plano de aula
/api/integracoes/v2/sesc/educacional/planodeaula/2|572|23293
Bloco de código
languagejs
themeMidnight
titleExemplo do copo da requisição de atualização de plano de aula
collapsetrue
{
    "numeroAula": 1,
    "dataPlanoAula": "2024-04-04T00:00:00-03:00",
    "dataEfetiva": "2025-04-04",
    "confirmado": false,
	"aulaOnline": "url da aula",
    "conteudoPrevisto": "conteudo previsto",
    "conteudoRealizado": "conteudo realizado",
    "licaoDeCasa": "para casa via patch",
    "observacao": "via patch"
}
Bloco de código
languagejs
themeMidnight
titleExemplo de retorno da atualização de plano de aula
collapsetrue
{
    "codColigada": 2,
    "idTurmaDisc": 572,
    "idPlanoAula": 23293,
    "numeroAula": 1,
    "dataPlanoAula": "2024-04-04T00:00:00-03:00",
    "confirmado": false,
    "dataEfetiva": "2025-04-04T00:00:00-03:00",
    "licaoDeCasa": "para casa via patch",
    "observacao": "via patch"
}



HTML
<style>
	.expand-control {
    	cursor: pointer;
    	text-decoration: none;
	    margin-bottom: 10px;
	    background-color: #ededed;
	    height: 20px;
	    font-size: 15px;
	    padding: 5px;
	}
	.expand-control-text {
    	vertical-align: top;
	    font-weight: bold;
		color: #242424;
	}
	.post {
    	background-color: #378000;
	    color: #ffffff;
	    display: inline-block;
	    padding: 5px;
	    border-radius: 5px;
		font-weight: bold;
	}
	.get {
    	background-color: #004fd6;
	    color: #ffffff;
	    display: inline-block;
	    padding: 5px;
	    border-radius: 5px;
		font-weight: bold;
	}
	.put {
    	background-color: #ffa200;
	    color: #ffffff;
	    display: inline-block;
	    padding: 5px;
	    border-radius: 5px;
		font-weight: bold;
	}
	.delete {
    	background-color: #cf0000;
	    color: #ffffff;
	    display: inline-block;
	    padding: 5px;
	    border-radius: 5px;
		font-weight: bold;
	}
	.endereco{
		display: inline-block;
		padding: 5px;
		font-weight: bold;
	}
</style>
<!-- 
EXEMPLO DE MARCAÇÃO PARA TIPO DE REQUEST:
<div class="post">POST</div>
<div class="get">GET</div>
<div class="put">PUT</div>
<div class="delete">DELETE</div>

O ENDEREÇO DEVE SER INSERIDO COM A SEGUINTE MARCAÇÃO:
<div class="endereco">/rm/api/TOTVSCustomizacao/CstIntegracaoProtheus/ItemContabil</div>
--><td>components.parameters.ParameterId.name</td>
            <td>components.parameters.ParameterId.in</td>
            <td>components.parameters.ParameterId.required</td>
            <td>components.parameters.ParameterId.description</td>
            <td>components.parameters.ParameterId.schema.type</td>
            <td>components.parameters.Codes.name</td>
            <td>components.parameters.Codes.in</td>
            <td>components.parameters.Codes.description</td>
            <td>components.parameters.Codes.required</td>
            <td>components.parameters.Codes.example</td>
            <td>components.parameters.Codes.schema.type</td>
            <td>components.parameters.Description.name</td>
            <td>components.parameters.Description.in</td>
            <td>components.parameters.Description.description</td>
            <td>components.parameters.Description.required</td>
            <td>components.parameters.Description.example</td>
            <td>components.parameters.Description.schema.type</td>
        </tr>
        <tr>
            <td>3.0.1</td>
            <td>API para os parâmetros de sistemas do produtos TOTVS</td>
            <td>{{host}}/api/framework/v1</td>
            <td>localhost</td>
            <td>8051</td>
            <td>API para os parâmetros de sistemas do produtos TOTVS</td>
            <td>1.000</td>
            <td>Parametros de Sistema</td>
            <td>T-Talk</td>
            <td>API.Totvs.com.br</td>
            <td>[email protected]</td>
            <td>systemParameters</td>
            <td>Parâmetros de Sistema</td>
            <td>Foundation</td>
            <td>Protheus</td>
            <td>[email protected]</td>
            <td>Cadastro de parâmetros</td>
            <td></td>
            <td>link aqui</td>
            <td>Essa API exige que seja configurada a segurança no servidor (SECURITY=1).</td>
            <td>System Parameters</td>
            <td>Retorna todos os parâmetros do sistema</td>
            <td>Protheus</td>
            <td>true</td>
            <td>Este verbo esta disponivel com todos os parametros</td>
            <td>12.1.23</td>
            <td>Retorna todos os parâmetros do sistema</td>
            <td>getSystemParameters</td>
            <td>https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/Authorization</td>
            <td>https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/Order</td>
            <td>https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/Page</td>
            <td>https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/PageSize</td>
            <td>https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/Fields</td>
            <td>#/components/parameters/Codes</td>
            <td>https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/AcceptLanguage</td>
            <td>#/components/parameters/Description</td>
            <td>Operação realizada com sucesso</td>
            <td>https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/schemas/SystemParameter_1_000.json#/definitions/PagedParameters</td>
            <td>System Parameters</td>
            <td>Inclui o parâmetro passado na requisição</td>
            <td>Inclui o parâmetro passado na requisição</td>
            <td>postParameter</td>
            <td>Protheus</td>
            <td>true</td>
            <td>Este verbo esta disponivel com todos os parametros</td>
            <td>12.1.23</td>
            <td>https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/Authorization</td>
            <td>https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/schemas/SystemParameter_1_000.json#/definitions/ParameterInfo</td>
            <td>Parâmetro para ser incluido</td>
            <td>Operação realizada com sucesso</td>
            <td>https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/schemas/SystemParameter_1_000.json#/definitions/PagedParameters</td>
            <td>erro no momento da Inclusão</td>
            <td>https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/definitions/ErrorModel</td>
            <td>System Parameters</td>
            <td>Altera o parâmetro passado na requisição</td>
            <td>Altera o parâmetro passado na requisição</td>
            <td>postParameterId</td>
            <td>Protheus</td>
            <td>true</td>
            <td>Este verbo esta disponivel com todos os parametros</td>
            <td>12.1.23</td>
            <td>#/components/parameters/ParameterId</td>
            <td>https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/parameters/Authorization</td>
            <td>https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/schemas/SystemParameter_1_000.json#/definitions/ParameterInfo</td>
            <td>Parâmetro para ser incluído</td>
            <td>Operação realizada com sucesso</td>
            <td>https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/schemas/SystemParameter_1_000.json#/definitions/ParameterInfo</td>
            <td>erro no momento da Inclusão</td>
            <td>https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/definitions/ErrorModel</td>
            <td>Parâmetro não localizado na base</td>
            <td>https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/definitions/ErrorModel</td>
            <td>System Parameters</td>
            <td>Exclusão de parâmetro da base</td>
            <td>Exclusão de parâmetro da base</td>
            <td>DeleteParameterId</td>
            <td>Protheus</td>
            <td>true</td>
            <td>#/components/parameters/ParameterId</td>
            <td>Operação realizada com sucesso</td>
            <td>https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/schemas/SystemParameter_1_000.json#/definitions/ParameterInfo</td>
            <td>Não disponivel</td>
            <td>https://raw.githubusercontent.com/totvs/ttalk-standard-message/master/jsonschema/apis/types/totvsApiTypesBase.json#/definitions/ErrorModel</td>
            <td>systemParameterId</td>
            <td>path</td>
            <td>true</td>
            <td>Identificador Único representando o parâmetro</td>
            <td>string</td>
            <td>codes</td>
            <td>query</td>
            <td>"Códigos de parâmetros retornados pelo get separado por vírgula (</td>
            <td>) "</td>
            <td>false</td>
            <td>"param1</td>
            <td>param2"</td>
            <td>string</td>
            <td>description</td>
            <td>query</td>
            <td>Busca de descrição do paramêtro</td>
            <td>false</td>
            <td>Parâmetro de busca</td>
            <td>string</td>
        </tr>
        <tr>
            <td></td>
        </tr>
    </table>
</body>

</html>