Клуб Яндекс.Метрики

Создание целей API

Сергей Иванилов
14 сентября, 23:29

Доброго времени суток

Пробовал так

$url = 'https://api-metrika.yandex.ru/management/v1/counter/code-counter/goals.json';
$dataCounter = array(
	'goal' => array(
		"id" => 'test',
		"name" =>  'test',
		"type" =>  'number',
		'depth' => 3,
		"is_retargeting" =>  false ,
	)
);

$t =  json_encode($dataCounter);
if( $curl = curl_init() ) {
	curl_setopt($curl, CURLOPT_URL, $url); // set url to post to
	curl_setopt($curl, CURLOPT_HTTPHEADER, array( 'Authorization: OAuth token')) ;

	curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
	curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

	curl_setopt($curl, CURLOPT_POST, true); // set POST method
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // return into a variable
	curl_setopt($curl, CURLOPT_POSTFIELDS, $t);
} // add POST fields

$result = curl_exec($curl); // run the whole process
var_dump($result);
Ошибка
'{"errors":[{"error_type":"invalid_json","message":"Could not read JSON Unexpected character ('%' (code 37)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')\n at [Source: %7B%22goal%22%3A%7B%22id%22%3A%22test%22%2C%22name%22%3A%22test%22%2C%22type%22%3A%22number%22%2C%22depth%22%3A3%2C%22is_retargeting%22%3Afalse%7D%7D=; line: 1, column: 2]"}]

Пробовал так

$dataCounter = array(
	'content' => array(
		'goal' => array(
			"id" => 'test',
			"name" =>  'test',
			"type" =>  'number',
			'depth' => 3,
			"is_retargeting" =>  false ,
		)
	)
);

далее тоже самое что и выше

ошибка та же.

документация 

Синтаксис запроса
counterId — идентификатор счетчика, для которого вы хотите создать цель.
POST https://api-metrika.yandex.ru/management/v1/counter/{counterId}/goals

Пример запроса
POST https://api-metrika.yandex.ru/management/v1/counter/{counterId}/goals

что не так?