Странный у вас какой-то запрос к API - с никакой кодировкой и пустыми заголовками.
Если имеется в виду API Отправки, то вот рабочий код:
const API_ADDRESS = 'https://otpravka-api.pochta.ru';
private function __construct($appToken, $userKey)
{
$this->headers = [
'Content-Type: application/json',
'Accept: application/json;charset=UTF-8',
'Authorization: AccessToken ' . $appToken,
'X-User-Authorization: Basic ' . $userKey
];
}
private function rawRequest($dataInUtf8, $url, $method = self::METHOD_POST)
{
$headers = $this->headers;
$ch = curl_init(self::API_ADDRESS . $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
if(count($dataInUtf8) > 0) {
$dataString = json_encode($dataInUtf8);
$headers[] = 'Content-Length: ' . strlen($dataString);
curl_setopt($ch, CURLOPT_POSTFIELDS, $dataString);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
return curl_exec($ch);
}