Editar registos
É igualmente possível, pela REST API, alterar os registos, podendo facilitar na manipulação de estados de pagamento de acordo com o que soluções terceiras pretendam com os dados.
Para editar um registo existente, primeiro é necessário obter a versão atual do registo a editar. Este processo inicia-se com a construção de um URL específico que utiliza o identificador público do registo (o valor de PID - anteriormente public_id). Em seguida, é feita uma requisição GET a essa URL, utilizando cURL, para obter os detalhes do registo, incluindo a sua versão atual. Após confirmar que a versão do registo foi corretamente obtida, os dados a serem atualizados são preparados em formato JSON, incluindo campos personalizados como URL (anteriormente paymentFormUrl), OID (anteriormente order_id), CPM (anteriormente chosen_payment_method), PS (anteriormente payment_status), e URL_S (anteriormente url_status). Um novo URL é então construído para a requisição PUT, que envia os dados preparados para atualizar o registo. Finalmente, a requisição PUT é executada, e o sistema verifica o código de resposta HTTP para assegurar que a atualização foi bem-sucedida. Em caso positivo, o processo de edição está concluído, e o registo é atualizado conforme os novos dados fornecidos.
Explicação do código exemplificado
Função getRecordVersion:
Obtém a versão atual do registo usando uma requisição GET.
Utiliza cURL para fazer a requisição e retorna a versão obtida do registo.
Função updatePaymentStatus:
Atualiza o estado de pagamento do registo utilizando uma requisição PUT.
Prepara os dados necessários no formato JSON e envia a requisição PUT com cURL.
Execução do Processo:
Verifica se os parâmetros necessários estão presentes.
Obtém a versão do registo usando getRecordVersion.
Atualiza o estado de pagamento usando updatePaymentStatus.
Exibe uma mensagem de sucesso ou erro conforme o resultado das operações.
Parâmetros de Exemplo:
Os parâmetros fornecidos no exemplo ($public_id, $paymentFormUrl, $REF, $paybylink_ID, etc.) devem ser substituídos pelos valores reais obtidos dinamicamente no seu código. Chama-se a atenção para o facto de que, na atualização de um registo, se necessita de passar todos os custom field id por forma a se poder inserir o dado a atualizar. Apesar de se obter o número da versão do registo, o mesmo só é passado, sendo que o incremento é feito pela plataforma e não do lado de quem programa, como mostrado no exemplo.
Este exemplo mostra como obter a versão de um registo e, em seguida, atualizar o seu estado de pagamento, garantindo que todas as operações sejam realizadas corretamente e que os erros sejam tratados adequadamente.
Apesar de se obter o número da versão do registo, o mesmo só é passado, sendo que o incremento do número do registo é feito pela plataforma e não do lado de quem programa.