Запрос POST по API (ошибка с передачей данных)

MerklinNatalia

Всем привет) Пытаюсь по апи Розетки создать комплект.
Передаем методом POST, token получила, авторизацию прохожу успешно, но получаю ошибку 1005, некорректные данные. В примере АПИ Request-Example, Body Params:

Код (Text):
  1.  { “title”: “New kit”,
  2.    “start_date”: “2017-10-01”,
  3.    “end_date”: “”,
  4.    “item_id”: 1234,
  5.    “secondItems”:
  6.      [
  7.          { “item_id”: 12345,
  8.            “relative_discount”: “10”,
  9.            “fixed_discount”: 5,
  10.            “fixed_amount”: 975
  11.          },
  12.          { “item_id”: 12346,
  13.            “relative_discount”: “5”,
  14.            “fixed_discount”: 7,
  15.            “fixed_amount”: 975
  16.          },
  17.      ]
  18. }

Мой код:

PHP:
  1. $postdata =  array(
  2.         “title” => “New kit1”,
  3.         “start_date” => “2022-10-01”,
  4.         “item_id” => 128855179,
  5.         “secondItems” => array(array(“item_id”=>271843346,
  6.                                    “relative_discount”=>“10”,
  7.                                    “fixed_discount”=>5,
  8.                                    “fixed_amount”=>975
  9.                                 ))
  10. );
  11.     $opts = array(‘http’ =>
  12.         array(
  13.             ‘method’  => ‘POST’,
  14.             ‘header’  => ‘Authorization:Bearer {token}’,
  15.             ‘content’ => $postdata
  16.         )
  17.     );
  18.     $context  = stream_context_create($opts);
  19.  
  20. echo $result = file_get_contents(‘https://api-seller.rozetka.com.ua/kits/create’, false, $context);

Подскажите, пожалуйста, где ошибка.
P.S. Я передаю в secondItems только один элемент, 2 мне не нужно) Но, если что, пробовала и с 2мя, та же ошибка. Всем спасибо)

 

ADSoft

обратиться в техподдержку АПИ не пробовали?

может несуществующие item_id ?

 

MerklinNatalia

Поддержка там не из самых быстрых( item_id несколько раз проверяла, все верно.

 

ADSoft

а

так и передаете? Или вместо token реальный токен все-же вставляете?
или

“start_date” => “2022-10-01”,
может нельзя в будущем? )))

 

MerklinNatalia

та нет) токен реальный, авторизация проходит)
дату можно ставить вплоть до 10 лет вперед, так что хз(
написала в поддержку, пока жду, другие операции проходят, типа обновления комплекта и тд, а здесь не идет(

 

MerklinNatalia

Разобралась, $postdata нужно было обернуть через http_build_query)

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *