Пример обращения к API через SDK: PHP

В примере будут получены ключевые фразы с помощью метода get/keywords_2/keywords/.

	<?php

	use Topvisor\TopvisorSDK\V2 as TV;

	// вместо "..." необходимо прописать путь до файла autoload, если вы используете composer 
	include(__DIR__.'/../../vendor/autoload.php');

	// пропишите путь к SDK Topvisor, если вы не используете composer
	//include_once('topvisor-sdk/src/V2/Fields.php');
	//include_once('topvisor-sdk/src/V2/Page.php');
	//include_once('topvisor-sdk/src/V2/Pen.php');
	//include_once('topvisor-sdk/src/V2/Session.php');

	$projectId = '%NN%'; // ID вашего проекта

	// создание сессии
	$Session = new TV\Session();

	// начало построения запроса
	$selectorKeywords = new TV\Pen($Session, 'get', 'keywords_2', 'keywords');

	// установка параметра project_id
	$selectorKeywords->setData(['project_id' => $projectId]);

	// запрос на получение id и имени ключевой фразы
	$selectorKeywords->setFields(['id', 'name']);

	// фильтр ключевых фраз с тегом 1, 2 или 3
	$selectorKeywords->setFilters([
		TV\Fields::genFilterData('tags', 'IN', [1,2,3])
	]);

	// сортировка ключевых фраз по алфавиту
	$selectorKeywords->serOrders([
		TV\Fields::genOrderData('name', 'ASC')
	]);

	// получать по 1000 ключевых фраз за одно обращение к API
	$selectorKeywords->setLimit(1000);

	do{
		// выполнение запроса (получить страницу с результатами)
		$page = $selectorKeywords->exec();

		// обработка ошибки
		if(is_null($page->getResult())) return var_dump($page->getErrors());

		// $page - array of keywords
		foreach($page->getResult() as $resultItem){
			echo $resultItem->id.': '.$resultItem->name.'<br>';
		}

		// есть ли еще неполученные ключевые фразы
		// (если эта страница последняя, $nextOffset будет равен null)
		$nextOffset = $page->getNextOffset();
		if($nextOffset) $selectorKeywords->setOffset($nextOffset);

	// продолжать получать ключевые фразы, пока все страницы не будут получены
	}while($nextOffset);