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

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

	<?php

	use TopvisorTopvisorSDKV2 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 TVSession();

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

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

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

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

	// сортировка ключевых фраз по алфавиту
	$selectorKeywords->serOrders([
	TVFields::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);