Необходимо пройти авторизацию на httsp с использованием сертификатов, так как https соединение на хостинге разрешается использовать только через cURL, то встает вопрос - как подключить сертификат ?
Вод код как я делаю через cURL, не уверен что сертификат подключается:
$url = "https://api.direct.yandex.ru/json-api/v4/";
$request = $request = json_encode($data);
$opts = array(
'http'=>array(
'method'=>"POST",
'content'=>$request,
)
);
$context = stream_context_create($opts);
stream_context_set_option($context, 'ssl', 'local_cert', '1/solid-cert.crt');
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Set curl to return the data instead of printing it to the browser.
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
$data = curl_exec($ch);
curl_close($ch);
Рабочий пример с использованием file_get_contents:
$request = $request = json_encode($data);
$opts = array(
'http'=>array(
'method'=>"POST",
'content'=>$request,
)
);
$context = stream_context_create($opts);
stream_context_set_option($context, 'ssl', 'local_cert', '1/solid-cert.crt');
$result = file_get_contents('https://api.direct.yandex.ru/json-api/v4/', 0, $context);