Serviço de callback para API de tarefas

Pensando em lembrar de funcionalidades importantes no sistema e que facilitam a gestão das informações, neste artigo veremos sobre o serviço de callback, que serve para notificar automaticamente um histórico recebido na retaguarda para outro sistema. Isso torna o processo mais ágil, sem a necessidade de fazer requisições de API para consultar se a informação já chegou ou ainda está sendo processada.

Importante ressaltar que o serviço só é disparado quando todas as informações da tarefa estiverem disponíveis. Ou seja, caso a execução contenha fotos, a callback só será executada quando todas as fotos estiverem disponíveis. Isso ocorre pois o tempo de sincronismo dos dados e fotos é diferente, pois as fotos possuem tamanho maior e demoram mais tempo para finalizar o sincronismo que os dados.

Como configurar Callback

Para que funcione adequadamente, deve ser criado um campo customizável alfanumérico na tarefa. Esse campo deve possuir o valor“callback” no identificador alternativo. Dessa forma, ao criar uma tarefa, deve ser informado nesse campo (callback) a URL do seu sistema que irá receber os dados do histórico que estão no uMov.me, conforme exemplo mostrado abaixo:

Callback

Figura 1: Exemplo de criação de tarefa pelo Center informando URL de callback

Quando um histórico da tarefa for recebido na retaguarda, com o processo de callback ativo, e com uma URL de callback cadastrada na tarefa, será disparado uma notificação para esta URL informando que há dados na retaguarda a serem processados.

Para acesso ao histórico deve ser feito uma requisição via API solicitando as informações dos históricos recebidos na retaguarda, sendo que a callback envia informações que ajudam na identificação do que deve ser requisitado. O retorno que receberemos será conforme o exemplo listado abaixo:

<schedule>
<alternativeIdentifier>Tarefa XXX</alternativeIdentifier>
<activityHistories>
<activityHistory id=”8988776655445393″/>
</activityHistories>
</schedule>

Note que nesse exemplo, é enviado o identificador alternativo da tarefa (Tarefa XXX) e o histórico recebido para a tarefa abaixo com o id=”8988776655445393″. Para buscar os dados do histórico, podem ser usados os métodos de busca do histórico de forma hierárquica (GET /CenterWeb/api/{$apiKey}/activityHistoryHierarchical/{$id}.xml) ou busca de forma simples (GET /CenterWeb/api/{$apiKey}/activityHistory/{$id}.xml).

Para que o callback funcione de forma adequada, deve ser solicitada a ativação do recurso ao time de suporte.

Importante: O sistema somente irá considerar os históricos recebidos após a data e hora de ativação do recurso de callback e para tarefas que possuem uma URL de callback válida. Além disso, ao disparar a requisição do callback, o sistema marca o histórico como já integrado. Dessa forma, a chamada da API de callback é executada uma única vez por histórico. Somente é executada novamente, caso ocorra algum erro na chamada da URL.

Ficou alguma dúvida? Utilize o chat dentro do uMov.me Center ou faça contato com o nosso time para maiores esclarecimentos.