SoftExpertAPI 1.3.7

There is a newer version of this package available.
See the version list below for details.
dotnet add package SoftExpertAPI --version 1.3.7                
NuGet\Install-Package SoftExpertAPI -Version 1.3.7                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SoftExpertAPI" Version="1.3.7" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SoftExpertAPI --version 1.3.7                
#r "nuget: SoftExpertAPI, 1.3.7"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install SoftExpertAPI as a Cake Addin
#addin nuget:?package=SoftExpertAPI&version=1.3.7

// Install SoftExpertAPI as a Cake Tool
#tool nuget:?package=SoftExpertAPI&version=1.3.7                

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

//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 Diretório Controlado Objetivo
NewWorkflow Criar uma instância de um processo
CancelWorkflow Cancelar uma instância
ChangeWorflowTitle 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 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 formlá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

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 Ativar um usuário
disableUser Desativar um usuário
Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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