@anton99zel
29а класс средней школы №7

Как правильно вставить переменную в тело запроса json?

Как правильно вставить переменную в тело запроса json?
Делаю так и получаю ошибку
spoiler
{"error":{"code":"BAD_REQUEST","message":"Invalid request payload","data":[{"name":"old_price","code":"INVALID","value":" ","message":""},{"name":"price","code":"INVALID","value":" 7590 ","message":""},{"name":"premium_price","code":"INVALID","value":" 7135 ","message":""}]}} {"error":{"code":"BAD_REQUEST","message":"Invalid request payload","data":[{"name":"old_price","code":"INVALID","value":" 17490 ","message":""},{"name":"price","code":"INVALID","value":" 12243 ","message":""},{"name":"premium_price","code":"INVALID","value":" 11508 ","message":""}]}}

$data = '{
  "items": [{
    "description": " ' . $description . ' ",
    "category_id": " ' . $category_id . ' ",
    "name": " ' . $name . ' ",
    "offer_id": " ' . $offer_id . ' ",
    "price": " ' . $price . ' ",
    "old_price": " ' . $old_price . ' ",
    "premium_price": " ' . $premium_price . ' "
}]
}';

вторая часть:
spoiler
$clientId = '2222222'; 
$apiKey = 'd2bfe812'; 
$method = '/v1/product/import'; 
$result = post($clientId, $apiKey, $method, $data); 
echo $result; 
function post($clientId, $apiKey, $method, $data){
  $url = 'http://api-seller.ozon.ru'.$method;
  $headers = array(                                                                          
    'Content-Type: application/json',
    'Host: api-seller.ozon.ru',
      'Client-Id: '.$clientId,
    'Api-Key: '.$apiKey
  ) ;                                                                                  
  $ch = curl_init();
  $options = array(
    CURLOPT_URL => $url,         
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => $data,
    CURLOPT_HTTPHEADER => $headers
  );    
  curl_setopt_array($ch, $options);
  $html = curl_exec($ch);
  curl_close($ch); 
  return $html;
};
  • Вопрос задан
  • 474 просмотра
Решения вопроса 2
@MagicMight
no magic quotes
Сделать ассоциативный массив и упаковать его через json_encode
Ответ написан
Комментировать
scottparker
@scottparker
используйте json_encode($array);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы