SoftExpertAPI 1.3.3
See the version list below for details.
dotnet add package SoftExpertAPI --version 1.3.3
NuGet\Install-Package SoftExpertAPI -Version 1.3.3
<PackageReference Include="SoftExpertAPI" Version="1.3.3" />
paket add SoftExpertAPI --version 1.3.3
#r "nuget: SoftExpertAPI, 1.3.3"
// Install SoftExpertAPI as a Cake Addin #addin nuget:?package=SoftExpertAPI&version=1.3.3 // Install SoftExpertAPI as a Cake Tool #tool nuget:?package=SoftExpertAPI&version=1.3.3
SoftExpertAPI
<img src="src/120.png" alt="Dotnet Logo" width="100px" height="100px"> <img src="src/dotnet_logo.png" alt="Dotnet Logo" width="180px" height="100px">
SoftExpertAPI é uma biblioteca em Dotnet Core / C#, que possui um conjunto de classes para abstrair a comunicação SOAP, REST com a API do SoftExpert SESuite e/ou via banco de dados para algumas implementações.<br> Esta biblioteca não está completa e será desenvolvida conforme necessidades e pedidos. Há uma tabela no final com as funções implementada e suas limitações.
Direitos reservados a https://www.softexpert.com/
Documentação original: https://documentation.softexpert.com/en/integration/index.html
Documentação original nova versão: https://developer.softexpert.com/docs/data-integration/getting-started/platform-overview/
Meu email. hudsonventura@outlook.com
Obs.: Testado no SoftExpert 2.1.9.x e Oracle
Há exemplos funcionais no diretório Examples
Get Started
Instale os pacotes do Nuget
dotnet add package SoftExpertAPI
Importe os namespaces ...
using SoftExpert;
using SoftExpert.Workflow; //para o módulo de Workflow
using SoftExpert.Admin; //para o módulo de Administração
Crie uma instancia da API do módulo de Workflow
using SoftExpert;
using SoftExpert.Workflow;
string authorization = "Basic base64encode(DOMINIO\USUARIO:SENHA)"; //deve ser codificado em base64
string url = ;
//Implementação OPCIONAL de uma classe para acessar banco de dados. É necessário respeitar a interface SoftExpertAPI.Interfaces.IDataBase
//Necessário para algumas implementações fora do escopo da API padrão do SoftExpert.
ExampleOracleImplementation _db = new ExampleOracleImplementation(_appsettings);
//Necessário em casos em que os arquivos do SE não ficam no banco de dados
IFileDownload _downloader = new ExampleFileDownloadImplementation(appsettings);
//Criar instancia da API para utilizar na injeção de dependecias. Necessário informar a URL completa do SE e o header Authorization ou todos os headers.
//Se o parâmetro 'db' não for passado, algumas funções não serão corretamente executadas
SoftExpert.Configurations configs = new Configurations(){
baseUrl = "https://se.dominio.com.br",
login = "usuario para login",
pass = "senha do usuario",
domain = "dominio em caso de sincronização com o AD. Senao, não preencher",
token = "SEU TOKEN GERADO NO SEU PERFIL DE USUARIO" //passar em caso de não passar login e senha. Se passado o token, login e senha serão ignorados
//OPCIONAIS
db = _db, //Necessário para funções que acessam o banco de dados. Implementar a interface SoftExpert.IDataBase
downloader = _downloader, //Necessário para caso os arquivos do SE fiquem em um diretório controlado. Implementar a interface SoftExpert.IFileDownload
};
wfAPI = new SoftExpertWorkflowApi(configs);
Crie uma instancia da API do módulo de Administração COM acesso a banco de dados (necessário para muitas funcionalidades)
SoftExpertAdminApi adminAPI = new SoftExpertAdminApi(configs);
Usando a API - Criando uma instancia de workflow
string ProcessID = "CCF"; //identificador do processo
string WorkflowTitle = "Teste de integração"; ; //titulo da instancia a ser criado
string UserID = "00000000000"; //matricula do usuario
try
{
string WorkflowIDCreated = wfAPI.newWorkflow(ProcessID, WorkflowTitle, UserID);
}
catch (SoftExpertException erro)
{
Console.WriteLine($"Este tipo de erro é um erro retornado pela API do SoftExpert. Quando ele for lançado, significa que a comunicação com o servidor funcionou, mas você passou algum parametro que o SESuite não aceito. No 'erro.Message' há detalhes sobre o problema. Erro: {erro.Message}");
}
catch (Exception erro)
{
Console.WriteLine($"Este tipo de erro é um erro genérico, que provavelmente acontecerá em caso de falha de comunicação com o servidor. Erro: {erro.Message}");
}
Demais exemplos
Há mais exemplos nos arquivos Examples/WorkflowExamples.cs e no Examples/AdminExamples.cs.
Não se esquece de que se precisar de acesso ao banco de dados, implemente a interface SoftExpert.IDataBase
como no exemplo em Examples/ExampleOracleImplementation.cs.
Em caso dos arquivos de formulário, documentos e anexos não estiverem no banco de dados, será necessário implementar a interface SoftExpert.IFileDownload
como no exemplo em Examples/ExampleFileDownloadImplementation.cs.
Funções do módulo de Workflow
Função | Banco de dados | Objetivo |
---|---|---|
NewWorkflow | Criar uma nova instância de um processo | |
CancelWorkflow | Cancelar uma instância | |
ChangeWorflowTitle | X | Alterar o título de uma instância |
ExecuteActivity | Executar uma atividade | |
NewAttachment | Anexar um novo arquivo no menu de anexos do lado esquerdo | |
listAttachmentFromInstance | X | Listar os arquivos de uma instância |
EditEntityRecord | Editar os campos de um formulário | |
getFormData | X | Obter os dados (campos e valores) de um formulário |
getFormSelectBox | X | Obter o valor de um selectbox de um formulário |
getWorkFlowData | X | |
GetFileFromOID | X | Obter um arquivo de um formlário |
GetFileFromFormField | X | |
NewChildEntityRecord | Criar um registro de uma grid | |
EditChildEntityRecord | Editar um registro de uma grid | |
ListGridItems | X | Listar os registros de uma grid do menu do lado esquerdo |
Obs.:
Coluna Banco de dados - Itens necessitam de acesso a banco de dados, então precisarão da implementação da interface IDatabase
.
Funções do módulo de Administração
Função | Banco de dados | Objetivo |
---|---|---|
enableUser | X | Ativar um usuário |
disableUser | X | Desativar um usuário |
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net6.0
- Newtonsoft.Json (>= 13.0.2)
- Newtonsoft.Json.Schema (>= 3.0.14)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.3.22 | 125 | 10/30/2024 |
1.3.21 | 96 | 10/29/2024 |
1.3.20 | 94 | 10/29/2024 |
1.3.19 | 101 | 10/10/2024 |
1.3.18 | 117 | 10/1/2024 |
1.3.17 | 106 | 9/24/2024 |
1.3.16 | 103 | 9/24/2024 |
1.3.15 | 108 | 9/19/2024 |
1.3.14 | 124 | 9/3/2024 |
1.3.12 | 108 | 8/28/2024 |
1.3.11 | 111 | 8/28/2024 |
1.3.10 | 98 | 8/28/2024 |
1.3.9 | 161 | 8/14/2024 |
1.3.7 | 131 | 8/14/2024 |
1.3.6 | 130 | 8/14/2024 |
1.3.5 | 125 | 8/14/2024 |
1.3.4 | 121 | 8/13/2024 |
1.3.3 | 123 | 8/13/2024 |
1.3.2 | 122 | 8/13/2024 |
1.3.1 | 122 | 8/9/2024 |
1.2.14 | 130 | 7/9/2024 |
1.2.13 | 121 | 7/5/2024 |
1.2.12 | 126 | 4/24/2024 |
1.2.11 | 118 | 4/24/2024 |
1.2.10 | 132 | 3/20/2024 |
1.2.9 | 126 | 3/12/2024 |
1.2.8 | 139 | 3/4/2024 |
1.2.7 | 130 | 3/4/2024 |
1.2.6 | 130 | 3/4/2024 |
1.2.5 | 139 | 2/20/2024 |
1.2.4 | 124 | 2/20/2024 |
1.2.3 | 132 | 2/20/2024 |
1.2.2 | 124 | 2/20/2024 |
1.2.1 | 120 | 2/20/2024 |
1.2.0 | 125 | 2/20/2024 |
1.1.15 | 198 | 10/9/2023 |
1.1.14 | 152 | 10/9/2023 |
1.1.13 | 145 | 10/9/2023 |
1.1.12 | 154 | 10/9/2023 |
1.1.11 | 155 | 10/3/2023 |
1.1.10 | 152 | 10/3/2023 |
1.1.9 | 159 | 9/26/2023 |
1.1.8 | 148 | 9/19/2023 |
1.1.7 | 195 | 8/17/2023 |
1.1.6 | 160 | 8/17/2023 |
1.0.6 | 318 | 2/8/2023 |
1.0.5 | 286 | 2/8/2023 |
1.0.4 | 284 | 2/7/2023 |
1.0.3 | 455 | 5/18/2022 |
1.0.2 | 468 | 3/18/2022 |
1.0.1 | 435 | 3/18/2022 |
1.0.0 | 443 | 3/10/2022 |