Retorna a lista paginada de eventos do módulo Workflow com detalhes sobre os ativos associados aos eventos e as pessoas e grupos alocados como envolvidos.
URL
{WSUrl}/api/v2/events[?[status=<Situação>][[&]$filter=<filtro>][[&]page=<Página>][[&]page_size=<Tamanhodapágina>][[&]$orderby=<campo1[desc],campo2[desc]...campoN[desc]>]]
MÉTODO DE SOLICITAÇÃO
GET
PARÂMETROS DA URL
status: filtro das situações dos eventos do Workflow. Lista separada por vírgula com as situações desejadas. Uma situação pode assumir um dos seguintes valores numéricos: 0: Cancelled (cancelado), 1: Open (aberto) ou 2: Closed (fechado). Caso omitido, todos os eventos serão retornados.
page: número da página a ser exibida. Valores válidos: de 1 até o número máximo de páginas. Se omitido, o valor 1 é utilizado. Se for superior ao número máximo de páginas, será retornada uma lista vazia.
page_size: número de itens exibidos por página. Valores válidos: de 1 a 1.000. Caso omitido, o valor padrão de 10 itens é utilizado.
filter: consulta baseada na sintaxe do protocolo OData para configurar filtros. Os campos permitidos estão listados abaixo. Siga os exemplos para identificar as operações permitidas.
orderby: ordena os eventos listados na página por campo. Para ordenar por mais de um campo, utilize a vírgula entre os campos. Para utilizar a ordem decrescente, digite a palavra-chave "desc" para cada campo desejado. Os campos permitidos estão listados abaixo.
CAMPOS SUPORTADOS
string Title;
string Code;
string Description;
byte Urgency;
byte Severity;
byte Relevance;
byte USR;
byte Status;
DateTime? UpdatedOn;
DateTime? StartDate;
DateTime? EndDate;
DateTime? ExpectedStartDate;
DateTime? ExpectedEndDate;
DateTime? Deadline;
string Author;
string Responsible;
string Coordinator;
string FirstReviewer;
string SecondReviewer;
string ThirdReviewer;
string Origin;
string ParentEvent;
byte Progress;
DateTime Created;
double? Value;
bool Notify;
string LastUpdatedBy;
string ProjectLeader;
double? Latitude;
double? Longitude;
string EventType;
object Involveds[];
object AssociatedAssets[];
object CustomAttributes;
O objeto Involveds é um array com a seguinte estrutura:
Involveds
{
guid Id;
string Name;
string Type;
}
Nota: o campo Type exibe os valores "Person" para pessoas e "Group" para grupos.
O objeto AssociatedAssets é um array com a seguinte estrutura:
AssociatedAssets
{
guid Id;
string Name;
string TypeName;
}
Os filtros seguem o padrão ODATA (http://www.odata.org/developers/protocols/uri-conventions). Os operadores suportados na linguagem da expressão estão descritos na tabela abaixo:
Operador |
Descrição |
Exemplo |
eq |
Igual |
Urgency eq 5 |
ne |
Diferente |
Urgency ne 5 |
gt |
Maior que |
Urgency gt 3 |
ge |
Maior que ou igual |
Urgency ge 4 |
lt |
Menor que |
Urgency lt 3 |
le |
Menor que ou igual |
Urgency le 2 |
substringof |
Contém uma substring |
substringof('xpto',Title) |
Os operadores lógicos suportados na linguagem da expressão estão descritos na tabela abaixo:
Operador |
Descrição |
Exemplos |
and |
E lógico |
Urgency eq 5 and Severity eq 5 |
or |
Ou lógico |
Urgency eq 5 or Severity eq 5 |
not |
Negação lógica |
not Urgency eq 5 |
( ) |
Agrupamento precedente |
(Urgency eq 5 and Severity eq 5) or (Relevance eq 5) |
TIPOS DE DADOS
String ou Text: o texto deve ser colocado entre aspas simples.
Byte: valor numérico inteiro.
Double: valor numérico real que utiliza um ponto (.) como separador de casas decimais.
Datetime: deve seguir o formato datetime'AAAA-MM-DDT00:00:00' entre aspas simples. Exemplos:
• Com data e hora: datetime'2010-10-25T12:34:56'.
• Somente com data: datetime'2010-10-25'.
LIMITAÇÕES CONHECIDAS
•Os parâmetros $select e $expand do padrão ODATA não foram implementados.
• Para utilizar caracteres especiais como "&" e aspas simples, são necessários tratamentos especiais. Exemplos:
o Para fazer um filtro que contenha "McDonald's" no campo "Description", é necessário duplicar a aspa de "McDonald's", como no exemplo a seguir: substringof('McDonald''s',Description).
o Para fazer um filtro que contenha "Johnson&Johnson" no campo "Description", é necessário substituir o & pela sua codificação hexadecimal, nesse caso %26, como no exemplo a seguir: substringof('Johnson%26Johnson',Description).
• Para criar um filtro para uma data específica – por exemplo, para eventos criados no dia 19 de setembro de 2011 – o seguinte filtro não funcionará: (Created eq datetime'2011-09-19'). No lugar desse, o seguinte filtro deve ser utilizado: (Created ge datetime'2011-09-19')and(Created lt datetime'2011-09-20').
• Os filtros dos atributos são aplicáveis apenas aos atributos do tipo Texto, Lista de Opções de seleção única e Lista de Opções de seleção múltipla.
EXEMPLOS DE SOLICITAÇÃO
Os primeiros 10 eventos em qualquer situação:
{WSUrl}/api/v2/events
Os eventos de 11 a 20 (segunda página) em qualquer situação:
{WSUrl}/api/v2/events?page=2
Filtrar pelo campo "Urgency" com valor igual a 3:
{WSUrl}/api/v2/events?$filter=Urgency eq 3
Filtro de eventos com atributo customizado do tipo Data. Tenha em mente que filtros de atributos de eventos requerem que o campo CustomAttributes seja especificado na chamada.
{WSUrl}/api/v2/events?$filter=CustomAttributes/data_001 ge datetime2'2024-06-25'
Filtro de eventos com atributo customizado do tipo Fórmula com saída em Data/Hora.
{WSUrl}/api/v2/events?$filter=CustomAttributes/prazo_texto ge datetime'2024-06-25'
RESPOSTA DE SUCESSO
Lista de objetos com as informações dos eventos segundo o filtro e a paginação solicitados.
Retorna um WorkflowEvent[].
O objeto WorkflowEvent tem o seguinte formato:
WorkflowEvent
{
Guid Id;
string Title;
string Code;
string Description;
byte Urgency;
byte Severity;
byte Relevance;
byte USR;
EventState Status;
DateTime? UpdatedOn;
DateTime? StartDate;
DateTime? EndDate;
DateTime? ExpectedStartDate;
DateTime? ExpectedEndDate;
DateTime? Deadline;
string Author;
string Responsible;
string Coordinator;
string FirstReviewer;
string SecondReviewer;
string ThirdReviewer;
string Origin;
string ParentEvent;
byte Progress;
DateTime Created;
double? Value;
string LastUpdatedBy;
string ProjectLeader;
double? Latitude;
double? Longitude;
string GeolocationDescription;
string EventType;
object Involveds[];
object AssociatedAssets[];
object CustomAttributes;
}
EXEMPLO DE RESPOSTAS DE SUCESSO
[
{
"Id":
"95d1d58b-ac14-40a0-9389-dd5a537bffc7",
"Title":
"Elaborar Plano de Ação",
"Code":
"EVTD202004002478",
"Description": "Elaborar Plano de
Ação",
"Urgency":
3,
"Severity":
3,
"Relevance": 3,
"USR":
27,
"Status":
1,
"UpdatedOn":
"/Date(1586381088687-0300)/",
"Author":
"administrator",
"AuthorId":
"6cd3429a-ead5-11e9-8223-02cfad345886",
"Responsible":
"Susan Doe",
"Coordinator": "Gabriel
Doe",
"ResponsibleData":
{
"Id":
"c80dd32d-019a-11ea-8224-02cfad345886",
"Name":
"Susan Doe ",
"Type":
"Person"
},
"CoordinatorData":
{
"Id":
"2dfad6d4-f0f3-11e9-8223-02cfad345886",
"Name":
"Gabriel Doe",
"Type":
"Person"
},
"Origin":
"Workflow",
"Progress":
0,
"Created":
"/Date(1586187127863-0300)/",
"LastUpdatedBy":
"administrator",
"EventType":
"Ação",
"Involveds":
[
{
"Id":
"6f3a6d0b-2b2f-11ea-8227-02cfad345886",
"Name":
"Financeiro",
"Type":
"Group"
},
{
"Id":
"6282e0a4-2b2f-11ea-8227-02cfad345886",
"Name":
"RH",
"Type":
"Group"
},
{
"Id":
"cd6e41c0-28b7-11ea-8227-02cfad345886",
"Name":
"Marketing",
"Type":
"Group"
}
],
"AssociatedAssets":
[
{
"Id":
"212564e9-aa99-4d4b-9122-eb10a651e656",
"Name":
"Auditoria
Interna",
"TypeName":
"Macroprocesso"
},
{
"Id":
"4c2ced1b-47ff-446e-b100-a62e3f5c32d5",
"Name":
"Pesquisa, Desenvolvimento e
Inovação",
"TypeName":
"Macroprocesso"
},
{
"Id":
"becce1e4-42d9-9847-b863-639d7f1222f3",
"Name":
"Recursos
Humanos",
"TypeName":
"Macroprocesso"
}
],
"Notify":
true,
"CustomAttributes":
{
"peso_c1":
1.0,
"nome_c5": "Critério
5",
"conversao__baixo":
2.0,
},
"ParentEvent":
"EVTD20114001269"
}
]