API
Система API-запросов создана для интеграции сайта под управлением Rapido.CMS с внешними системами. Это могут быть CRM-системы, которые смогут управлять заказами сайта и получать данные с сайта, управлять бекапами, клиентами и т.п. Для доступа к api-запросам необходимо получить ключ доступа в разделе настроек сайта. Ключ выдается для домена или ip адреса с которого будут производится запросы.
Обращение к API производится с помощью GET запросов по адресу:
site.ru/api/module
/?method=method_name
&key=xxxx
&format=xml¶m1=value1¶m2=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()
, этот массив может быть многомерным и иметь любую вложенность.