1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Transações REST

Discussão em 'TDN - Datasul' iniciado por fdantas, Junho 3, 2015.

  1. fdantas

    fdantas Administrator Moderador

    Page edited by Jhosef Marks de Carvalho - "Reverted from v. 7"


    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;

    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...

Compartilhe esta Página