Грузы и транспорт | Автомаркет | API
Главная  |  Справочник
Новое в API / Справочник API / PHP-коннектор

Груз, транспорт - примеры функций для работы с грузом и транспортом

Функция myGruzListShort


Функция позволяет получить список «Мои грузы/транспорт» в сокращенном варианте доступных в системе lardi-trans.com.
function myGruzListShort($sig)
{	
	$data='method=my.gruz.list.short&sig='.$sig; //формируем строку запроса
	$resp = $this->doRequest($data);  //метод doRequest передает запрос на сервер
	if (strpos($resp, "<error>")!==false) {
		//если произошла ошибка возвращаем её
		throw new Exception("my.gruz.list.short error!<br/>$resp");
	}
	else
	{
		//преобразовываем ответ сервера в SimpleXML
		$smplXml = new SimpleXmlElement($resp, LIBXML_NOCDATA);
		return $smplXml; //возвращаем ответ в формате SimpleXML
	}
}
Функция имеет один обязательный параметр $sig - уникальный номер выданный при авторизации методом auth.
После запроса, если не произошло никакой ошибки, ответ сервера будет преобразован в формат SimpleXML и возвращен в ответе функции.

Пример использования функции myGruzListShort

  1. <?php
  2. include_once('lardiapi.php'); //подключаем библиотеку
  3. $login = "ваш логин"; //логин в системе lardi-trans.com
  4. $pass = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx"; //md5 сумма пароля
  5.  
  6. echo "<style type=\"text/css\">
  7. table, td, th {border: 1px solid black; border-collapse: collapse;}
  8. table th {background-color: gold;}</style>";
  9. try
  10. {
  11. $client = new CLardiAPIClient(); //создаем объект класса CLardiAPIClient
  12. $authXML = $client->auth($login, $pass); //вызываем функцию auth
  13. echo "<h1>my.gruz.list.short</h1>";
  14. $resp = $client->myGruzListShort($authXML->sig); //вызываем функцию myGruzListShort
  15. //выводим результат
  16. echo "<h1>Мои грузы</h1>";
  17. echo "<table width=\"100%\"><tr>
  18. <th>id</th>
  19. <th>country_from_id</th>
  20. <th>country_to_id</th>
  21. <th>add_info</th></tr>";
  22. foreach ($resp->gruz->item as $item) {
  23. echo "<tr align=\"center\"><td>", $item->id, "</td>";
  24. echo "<td>", $item->country_from_id, "</td>";
  25. echo "<td>", $item->country_to_id, "</td>";
  26. echo "<td>", $item->add_info, "</td></tr>";
  27. }
  28. echo "</table>";
  29.  
  30. echo "<h1>Мой транспорт</h1>";
  31. echo "<table width=\"100%\"><tr>
  32. <th>id</th>
  33. <th>country_from_id</th>
  34. <th>country_to_id</th>
  35. <th>add_info</th></tr>";
  36. foreach ($resp->trans->item as $item) {
  37. echo "<tr align=\"center\"><td>", $item->id, "</td>";
  38. echo "<td>", $item->country_from_id, "</td>";
  39. echo "<td>", $item->country_to_id, "</td>";
  40. echo "<td>", $item->add_info, "</td></tr>";
  41. }
  42. echo "</table>";
  43. }
  44. catch(Exception $e)
  45. {
  46. //если произошла ошибка выводим ее
  47. echo "<font color=\"red\">", $e->getMessage(), "</font>";
  48. }
  49. ?>
