i am getting below message after passing values in url with curl:
{"AddManifestDetails":[{"AuthKey":"Valid","ReturnMessage":"successful",}]
If ReturnMessage is successful , than i want to update values in database, i tried below code :
<?php
$data =
array (
'OrderNo' => $order_id,
'AirWayBillNO' => $resultc[0]['awb'],
);
$url = "http://114.143.206.69:803/StandardForwardStagingService.svc/AddManifestDetails";
$data = json_encode($data);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$curl_response = curl_exec($curl);
curl_close($curl);
echo $curl_response ."
";
$res=json_decode($curl_response);
foreach ($res->curl_response as $values)
{
if($values->ReturnMessage=='successful')
{
$usql="update do_order set tracking_id='".$resultc[0]['awb']."',shipping_name='xpress', where order_id='".$order_id."'";
$result=$db_handle->executeUpdate($usql);
echo "1";die;
}
else
{
echo $values->ReturnMessage;die;
}
}
Here is full code : https://pastebin.com/EvcEY0xp
Result :
Notice: Undefined property: stdClass::$curl_response
Warning: Invalid argument supplied for foreach()
$res
will already contain decoded response from curl request, which will have only 1 property - AddManifestDetails
.
Try following:
<?php
$data =
array (
'OrderNo' => $order_id,
'AirWayBillNO' => $resultc[0]['awb'],
);
$url = "http://114.143.206.69:803/StandardForwardStagingService.svc/AddManifestDetails";
$data = json_encode($data);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$curl_response = curl_exec($curl);
curl_close($curl);
echo $curl_response ."
";
$res=json_decode($curl_response);
if($res->AddManifestDetails[0]->ReturnMessage=='successful')
{
$usql="update do_order set tracking_id='".$resultc[0]['awb']."',shipping_name='xpress' where order_id='".$order_id."'";
$result=$db_handle->executeUpdate($usql);
echo "1";
die;
}
else
{
echo $res->AddManifestDetails[0]->ReturnMessage;
die;
}