0

I have the following JSON response from an API:

{"error":null,"response":{"items":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJJZCI6MCwiSWRVdGVudGUiOjEzLCJJZFByb2ZpbG8iOjEsIklkQ29sbGFib3JhdG9yZSI6LTEsIklkRmlsaWFsZSI6LTEsIkNsb3VkSWQiOiI4MTI0MSIsIlVzZXJJZCI6bnVsbCwiV2ViVG9rZW4iOm51bGwsIkFzc29jaWF0ZXNDdXN0b21lck1hbnVhbGx5IjpmYWxzZSwiVG9rZW5DcmVhdGlvbkRhdGUiOiIyMDIyLTExLTA4VDEyOjI3OjE5LjQ5NDA5NDUrMDE6MDAifQ.prRo4mTA3a7M65UG_aSRQYCxsqwbwDYmUbv3Tbz4cYY","message":null}}

I need to get the items/token value.

Code:

add_filter( 'gform_field_value_token', 'scrivi_token' );
function scrivi_token ( $value ) {
    $url = 'https://leads-cert.creditopratico.it/api/login';

#Assumption: The params below have already been verified.
$topup_data = array("username"      =>      "**********",
                    "password"      =>      "**********",
                    "cloudId"       =>      "**********");
                    

#JSON encode the params
$topup_str   = json_encode($topup_data);

#Curl init
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'Content-Length: '.strlen($topup_str)
    )
);  

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $topup_str);
$result = curl_exec($ch);
$array = json_decode($result, true);
print_r($array); // ARRAY

return $token; //pass the value to the field that interests me

The output is:

Array ( [error] => [response] => Array ( [items] => eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJJZCI6MCwiSWRVdGVudGUiOjEzLCJJZFByb2ZpbG8iOjEsIklkQ29sbGFib3JhdG9yZSI6LTEsIklkRmlsaWFsZSI6LTEsIkNsb3VkSWQiOiI4MTI0MSIsIlVzZXJJZCI6bnVsbCwiV2ViVG9rZW4iOm51bGwsIkFzc29jaWF0ZXNDdXN0b21lck1hbnVhbGx5IjpmYWxzZSwiVG9rZW5DcmVhdGlvbkRhdGUiOiIyMDIyLTExLTA4VDE2OjUwOjQyLjA2Mjc1MTcrMDE6MDAifQ.ErluSsrhMCBml3M2P5Pto14zF0zl4sZscFielmaF2Lc [message] => ) )

$token = $array['response']['items']; 

print_r($token); // for see the result

Can you help me please?

OMi Shah
  • 5,768
  • 3
  • 25
  • 34

0 Answers0