SoftExpertAPI 1.3.20
See the version list below for details.
dotnet add package SoftExpertAPI --version 1.3.20
NuGet\Install-Package SoftExpertAPI -Version 1.3.20
<PackageReference Include="SoftExpertAPI" Version="1.3.20" />
paket add SoftExpertAPI --version 1.3.20
#r "nuget: SoftExpertAPI, 1.3.20"
// Install SoftExpertAPI as a Cake Addin #addin nuget:?package=SoftExpertAPI&version=1.3.20 // Install SoftExpertAPI as a Cake Tool #tool nuget:?package=SoftExpertAPI&version=1.3.20
SoftExpertAPI
<p align="center"> <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"> </p>
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 2.2.1.x com bando de dados Oracle
Há exemplos funcionais no diretório Examples
Get Started
Instale os pacotes do Nuget
dotnet add package SoftExpertAPI
Importe os namespaces ...
using SoftExpertAPI;
using SoftExpertAPI.Workflow; //para o módulo de Workflow
using SoftExpertAPI.Admin; //para o módulo de Administração
Link para a página do Nuget: https://www.nuget.org/packages/SoftExpertAPI/
Crie uma instancia da API do módulo de Workflow
using SoftExpertAPI;
using SoftExpertAPI.Workflow;
//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
SoftExpertAPI.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 | Diretório Controlado | Exemplo | Objetivo |
---|---|---|---|---|
newWorkflow | ✔ | Criar uma instância de um processo | ||
cancelWorkflow | ✔ | Cancelar uma instância | ||
ChangeWorflowTitle | ❌ | ✔ | Alterar o título de uma instância de processo | |
executeActivity | ✔ | Executar uma atividade | ||
newAttachment | ✔ | Anexar um novo arquivo no menu de anexos do lado esquerdo | ||
ListAttachmentFromInstance | ❌ | ❌ | ✔ | Listar os arquivos de uma instância |
editEntityRecord | ✔ | Editar os campos de um formulário | ||
GetFormData | ❌ | ✔ | Obter os dados (campos e valores) de um formulário | |
GetFormSelectBox | ❌ | ❌ | Obter o valor de um selectbox de um formulário | |
GetWorkFlowData | ❌ | ❌ | Obter os dados de uma instancia da tabela wfprocess | |
GetFileFromOID | ❌ | ❌ | ✔ | Obter um arquivo de um OID obtível de um campo de anexo do formulário |
GetFileFromFormField | ❌ | ❌ | ✔ | Obter um arquivo de um campo do formulário |
newChildEntityRecord | ✔ | Criar um registro de uma grid | ||
editChildEntityRecord | ✔ | Editar um registro de uma grid | ||
ListGridItems | ❌ | ✔ | Listar os registros de uma grid do menu do lado esquerdo | |
getFormSelectBox | ❌ | |||
getWorkFlowData | ❌ | |||
MarkActivityAsExecuted | ❌ | Marcar uma atividade como executada, mas não a executa de fato. | ||
addHistoryComment | ✔ | Adiciona um comentário no histórico | ||
unlinkActivityFromUser | ✔ | Desassocia uma atividade de um usuário e devolve para o papel funcional ou equipe. | ||
reactivateWorkflow | ✔ | Reativa uma instância de processo | ||
returnWorkflow | ✔ | Retorna uma instância de processo para uma atividade específica | ||
delegateWorkflow | ✔ | Delega uma atividade | ||
GetWorflowStatus | ❌ | ❌ | ||
GetActualActivities | ❌ | ❌ | Este método tráz a lista de atividades habilitadas de uma instancia | |
AlterUserStart | ❌ | ✔ | Altera o usuário iniciador de uma instância de processo. |
Obs. Exemplos no arquivo Examples/WorkflowExamples.cs.
Funções do módulo de Administração
Função | Banco de dados | Diretório Controlado | Exemplo | Objetivo |
---|---|---|---|---|
enableUser | ❌ | ✔ | Ativar um usuário | |
disableUser | ❌ | ✔ | Desativar um usuário |
Obs. Exemplos no arquivo Examples/AdminExamples.cs.
Obs. Gerais:
Funções iniciadas com letra minúscula como newWorkflow
, são apenas uma tradução para alguma API original do SE.
Funções iniciadas com letra maiúscula como AddHistoryComment
, possuem desenvolvimento próprio e/ou não usam apenas alguma API original do SE.
❌ Coluna Banco de dados - Itens necessitam de acesso a banco de dados, então precisarão da implementação da interface IDatabase
.
❌ Coluna Diretório Controlado - Itens que caso você possua arquivos de formulário, anexo e documento em um diretório controlado, então precisarão da implementação da interface IFileDownloader
.
✔ Coluna Exemplo - Itens que já possuem exemplo implementado. Veja no diretório Examples
.
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 |