Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. O servidor deverá ter sido compilado com as seguintes diretivas: DelphiXeUP e VSSCRIPTER;

  2. O script deverá ter sido previamente implementado e existir na base de dados. Este script, ainda, ao ser criado precisa ser definido como tipo 2;

  3. A chamada ao endpoint será feita com o método post, usando o seguinte endereço:

    Code Block
    http://{url:porta}/viasoft/api/UtilsWebService/ExecuteScript
  4. O corpo da requisição deverá ser no formato JSON. Segue um exemplo de uso:

    Code Block
    {
        "script": "TesteServidor.ssproj",
        "dados": [
            {"RazaoSocial": "Empresa Ltda"},
            {"Reduzido": "EL"}
        ]
    }

  5. O nome do script é o mesmo que se encontra no Gerenciador de Projetos, aba Projetos personalizados:

  6. Opcionalmente é possível passar uma lista de dados, os quais serão incluídos no TStringCache e poderão ser acessados durante a execução do script. Exemplo:

    Code Block
    languagepas
    Uses
      uStringCache;
    var
      cRazaoSocial : string;
      cReduzido : string;
    begin
      TStringCache.GetCacheString('TesteServidor.ssproj', 'RazaoSocial', cRazaoSocial);
    :=  TStringCache.GetCacheString('TesteServidor.ssproj', 'RazaoSocialReduzido', cReduzido);
      if cRazadoSocialcRazaoSocial = 'Empresa Ltda' then
        begin
       ...   
      end;
    end;

  7. É possível realizar o retorno da função, desde que seja no formato string. Para tanto basta adicionar uma entrada no TStringCache. Exemplo:

    Code Block
    languagepas
    Usesuses
      uStringCache;
      
    var
      cRetorno cRazaoSocial: String;  
      cRetorno: string;
    begin
      String;                             
    begin
      TStringCache.GetCacheString('TesteServidor.ssproj', 'RazaoSocial', cRazaoSocial);
      if cRazaoSocial = 'Empresa Ltda' then
        begin                                                         
        cRetorno := '{' + 
                      '"retorno_texto": "teste", ' + 
                      '"retorno_inteiro": 1, , ' + 
                      '"retorno_mensagem": "Teste concluído com sucesso!"' + 
                    '}'; // ou
        TStringCache.SetCacheString('TesteServidor.ssproj', 'Retorno', cRetorno);         
      end
      else                                                                                       
      begin              
        cRetorno := 'valorEmpresa simplesdiferente' ;
        TStringCache.SetCacheString('TesteServidor.ssproj', 'Retorno', cRetorno);
      end;  
    end;

Info

O valor de retorno deve ser compatível com o padrão json, podendo ser um valor primitivo simples (string, inteiro, etc) ou um objeto json.