Postback
O postback é um mecanismo opcional de comunicação com o Estabelecimento para determinados eventos onde na criação da requisição haverá um campo onde ele poderá informar uma URL com um tamanho máximo de 250 caracteres. Essa é uma URL do seu sistema que irá então receber uma notificações a cada alteração de status nesses eventos através de uma requisição POST, contendo um corpo JSON (ContentType:application/json).
Por exemplo, para as transações financeiras e para assinaturas, temos um campo especifico na rota Create Transaction para a URL de postback ser informada. No momento em que o status da transação for alterado, o evento de postback será realizado enviando requisição na URL informada, com os seguintes dados no body da requisição:
| Campo | Descrição | Formato | Presente |
|---|---|---|---|
| id | Identificador da transação. | String | sim |
| metaId | Identificador único, atribuído pelo estabelecimento comercial. | String | sim |
| type | Tipo da entidade envolvida no evento. (1 - Transaction) | Number | sim |
| status | Status atual da operação. | Number | sim |
Observação: Para verificar os status de uma transação, deve-se verificar os tópicos da seção Transações.
Para que seja considerado que a comunicação ocorreu com sucesso, a resposta da requisições deverá conter o código de status 200 ou 204 do protocolo HTTP. Caso ocorra um timeout na resposta, ou a resposta contenha um status diferente dos citados anteriormente, serão efetuadas retentativas intervaladas entre si em pelo menos um minuto até um máximo de cinco vezes. Caso ainda não se obtenha sucesso, NÃO serão feitas tentativas adicionais de comunicação da mudança de status.
O recurso de postback é apenas uma conveniência para facilitar a integração com o gateway, e está sujeito a falhas de comunicação, indisponibilidade de alguma das partes, etc. Desta forma, não elimina a necessidade de consultas periódicas ao status da transação que se deseja monitorar.
Outra questão importante é que o postback pode ser forjado, então quando um postback for recebido não se deve assumir que a informação é confiável. O sistema da 4all deve ser consultado para confirmar se aquela informação realmente é válida ou não. De certa forma, o postback deve ser usado como um trigger para ações.