Запрос 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 не будет опубликован.