Работа с API Яндекс Маркета

Vanekru

Новичок
Помогите плиз разобраться с Апи яндекса. Вопрос стоит в отправе PUT и POST запроса.

Допусти с гет запросом все ясно:
В документации есть пример. Отправить запроса на.
PHP:
GET
https://api.partner.market.yandex.ru/v1/campaigns.json?oauth_token=
4f009f4e680a433dbf6ddb6c39258099&oauth_login=test-login&oauth_client_id=
47e4d0745753440b9d811b409871b876
Я делаю функцию на curl
PHP:
function curlGet($url,$arHeaders,$return_header_in_result=false) {
	$handle = curl_init();
	curl_setopt($handle, CURLOPT_URL, $url);
	curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
	curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
	if ($return_header_in_result) curl_setopt($handle, CURLOPT_HEADER, 1);
	curl_setopt($handle, CURLOPT_SSL_VERIFYHOST, false);
	curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
	$response = curl_exec($handle);
	$code = curl_getinfo($handle, CURLINFO_HTTP_CODE);
	return array("code"=>$code,"response"=>$response);
}
И отправляю этот запрос в этой функции

PHP:
$result=get_stat('https://api.partner.market.yandex.ru/v1/campaigns.json?oauth_token='.$token.'&oauth_login=тутлогин&oauth_client_id=тутайди');
Все прекрасно работает и понятно. Ступор наступает с POST и PUT запросом. Функции для POST и PUT запроса на curl труда не составляет сделать, но я не понимаю как его отправить не в адресе.

Вот пример запроса
PHP:
POST https://api.partner.market.yandex.ru/v1/campaigns/10001/bids/recommended.xml
Content-Type: application/xml
И идет тело запроса в формате xml
PHP:
<?xml version="1.0" encoding="UTF-8"?>
<offers>
  <name>Pioneer AVH-P6300BT</name>
  <name>Mystery MCD-695MPU</name>
  <name>Braun HD750</name>
</offers>
Как мне это тело передать? просто так закинуть в масив это кучей? А с PUT еще там круче

PHP:
PUT https://api.partner.market.yandex.ru/v1/campaigns/10001/bids/recommended.xml?position=5
Content-Type: application/xml
Тело Put- запроса
PHP:
<?xml version="1.0" encoding="UTF-8"?>
<offers>
  <name>Bosch MSM 6B300</name>
  <name>Tefal HB 7151</name>
  <name>Philips HR 1371</name>
</offers>
Put это же вообще файл если я правильно понимаю? Создать файл там это все написать и скормить через curl? Тогда с POST не пойму как эту xml структуру передать в POST.

Спасибо всем кто откликнется.
 

radioheaded

PHP нуб
C POST надо использовать CURLOPT_POSTFIELDS, а про PUT написано в описании CURLOPT_PUT. Не обязательно файл для PUT, CURLOPT_INFILE в качестве параметра принимает resource, то есть, можно со стандартными потоками работать, например.
 
Сверху