Во второй строчке подключается библиотека для работы с API сервером, в строках 3-4 задаются переменные $login и $pass, далее идет блок try/catch (строки 9-48), внутри которого в строке 11 создается объект класса CLardiAPIClient и сохраняется в переменную $client. Перед тем как вызвать функцию myGruzListShort необходимо получить уникальный номер выданный при авторизации методом auth, который вызывается в строке 12 с параметрами $login и $pass, и результат функции в формате SimpleXML, если не произошло никакой ошибки, сохраняется в переменную $authXML. Потом в строке 13 выводится заголовок и далее в 14 строке вызывается функция myGruzListShort с параметром sig из переменной $authXML.
Далее в сроках 16-42 выводится результат функции. В первом цикле выводится список «Мои грузы», а во втором цикле выводится список «Мой транспорт». Чтобы узнать какие параметры доступны, нужно посмотреть справочник API, находящийся по адресу http://api.lardi-trans.com/reference. Если в результате вызова функции произошла ошибка, то выполнение перейдет в блок catch (строки 44-48), в котором выводится на экран описание ошибки.

В результате на экран будет выведено:

my.gruz.list.short

Мои грузы

idcountry_from_id country_to_idadd_info
123... UA UA
124... UA FR Доп. инф.
125... FR GR
... ... ... ...

Мой транспорт

idcountry_from_id country_to_idadd_info
923... AT UA
924... FA UA
... ... ... ...

Функция myGruzAdd


