Я хочу отправить полученные данные JSON в сценарий PHP CURL, который я написал на своем сервере, чтобы затем перенаправить данные на несколько внешних URL-адресов веб-крюка, обусловленных данными, полученными в определенном ключе / значении поля.
Однако либо мое утверждение IF неправильно настроено, либо я не получаю доступ к полевым данным должным образом, потому что моя конечная точка тестового веб-крюка не доставляется.Если я удаляю оператор IF, код доставляет данные, как и ожидалось.
$dataReceive = file_get_contents("php://input");
$dataEncode = json_encode($dataReceive, true);
$headers = array ( 'Content-type: application/json');
print_r($dataEncode);
$curl = curl_init();
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt( $curl, CURLOPT_POST, 1);
curl_setopt( $curl, CURLOPT_POSTFIELDS, $dataEncode);
curl_setopt( $curl, CURLOPT_HTTPHEADER, $headers);
if ( $dataEncode ['Field 3'] == 'Test' ) {
curl_setopt( $curl, CURLOPT_URL, 'http://webhook1.com');
}
if ($dataEncode ['Field 3'] == 'Test Value 2' ) {
curl_setopt( $curl, CURLOPT_URL, 'http://webhook2.com');
}
$results = curl_exec($curl);
echo $results;
curl_close($curl);
Данные JSON, полученные в объекте $ dataReceive:
{
"Timestamp": 1568838624687,
"Object": "Project",
"UserId": "",
"ObjectId__PhaseId": 111,
"Other__PhaseName": "Turndown",
"ProjectId": 111,
"OrgId": 111,
"Event": "PhaseChanged",
"ObjectId__ProjectTypeId": 1409
}
Я тестирую с помощьюПочтальон просто отправляет фиктивные данные в мой PHP-скрипт, но как только он заработает, как и ожидалось, я на самом деле буду фильтровать ключ «Other_PhaseName».
Оцените помощь!