Neste modelo de comunicação, o ilink toma a iniciativa de comunicar ao ERP no momento que um determinado evento ocorre, dispensando de consultas frequentes ao API.
O ilink disponibiliza 2 webhooks:
Para qualquer dos webhooks acima funcionar é necessário:
Este método, apesar de implementação mais extensa, tem a vantagem de evitar polling constante aos nossos servidores, consumir menos recursos em ambos os sistemas, e permite aceder a toda a informação em tempo real. Só recomendamos optar pela consulta manual caso existam implicações de segurança na abordagem dos Webhooks (ver abaixo).
Esta opção assume que o URL/porta em questão está disponível publicamente, ou pelo menos acessível aos nossos ambientes de testes e produção! Para tal, poderá ser necessário abrir portas ou criar as seguintes excepções no firewall da máquina que executa o serviço web:
Nota: caso falhe o processo de comunicação de um documento, o ilink irá tentar comunicar novamente até 10 vezes nos próximos 7 dias, com intervalos incrementalmente maiores por cada tentativa. Após 10 tentativas falhadas de comunicação, o ilink irá deixar de tentar comunicar esse documento ao ERP.
Um documento é considerado entregue com sucesso ao ERP quando a reposta do webhook retorna um HTTP status code 200 (independentemente do conteúdo da resposta)
Nota: Na implementação deste endpoint, o ERP tem a responsabilidade de validar a chave de acesso e posteriormente registar a informação recebida no seu sistema. Recomendamos vivamente ao vosso sistema validar a chave de acesso enviada nos headers da nossa resposta, caso contrário estão a aceitar dados provenientes de origem desconhecida.
O webhook de novo documento é uma alternativa à consulta frequente de documentos por parte da entidade receptora. Cada vez que chega um novo documento a esta entidade, o callback de novo documento será invocado.
O endpoint implementado deverá esperar os seguintes dados desta especificação.
O webhook de mudança de estado de documento é uma alternativa à consulta frequente dos estados de cada documento emitido por parte da entidade emissora. Cada vez que o receptor do um documento emitido aceitar, recusar ou receber o mesmo, este callback será invocado.
O endpoint implementado deverá esperar os seguintes dados desta especificação.