Agora o Senior Flow permite que determinados endpoints aguardem mais de 30 segundos por uma resposta, o que amplia as possibilidades de integração e processamento em fluxos mais complexos.
Mas atenção, nem todos os endpoints são compativeis, verifique no link abaixo se o endpoint necessário já está disponível: https://dev.senior.com.br/api_publica/platform_bpm_timeout
Existem dois modos de execução, o modo simplicado que mentem a request por até 1 minuto e o modo avançado que consegue segurar até 5 minutos.
Modo simplicado (timeout ocorre com 1 minuto de execução)
Este modo oferece uma forma mais simples e direta de utilizar o recurso de timeout estendido, executando internamente os passos avançados de controle e pooling.
Para usá-lo, basta fazer uma requisição HTTP para o endpoint abaixo, com o payload estruturado da seguinte forma:
https://timeout.xplatform.com.br
{
“name”: “startProcess” // poder ser responsePendency, getFormAccessProperties, invoke…,
“payload”: {…} // parametros que seriam passado para o endpoint com timeout de 30 segundos
}

Modo Avançado (timeout dinâmico, espera até 5 minutos)
Este modo oferece um tempo de execução maior para as operações, porém requer uma implementação um pouco mais trabalhosa. Confira abaixo a lista de endpoints compatíveis com essa abordagem:
Para o exemplo será usado o endpoint:
https://platform.senior.com.br/t/senior.com.br/bridge/1.0/rest/platform/bpm_timeout/queries/invoke
1. Gerar um ticketRequest (UUID v4)
Para iniciar, é necessário gerar um UUID no formato v4. Esse identificador pode ser criado em qualquer linguagem de programação como Java, JavaScript, C#, Node.js, Python, entre outras.
Este UUID deverá ser enviado no campo ticketRequest do payload da chamada inicial.
2. Consultar a resposta com o getTicketResponse
Após a chamada inicial, independentemente do retorno ser sucesso ou timeout, será necessário consultar a resposta utilizando o endpoint getTicketResponse.
Esse endpoint retorna o resultado da solicitação com base no ticketRequest informado.
https:/platform.senior.com.br/t/senior.com.br/bridge/1.0/rest/platform/bpm_timeout/queries/getTicketResponse
{
“ticketRequest”:”a1b2c3d4-e5f6-7890-abcd-1234567890ef” // ticket gerado no passo 1.
}
Caso o conteúdo da resposta ainda não esteja disponível (retorno em branco), basta repetir a chamada até obter o dado esperado.
3. Retorno da chamada
O retorno será um JSON em formato de string o qual quem estiver utilizando deve efetuar o parse, como segue o exemplo abaixo:
{
“response”: “{\”accessPropertiesResponse\”:{\”performerURI\”:\”com.senior.wfe.EcmForm\”,\”performerData\”:\”{\\\”processId\\\”:\\\”1\\\”,\\\”entityName\\\”:\\\”multi_user\\\”,\\\”formVersion\\\”:\\\”1\\\”,\\\”processVersion\\\”:\\\”1\\\”,\\\”fieldsConfig\\\”:\\\”{}\\\”}\”,\”attachTabVisibility\”:true}}”
}