API

Система API-запросов создана для интеграции сайта под управлением Rapido.CMS с внешними системами. Это могут быть CRM-системы, которые смогут управлять заказами сайта и получать данные с сайта, управлять бекапами, клиентами и т.п. Для доступа к api-запросам необходимо получить ключ доступа в разделе настроек сайта. Ключ выдается для домена или ip адреса с которого будут производится запросы.

Обращение к API производится с помощью GET запросов по адресу:

site.ru/api/module/?method=method_name&key=xxxx&format=xml&param1=value1&param2=value2

module - (обязательно) модуль, методы которого необходимо вызывать

method_name - (обязательно) метод модуля

xxxx - (обязательно) api-ключ

format - формат, в котором нужно получить ответ. Может принимать занчения "xml", "json", "html". По-умолчанию используется формат json.

param1, param2 - дополнительные параметры, которые указываются если метод может принимать дополнительные параметры

API-модули не обязательно соответствуют модулям сайта. Разработчики могут создавать свои API-модули. Для этого нужно создать файл в папке /frontend/api/ c названием module.api.php. Для примера есть модуль с одноименным методом ping.
Файл ping.api.php:

<?php if ( ! defined( 'IN_SITE' ) ) {header("HTTP/1.0 403 Forbidden"); exit;}
$res = new rpApiPing;
class rpApiPing extends rpApi {
	function method_ping(){
		$ret = array(
			'responce' => "ok"
		);
		$this->show_result( $ret );
	}
}
?>

В файле с API-модулем должен быть создан класс, унаследованный от rpApi. Методы, нужно реализовывать в виде функций этого класса с названием вида method_methodName(). Для вывода результата работы нужно передать массив в функцию $this->show_result(), этот массив может быть многомерным и иметь любую вложенность.