Функция позволяет добавить новую заявку по грузам в систему lardi-trans.com.
function myGruzAdd($gruz)
{	
	$data='method=my.gruz.add';                 //
	foreach ($gruz as $varname => $varvalue) {  //формируем строку запроса     	
		$data.='&'.$varname.'='.$varvalue;  // 
	}		
 
	$resp = $this->doRequest($data);  //метод doRequest передает запрос на сервер
	if (strpos($resp, "<id>")===false) {
		//если произошла ошибка возвращаем её
		throw new Exception("my.gruz.add error!<br/>$resp");
	}
	else
	{
		//преобразовываем ответ сервера в SimpleXML
		$smplXml = new SimpleXmlElement($resp, LIBXML_NOCDATA);
		return $smplXml; //возвращаем ответ в формате SimpleXML
	}
}
Функция имеет один обязательный параметр $gruz — это переменная типа array() в которой в форме «параметр=значение» должны быть, как минимум, обязательные параметры для этой функции (список обязательных параметров смотреть по адресу: http://api.lardi-trans.com/doc/my.gruz.add).
После запроса, если не произошло никакой ошибки, ответ сервера будет преобразован в формат SimpleXML и возвращен в ответе функции.

Пример использования функции myGruzAdd

  1. // html код формы для ввода значений (см. файл my.gruz.add.php в примерах)
  2.  
  3. <?php
  4. //проверка, если не заполнены обязательные поля, то ничего не делать
  5. if(!empty($_POST["sig"]) && !empty($_POST["country_from_id"]) &&
  6. !empty($_POST["country_to_id"]) && !empty($_POST["area_from_id"]) &&
  7. !empty($_POST["city_from"]) && !empty($_POST["city_to"]) &&
  8. !empty($_POST["date_from"]) && !empty($_POST["gruz"]) &&
  9. !empty($_POST["truck_id"]))
  10. {
  11. $post = array(); //
  12. foreach ($_POST as $varname => $varvalue) { // формируем массив значений для
  13. if(!empty($varvalue)) // передачи в функцию myGruzAdd
  14. $post[$varname] = $varvalue;//
  15. }
  16.  
  17. include_once('lardiapi.php'); //подключаем библиотеку
  18.  
  19. try
  20. {
  21. $client = new CLardiAPIClient();
  22. echo "<h1>my.gruz.add</h1>";
  23. $mygruzaddXML = $client->myGruzAdd($post); //вызываем функцию myGruzAdd
  24. //выводим результат
  25. echo "<strong>Gruz id</strong>: ", $mygruzaddXML->id, "<br/>";
  26. }
  27. catch(Exception $e)
  28. {
  29. //если произошла ошибка выводим ее
  30. echo "<font color=\"red\">", $e->getMessage(), "</font>";
  31. }
  32. }
  33. ?>
В начале идет html-форма для ввода значений (см. файл my.gruz.add.php в примерах). Далее в строках 5-9 идет проверка, если хоть один из обязательных параметров не заполнен, то ничего не делать (список обязательных параметров находится по адресу http://api.lardi-trans.com/reference/). Потом в строке 11 создается переменная $post типа array() и в следующих строчках (12-15) в цикле производится проверка значений и если значение не заполнено, то в переменную $post оно не заносится. В 17 строчке подключается библиотека для работы с API сервером, далее идет блок try/catch (строки 19-31), внутри которого в строке 21 создается объект класса CLardiAPIClient и сохраняется в переменную $client. Потом в строке 22 выводится заголовок и далее в 23 строке вызывается функция myGruzAdd с параметром $post.
Далее в сроке 25 выводится результат функции. В случае успешного добавления — это параметр id с номером новой заявки. Если в результате вызова функции произошла ошибка, то выполнение перейдет в блок catch (строки 27-31), в котором выводится на экран описание ошибки.

В результате на экран будет выведено:

my.gruz.add

Gruz id: 2455289

Функция myGruzDelete


Функция позволяет удалить свой груз в системе lardi-trans.com.
function myGruzDelete($sig,$id)
{	
	$data='method=my.gruz.delete&sig='.$sig.'&id='.$id; //формируем строку запроса 
	$resp = $this->doRequest($data); //метод doRequest передает запрос на сервер
	if (strpos($resp, "<status>")===false) {
		//если произошла ошибка возвращаем её
		throw new Exception("my.gruz.delete error!<br/>$resp");
	}
	else
	{
		//преобразовываем ответ сервера в SimpleXML
		$smplXml = new SimpleXmlElement($resp, LIBXML_NOCDATA);
		return $smplXml; //возвращаем ответ в формате SimpleXML
	}
}
Функция имеет два обязательных параметра:
  • $sig - Уникальный номер выданный при авторизации методом auth
  • $id - Номер груза который нужно удалить
После запроса, если не произошло никакой ошибки, ответ сервера будет преобразован в формат SimpleXML и возвращен в ответе функции.

Пример использования функции myGruzDelete

  1. // html код формы для ввода значений sig и id (см. файл my.gruz.delete.php в примерах)
  2.  
  3. <?php
  4. include_once('lardiapi.php'); //подключаем библиотеку
  5.  
  6. try
  7. {
  8. //проверка, если не заполнены обязательные поля, то вывести сообщение
  9. if(empty($_POST["my_gruz_id"]) || empty($_POST["my_sig"]))
  10. {
  11. echo "Введите ваш SIG и ID номер груза, который нужно удалить!";
  12. }
  13. else
  14. {
  15. $client = new CLardiAPIClient();
  16.  
  17. echo "<h1>my.gruz.delete</h1>";
  18. //вызываем функцию myGruzDelete
  19. $resp = $client->myGruzDelete($_POST["my_sig"],$_POST["my_gruz_id"]);
  20. //выводим результат
  21. echo "<strong>Delete status</strong>: ", $resp->status, "<br/>";
  22. }
  23. }
  24. catch(Exception $e)
  25. {
  26. //если произошла ошибка выводим ее
  27. echo "<font color=\"red\">", $e->getMessage(), "</font>";
  28. }
  29. ?>
В начале идет html-форма для ввода значений (см. файл my.gruz.delete.php в примерах). В 4 строчке подключается библиотека для работы с API сервером, далее идет блок try/catch (строки 6-28), внутри которого идет проверка (строки 9-12), если обязательные параметры не заполнены, то выводится об этом сообщение, иначе в строке 15 создается объект класса CLardiAPIClient и сохраняется в переменную $client. Потом в строке 17 выводится заголовок и далее в 19 строке вызывается функция myGruzDelete со значениями из POST запроса, которые были введены на html-форме.
Далее в сроке 21 выводится результат функции. В случае успешного удаления — это параметр status со значение ok. Если в результате вызова функции произошла ошибка, то выполнение перейдет в блок catch (строки 24-28), в котором выводится на экран описание ошибки.

В результате на экран будет выведено:

my.gruz.delete

Delete status: ok
© Lardi LTD, 1996-2020 API support