Listar eventos (versão 2)

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:

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

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"
}
]