PHP cURL POST数据集

I've been given the following example in order to post data to a API url

curl --request POST \
  --url https://apiurl \
  --header 'auth-token: {{token}}' \
  --header 'content-type: application/json' \
  --data '{
  "user": {
    "email": "my@email.com",
    "name": "James",
    "tel": "0000000"
  }
}'

I got my cURL working using the following code but I need to post the user parameters as above like email, name, tel etc.

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => array('Cache-Control: no-cache', 'auth-token: '.$token)

));
$response = curl_exec($curl);
curl_close($curl);

How can I post the fields as the example states using my code?

This was already answered here: How to POST JSON Data With PHP cURL?

You just need to add like the following:

$payload = json_encode(['user'=> ['email'=>'test@example.com','name'=>'Joe','tel'=>'123e332']] );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $payload );
curl_setopt( $curl, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));

i use in this way:

<?php
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_RETURNTRANSFER,1);
curl_setopt($handle, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($handle, CURLOPT_POSTFIELDS, array(
    'data'      => '{
  "user": {
    "email": "my@email.com",
    "name": "James",
    "tel": "0000000"
  }
}'    
));
$dados = curl_exec($handle);
curl_close($handle);
echo "$dados";
?>