ПланФикс API: Пример получения списка проектов на php — различия между версиями

Материал из ПланФикс
Перейти к: навигация, поиск
Строка 1: Строка 1:
 +
{{#seo:
 +
|title=ПланФикс API: Пример получения списка проектов на php
 +
|titlemode=append
 +
|keywords=планфикс, проекты, апи, api
 +
|description=Пример получения списка проектов на php
 +
}}
 +
 
Простой пример получения списка проектов и вывод его.  
 
Простой пример получения списка проектов и вывод его.  
 
Из примера становится ясно назначение параметра '''sid'''.
 
Из примера становится ясно назначение параметра '''sid'''.

Версия 08:26, 25 ноября 2017

Простой пример получения списка проектов и вывод его. Из примера становится ясно назначение параметра sid.


<?php
$api_server = 'https://api.planfix.ru/xml/';
$api_key = 'APIKey-ВАШЕГО_ПРИЛОЖЕНИЯ';// смотри http://dev.planfix.ru/
$api_secret = 'APISecret-ВАШЕГО_ПРИЛОЖЕНИЯ';
$planfixAccount = 'ВАШ_АККАУНТ';
$planfixUser = 'ЛОГИН_ПОЛЬЗОВАТЕЛЯ_В_ПЛАНФИКС';
$planfixUserPassword = 'ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ';

include 'lib.php';

$requestXml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><request method="auth.login"><account></account><login></login><password></password></request>');

$requestXml->account = $planfixAccount;
$requestXml->login =  $planfixUser;
$requestXml->password = $planfixUserPassword;
$requestXml->signature = make_sign($requestXml, $api_secret);

$result = apiRequest($api_server, $api_key, $requestXml);
if(!$result['success']) {
	echo $result['response'];
	exit();
}
$apiResult = $result['response'];
parseAPIError($apiResult);

/**
 * Важно понимать:
 * 1 - что полученный идентификатор сессии необходим для вызова всех остальных функций;
 * 2 - время жизни сессии ограничено 20-ю минутами;
 * 3 - при каждом следующем вызове это время продлевается;
 * 4 - сессию не надо получать перед каждым вызовом функции (количество запросов ограничено);
 */
$api_sid = $apiResult->sid;
echo "sid is: $api_sid<br>";
/*
 * получаем список доступных нам проектов и выводим его
 * используем функции на: http://goo.gl/E41Vv
 */
$requestXml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><request method="project.getList"><account></account><sid></sid></request>');
$requestXml->account = $planfixAccount;
$requestXml->sid = $api_sid;
$requestXml->pageCurrent = 1;
// остальные параметры являются необязательными, поэкспериментируйте сами
$requestXml->signature = make_sign($requestXml, $api_secret);
$result = apiRequest($api_server, $api_key, $requestXml);
if(!$result['success']) {
	echo $result['response'];
	exit();
}
$apiResult = $result['response'];
parseAPIError($apiResult);
$totalCount = $apiResult->projects['totalCount'];
$count = $apiResult->projects['count'];
echo "Всего проектов $totalCount<br>";
echo "Получено проектов $count<br>";

foreach($apiResult->projects->project as $project) {
	echo "Проект:{$project->title} создатель:{$project->owner->name}";
	echo '<br>';
}
?>


Перейти