I know Keap’s PHP SDK has support for the Data Service, but as you are using the Azure platform you need something different here.
I am not an Azure expert, but I know Microsoft has an Infusionsoft Connector, are you using this below.
Although from what I am seeing it has very limited functionality.
I extracted a piece of code I wrote last year which is bare minimum in updating the Contact Record via XML-RPC. I am not sure if you have something in Azure that can deal with this. You would have to alter the XML to fit your needs, but the API Documentation will explain this. It also works with the Legacy API Encrypted Key and not OAuth Tokens.
If that does not help, then you will have to contact an expert in the Marketplace to see if they can help you here, but it may come at a price. https://marketplace.keap.com/
<?php
// Example PHP script to update the Contact Job Title field via the XML-RPC using the Legacy API Encrypted Key.
ini_set("display_errors", 1);
ini_set("display_startup_errors", 1);
error_reporting(E_ALL);
// API Connection.
$app = "**ABCDEF**"; // Your Keap Account Name.
$key = "**ABCDEF**"; // Your API Encrypted Key.
// Contact Details To Update.
$contact = 123; // Contact Id.
$field = "JobTitle"; // Contact Field to update.
$value = date("Y-m-d H:i:s"); // Contact Value to set.
// API Request.
$request = "<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
<methodName>ContactService.update</methodName>
<params>
<param>
<value><string>$key</string></value>
</param>
<param>
<value><int>$contact</int></value>
</param>
<param>
<value>
<struct>
<member>
<name>$field</name>
<value>
<string>$value</string>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>";
$url = "https://$app.infusionsoft.com:443/api/xmlrpc";
$headers = [ "Content-Type: text/xml", "Accept-Charset: UTF-8,ISO-8859-1,US-ASCII", "Expect:" ];
$useragent = "XML-RPC Example";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_ENCODING, "");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSLVERSION, 0);
$output = curl_exec($ch);
curl_close($ch);
var_dump($output);```