Roteadores às vezes podem demorar para responder a uma requisição sob algumas condições, como, por exemplo:
Essa demora impossibilita que o retorno da requisição ao roteador seja enviado na resposta da API. Para evitar mais de uma consulta à API ao realizar uma ação (uma para realizar a ação, e outra para verificar a sua conclusão), foi
implementado na API do IXCsoft ACS um sistema de WebHooks.
Os WebHooks só funcionarão se forem previamente ativados em Clientes API. Ver a documentação correspondente para mais informações.
Ao receber uma requisição cadastrada em WebHooks, a API a responderá com uma mensagem de confirmação de recebimento,
com um número de protocolo que identifica todas as ações relacionadas à requisição.
Número de protocolo
O número de protocolo é um UUID de 32 caracteres, com grupos separados por hífens. Todas as respostas enviadas através de WebHooks e que derivem de uma requisição, terão o mesmo UUID, permitindo ao API Client que monitore de forma confiável quando uma requisição é finalizada.
Então, a API criará um Hook que será acionado quando a ação for finalizada por parte do CPE. Ao terminar a execução, um POST contendo informações sobre a requisição e avisando sobre o seu status será enviado à URL cadastrada pelo Client API.
Métodos com WebHooks habilitados
Os métodos que atualmente possuem suporte a WebHooks são:
- devices/parameters/update/: Update de Parâmetros;
- /api/v1/devices/reboot: Reboot de dispositivo.
Caso não exista uma resposta do CPE em até uma hora após a requisição da API, será lançado um WebHook de erro, porém em casos específicos, mesmo com a mensagem de erro por timeout, a ação pode acabar sendo executada no dispositivo.