APIs do SoftExpert Processo
Apresentação
Veja abaixo as APIs disponíveis no SoftExpert Processo:
API PHP (Workflow)
O objetivo desta API é permitir consultar e editar dados de uma instância do processo. São disponibilizados métodos em PHP para realizar as operações.
Dessa forma, não é necessário conhecer a base de dados do Workflow e, também, se garante que as alterações no sistema sejam aplicadas na API sem necessidade de adequações por parte do cliente.
Utilização da API
A API do Workflow deve ser utilizada em uma aplicação externa associada em uma atividade de sistema ou na ação do Workflow.
Para criar uma aplicação externa, deve-se acessar o menu de cadastro PM042.
O primeiro passo no arquivo da aplicação externa é fazer o require_once do arquivo global.php.
O caminho "../../" significa que a aplicação externa está 2 diretórios a partir da raiz do SoftExpert Suite. Exemplo: workflow/wf_app/my_app.php.
Em seguida deve-se realizar o require_once da API do workflow. Para isso deve-se utilizar o arquivo: workflow/api/class.WorkflowAPI.inc.
Feito isso, basta criar o objeto da API passando como parâmetro o código da instância. Por padrão, todas as aplicações externas do sistema já recebem o parâmetro "oid_process".
Não é necessário passar parâmetros adicionais para esse propósito, como o quadro 01 exemplifica:
require_once('../../global.php');
require_once('workflow/api/class.WorkflowAPI.inc');
$workflow_api = new WorkflowAPI($_REQUEST["oid_process"]); //WFPROCESS.IDOBJECT
Métodos
A API suporta os métodos para buscar e atualizar campos do formulário ou atributos do processo. Os métodos são:
| getAttributeValue | Busca o valor de um atributo do processo. |
| getEntityAttributeValue | Busca o valor de um campo do formulário. |
| getEntityRelationshipValue | Busca o valor de uma lista de valores do formulário. |
| getDateToday | Busca a data atual. |
| getTimeNow | Busca a hora atual. |
| setAttributeValue | Edita o valor de um atributo do processo. |
| setEntityAttributeValue | Edita o valor de um campo do formulário. |
| setEntityRelationshipValue | Edita o valor de um campo lista de valores do formulário. |
| setWorkflowTitle | Altera o título do workflow. |
| getWorkflowTitle | Busca o título do workflow. |
API de inicialização
Inicia uma instância do processo modelo, tipo de incidente ou tipo de problema passado por parâmetro.
Workflow
https://domain/se/workflow/api/new_workflow.php?processid=PROCESSID&workflowtitle=WORKFLOWTITLE
Parâmetros
| PROCESSID | Identificador do processo. |
| WORKFLOWTITLE | Título do workflow. |
| INCIDENTTYPEID | Identificador do tipo de incidente. |
| INCIDENTTITLE | Título do tipo de incidente. |
| PROBLEMTYPEID | Identificador do tipo de problema. |
| PROBLEMTITLE | Título do tipo de problema. |
API de execução
Abre a tela da tarefa de execução (o parâmetro activitysequence é requerido quando há mais de uma atividade com o mesmo identificador).
Workflow
https://domain/se/workflow/api/execute_activity.php?workflowid=WORKFLOWID&activityid=ACTIVITYID&activitysequence=ACTIVITYSEQ
Parâmetros
| WORKFLOWID | Identificador do workflow (instância). |
| ACTIVITYID | Identificador da atividade. |
| ACTIVITYNRORDER | Número da ordem (o parâmetro activityorder é requerido quando há mais de uma atividade com o mesmo identificador). |
| INCIDENTID | Identificador do incidente (instância). |
| PROBLEMID | Identificador do problema (instância). |
API de consulta
Abre a tela de dados da instância.
Workflow
https://domain/se/workflow/api/view_workflow.php?workflowid=WORKFLOWID
Parâmetros
| WORKFLOWID | Identificador do workflow (instância). |
| PROBLEMID | Identificador do problema (instância). |
| INCIDENTID | Identificador do incidente (instância). |