Page edited by Jhosef Marks de Carvalho Abaixo segue a relação das transações disponbilizadas pelo HTML Framework na base Datasul. Login Objetivo: gerar um token de autenticação para determinado usuário e senha (todos os acessos à base deverão incluir um token de acesso); Formato: [caminho_serviçoREST]/login/userName=[usuario]&password=[senha], sendo que: - [caminho_serviçoREST] é a URL especificada no item 5.1; - [usuário] é o usuário a logar; - [senha] é a senha do usuário codificada para formato base64 sha-1; Exemplo de chamada: totvsjoi-gcad01:8280/totvs-rest/resources/login/?userName=13&password=MTM= @GET Objetivo: serve para buscar registros da base do TOTVS11; Formato: [caminho_serviçoREST]/?programName=[BOTOTVS11]&start=[registro_inicio]&limit=[qtidade_a_buscar]&fields=[lista_campos]&where=[clausula_where]&onlyKey=[apenas_chave_primaria]&sortColumns=[colunas_ordenação]&sortOrder=[orientação_ordenação]token=[token_login], sendo que: - [BOTOTVS11]: é o nome da BO do TOTVS11 que será usada para efetuar a busca dos registros; - [registro_inicio]: registro a partir do qual será iniciada a busca; - [qtidade_a_buscar]: quantidade de registros a serem retornados a partir do [registro_inicio]. Quando informado “-1”, serão trazidos todos os registros a partir do [registro_inicio]; - [lista_campos]: lista de campos (separados por vírgula) a serem retornados na consulta; - [clausula_where]: string contando comando Progress válido a ser inserido como clásula WHERE; - [apenas_chave_primaria]: indica se a consulta deve retornar apenas a chave primária (valor “true” ou “false”). Se for informado tanto [lista_campos] como [apenas_chave_primaria], o último terá prioridade; - [colunas_ordenação]: indica as colunas pelas quais a consulta deve ser ordenada (campos separados por vírgula); - [orientação_ordenação]: indica se a ordenação vai ser ascendente ou descendente (informar “ASC ou “DESC”); - [token_login]: token obtido com a requisição feita no item 5.2; Exemplo de chamada: http://localhost:8080/totvs-rest/resources/?programName=inbo/boin172.r&start=2&limit=9&token=D355EEB73F2DD1911C70518AEB9464BC&where="it-codigo = 'branco'" @PUT Objetivo: serve para alterar os dados de um (e somente um) registro da base do TOTVS11; Formato: [caminho_serviçoREST]/ [BOTOTVS11]/?programName=[BOTOTVS11]&token=[token_login] Payload: deverá ser passado um array de json contendo pelo menos os campos da chave e os demais campos que precisam receber valores atualizados; Exemplo de chamada: http://localhost:8080/totvs-rest/resources/token=D355EEB73F2DD1911C70518AEB9464BC [ { "it-codigo": "ADX01.1.3", "cod-estabel": "02", "quant-segur": 450.02, "res-int-comp": 22 } ] @POST – query dinâmica Objetivo: serve para buscar registros da base do TOTVS11 informando dinamicamente os dados da busca; Formato: [caminho_serviçoREST]/searchByParam/?token=[token_login] Payload: deverá ser passado um objeto json com as propriedades “searchInfo” e “whereClause”. Dentro da tag “searchInfo” deverá existir um objeto com os mesmos dados usados no GET (item 5.3). Dentro da tag “whereClause” deverá existir um objeto com o nome dos campos que compõem o filtro e seus respectivos valores (sempre cláusula EQUALS “=”) Exemplo de chamada: URL: http://localhost:8080/totvs-rest/resources/searchByParam/token=D355EEB73F2DD1911C70518AEB9464BC Payload: {"searchInfo": {"programName": "dbbo/bodb013.r", "limit": "100"}, "whereClause": [{"property": "it-codigo", "restriction": "LIKE", "value": "*AD*"}]} @POST – create Objetivo: serve para criar registros da base do TOTVS11; Formato: idem anterior; Payload: idem anterior; Exemplo de chamada: URL: http://localhost:8080/totvs-rest/resources/token=D355EEB73F2DD1911C70518AEB9464BC Payload: [{"cod-cenario": "10.01", "gm_codigo":"1152" , "cod_ctrab":"1152" , "dat_excec": "2012-04-18" , "val-hora-inic":12.00 , "val-hora-fim":15.60}] @DELETE Objetivo: serve para deletar registros da base do TOTVS11; Formato: idem anterior; Payload: idem anterior; Exemplo de chamada: http://localhost:8080/totvs-rest/resources/token=D355EEB73F2DD1911C70518AEB9464BC [{"it-codigo": "ADX01.1.3", "cod-estabel": "02"}] ProgressCall (chamada de API´s) Objetivo: serve para chamar qualquer API base do TOTVS11; Formato: [caminho_serviçoREST]/progressCall/[nomeProcedureDoPrograma]/?programName=[NomeDoPrograma]&token=[token_login] Payload: passar um array de Json, no qual cada parâmetro é um objeto. Quando o parâmetro for uma tabela temporária deverá passar a definição da mesma. Os erros a serem exibidos ao usuário deverão obrigatoriamente estar inseridos na temp-table RowErrors, definida na include "method/dbotterr.i". Exemplo de chamada: http://totvsjoi-gcad01:8280/totvs-rest/resources/progressCall/piCarregarTTAlfaNumerico/?token=1732F7D59B7DAE51109565DC824D2602&programName=dbp/dbapi800.r [ { "name": "logCq", "type": "input", "dataType": "logical", "value": true }, { "name": "logArmazenagem", "type": "input", "dataType": "logical", "value": true }, { "name": "processInstanceId", "type": "input", "dataType": "integer", "value": "309" }, { "name": "tt-nr-seq-pedido", "type": "input-output", "dataType": "temptable", "value": { "name": "tt-nr-seq-pedido", "fields": [ { "name": "c-seq", "label": "c-seq", "type": "character" }, { "name": "i-seq", "label": "i-seq", "type": "integer" } ], "records": [ {"c-seq":"01","i-seq":1},{"c-seq":"02","i-seq":2},{"c-seq":"03","i-seq":3},{"c-seq":"04","i-seq":4} ] } } ] View Online · View Changes Online Continue reading...