Подскажите, кто-то самостоятельно писал (без sdek api и пр) свой вызов api функций сдэк? В интернете информации 0.
Тех поддержка у них морозится и толком не может помочь.
Мне надо получить регионы. Потом получить города. Потом получить ПВЗ.
Авторизовался. Получил токен. У них указано что надо access_token передавать обязательно. Передаю - пишет ошибку авторизации. Добавил авторизацию. Пишет не правильный формат. Сделал как в указанном формате. Всё равно выдаёт ту же ошибку. Техподдержка не может помочь с этим.
Можете подсказать? Спасибо.
<?
$url='';
class sdek {
public $url;
public $parametrs;
public $token_type;
public $access_token;
public function Authorizate() {
$myCurl = curl_init();
curl_setopt_array($myCurl, array(
CURLOPT_URL => $this->url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query(array('Content-Type: application/x-www-form-urlencoded'))
));
$response = curl_exec($myCurl);
curl_close($myCurl);
return $response;
}
public function Add_request() {
$myCurl = curl_init();
curl_setopt($myCurl, CURLOPT_URL, $this->url);
curl_setopt($myCurl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($myCurl, CURLOPT_HTTPHEADER, $this->parametrs);
curl_setopt($myCurl, CURLOPT_USERPWD, $this->token_type.$this->access_token.'');
$response = curl_exec($myCurl);
curl_close($myCurl);
return $response;
}
}
$request=new sdek();
$request->url='https://api.edu.cdek.ru/v2/oauth/token?grant_type=client_credentials&client_id=EMscd6r9JnFiQ3bLoyjJY6eM78JrJceI&client_secret=PjLZkKBHEiLK3YsjtNrt3TGNG0ahs3kG';
//$request->parametrs=Array('grant_type'=>'client_credentials','client_id'=>'EMscd6r9JnFiQ3bLoyjJY6eM78JrJceI','client_secret'=>'PjLZkKBHEiLK3YsjtNrt3TGNG0ahs3kG');
$response=$request->Authorizate();
$mas=json_decode($response);
$token=$mas->access_token;
$token_type=$mas->token_type;
$request->url='https://api.edu.cdek.ru/v2/location/regions';
$request->token_type=$token_type;
$request->access_token="Bearer ";
$mas= (array) $mas;
$final_mas=array_merge(Array('Content-Type: application/x-www-form-urlencoded','country_codes'=>'RU'),$mas);
$request->parametrs=$final_mas;
$info=$request->Add_request();
echo '<pre>';print_r($info);echo '</pre>';