У меня работает с этим методом:
$url_params = array(
'formatting' => 'MARKDOWN',
'message' => $message
);
$params = http_build_query($url_params);
$crl = curl_init();
curl_setopt($crl, CURLOPT_URL, $url . '?' . $params);
curl_setopt($crl, CURLOPT_HTTPHEADER, $header);
curl_setopt($crl, CURLOPT_HEADER, 0);
curl_setopt($crl, CURLOPT_POST, true);
curl_setopt($crl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($crl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($crl, CURLOPT_SSL_VERIFYPEER, 0);
$rest = curl_exec($crl);
curl_close($crl);
и в сообщении, которое я имею (среди прочих):
$message .= '**Tagged person** : @[' . $id . ']';
идентификатор должен быть цифровым идентификатором учетной записи Facebook - имя или адрес электронной почты не подойдут.