Skip to content
Advertisement

Date and status submit null values via curl in PHP

I have a following request method below which I am posting to an API via Curl

{
"status": [
{
"status": "string",
"date": "string"
}
],
"first_name": "string",
"last_name": "string"
}

The first_name and last_name values get posted successfully but status and date parameters submitted empty values. How do I also get the value of status and date parameters to be submitted also?

Here is the code:

<?php
$tok ='my token goes here';
$params= array(

'first_name' => "nancy",
'last_name' => "moree",

'status' => 'active',
'date' => '2020-12-29'
); 



$url ='https://app.drchrono.com/api';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, TRUE);  
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $tok")); 

curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$output = curl_exec($ch); 

echo $output;

Advertisement

Answer

As described by the JSON requirement:

"status": [
    {
        "status": "string",
        "date": "string"
    }
]

Your actual status need to be an object inside another array key status:

$params= array(

    'first_name' => "nancy",
    'last_name' => "moree",

    'status' => array(
        array('status' => 'active', 'date' => '2020-12-29')
    )
); 
User contributions licensed under: CC BY-SA
3 People found this is helpful
Advertisement