SoftExpertAPI 1.1.14
See the version list below for details.
dotnet add package SoftExpertAPI --version 1.1.14
NuGet\Install-Package SoftExpertAPI -Version 1.1.14
<PackageReference Include="SoftExpertAPI" Version="1.1.14" />
paket add SoftExpertAPI --version 1.1.14
#r "nuget: SoftExpertAPI, 1.1.14"
// Install SoftExpertAPI as a Cake Addin #addin nuget:?package=SoftExpertAPI&version=1.1.14 // Install SoftExpertAPI as a Cake Tool #tool nuget:?package=SoftExpertAPI&version=1.1.14
SoftExpertAPI
SoftExpertAPI é uma biblioteca que possui um conjunto de classes para abstrair a comunicação SOAP ou REST com a API do SoftExpert SESuite.<br> Esta biblioteca não está completa e será desenvolvida conforme necessidades e pedidos. <br> Direitos reservados a https://www.softexpert.com/<br> <br> Documentação original: https://documentation.softexpert.com/en/integration/index.html <br> <br> Se você quer falar comigo, por qualquer proposito, me mande um email. hudsonventura@outlook.com
<br> <br>
Testado no SoftExpert 2.1.7.252 e Oracle
<br>
Há exemplos funcionais no diretório Examples
Importação do namespace ...
using SoftExpert.Workflow;
<br> <br>
Criar uma instancia da API de workflow para uso SEM banco de dados
string authorization = "Basic base64encode(DOMINIO\USUARIO:SENHA)"; //deve ser codificado em base64
string url = "https://se.dominio.com.br";
SoftExpertWorkflowApi wfAPI = new SoftExpertWorkflowApi(url, authorization);
<br> <br>
Criar uma instancia da API de workflow para uso COM banco de dados
Necessário para as funções: listAttachmentFromInstance
<br>
Necessário a implementação de um banco de dados (IDatabase). Ver exemplo de implementação no arquivo Examples/ExampleOracleImplement.cs
. Podem ser implementados outros bancos de dados, desde que estes implementem a interface IDatabase
.
string authorization = "Basic base64encode(DOMINIO\USUARIO:SENHA)"; //deve ser codificado em base64
string url = "https://se.dominio.com.br";
ExampleOracleImplement oracle = new ExampleOracleImplement(appsettings);
SoftExpertWorkflowApi wfAPI = new SoftExpertWorkflowApi(url, authorization, db: oracle);
<br> <br>
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
newWorkflowResponse responseNewWF;
try
{
responseNewWF = wfAPI.newWorkflow(ProcessID, WorkflowTitle, UserID);
}
catch (Exception erro)
{
Console.WriteLine($"Não foi possivel criar o workflow. Erro: {erro.Message}");
return;
}
string WorkflowID = responseNewWF.RecordID;
int codigoNewWorkFlow = responseNewWF.Code;
SoftExpert.SoftExpertResponse.STATUS sucessoNewWorkFlow = responseNewWF.Status;
string detalhesNewWorkflow = responseNewWF.Detail;
<br> <br>
Usando a API - Editando dados do formulário
Dictionary<string, string> formulario = new Dictionary<string, string>();
formulario.Add("possuiendereco", "1"); //id do campo do formulário e valor (em string)
formulario.Add("ramal", "N/A");
Dictionary<string, Dictionary<string, string>> relacionamentos = new Dictionary<string, Dictionary<string, string>>();
relacionamentos.Add("tipocliente", //idrelacionamento
new Dictionary<string, string>() {
//{ "campodoformdorelacionamento", "valor" },
{ "tipo", "PESSOA JURIDICA (CNPJ)" },
}
);
string EntityID = "SOLCLIENTEFORNE";
//em caso de adicionar arquivos no formulário
string filePath = "120.png";
string FileName = "logo.png"; //Nome do arquivo com a extensão
byte[] FileContent = File.ReadAllBytes(filePath); //Binário do arquivo
Dictionary<string, Anexo> arquivos = new Dictionary<string, Anexo>();
arquivos.Add("al5termoassinad", new Anexo() { FileName = FileName, Content = FileContent });
editEntityRecordResponse entityResponse;
try
{
entityResponse = wfAPI.editEntityRecord(
WorkflowID, EntityID, formulario, //campos obrigatórios
relacionamentos, arquivos); //campos opcionais
}
catch (Exception erro)
{
Console.WriteLine($"Não foi possivel editar o formulário. Erro: {erro.Message}");
return;
}
int sucessoEntity = entityResponse.Code;
string detalhesEntity = entityResponse.Detail;
<br> <br>
Usando a API - Editando dados da grid do formulário
//Os campos são os mesmo da função editEntityRecord, adicionando o `ChildRelationshipID` que é o ID do relacionamento
newChildEntityRecordResponse entityResponse;
try
{
entityResponse = wfAPI.newChildEntityRecord(WorkflowID, EntityID, ChildRelationshipID, formulario, //campos obrigatórios
relacionamentos, arquivos); //campos opcionais
}
catch (Exception erro)
{
Console.WriteLine($"Não foi possivel editar o formulário. Erro: {erro.Message}");
return;
}
int sucessoEntity = entityResponse.Code;
string detalhesEntity = entityResponse.Detail;
<br> <br>
Usando a API - Execução de atividade
string ActivityID = "ATIV-SOLCCF"; //ID da atividade do fluxograma
int ActionSequence = 3; //Sequence da ação da atividade. Veja na lista de ações da atividade
executeActivityResponse executeResponse;
try
{
executeResponse = wfAPI.executeActivity(WorkflowID, ActivityID, ActionSequence, UserID);
}
catch (Exception erro)
{
Console.WriteLine($"Não foi possivel executar a atividade. Erro: {erro.Message}");
return;
}
var houveSucesso = executeResponse.Code;
var detalhes = executeResponse.Detail;
<br> <br>
Usando a API - Anexar arquivo (menu do lado esquerdo de uma instancia)
string filePath = "120.png";
byte[] FileContent = File.ReadAllBytes(filePath); //Binário do arquivo
string ActivityID = "ATIV-SOLCCF"; //ID da atividade em que o arquivo será anexado
string WorkflowID = "CCF202323106"; //ID da instancia
Anexo Arquivo = new Anexo() { //pode-se passar também uma List<Anexo>
FileName = "logo.png", //Nome do arquivo com a extensão
Content = FileContent //Binário do arquivo
};
newAttachmentResponse newAttachment;
try
{
newAttachment = wfAPI.newAttachment(WorkflowID, ActivityID, Arquivo);
}
catch (Exception erro)
{
Console.WriteLine($"Não foi possivel anexar o arquivo a instancia de Workflow. Erro: {erro.Message}");
return;
}
<br> <br>
Usando a API - Listar arquivos (menu do lado esquerdo de uma instancia)
Necessário a implementação de um banco de dados.
string WorkflowID = "TESTE2023000001";
List<Anexo> anexos;
try
{
anexos = wfAPI.listAttachmentFromInstance(WorkflowID);
}
catch (Exception erro)
{
Console.WriteLine($"Não foi possivel criar o workflow. Erro: {erro.Message}");
return;
}
foreach (var anexo in anexos)
{
File.WriteAllBytes($"{Environment.CurrentDirectory}{anexo.FileName}", anexo.Content);
}
<br> <br>
Usando a API - Listar itens de uma grid de uma instancia de WF
string WorkflowID = "IR090867";
string MainEntityID = "IR";
string ChildEntityID = "IRCOMENTARIO";
string ChildOID = "OIDABCX0LIPROHT4H2";
List<dynamic> itens_grid;
try
{
itens_grid = wfAPI.listGridItems(WorkflowID, MainEntityID, ChildEntityID, ChildOID);
}
catch (Exception erro)
{
Console.WriteLine($"Não foi possivel criar o workflow. Erro: {erro.Message}");
return;
}
documentar:
//lista os parametros de uma instancia deworkflow getWorkFlowData getWorkFlowData = new getWorkFlowData(wfAPI); getWorkFlowData.Main();
//lista os campos e valores de um furmulário de um dados workflow getFormData getFormData = new getFormData(wfAPI); getFormData.Main();
//obtem os campos de um select box getFormSelectBox getFormSelectBox = new getFormSelectBox(wfAPI); getFormSelectBox.Main();
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)
- RestSharp (>= 108.0.3)
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 |