Версия: 6.x
burger close
Класс ApiRouter

Открытые члены

 __construct ($version, $lang)
 
 setContext ($type, VirtualApp $virtual_app=null)
 
 setContextByApiKey ($api_key)
 
 getContextType ()
 
 getContextVirtualApp ()
 
 runMethod ($method, $params)
 
 makeParams ($method,\RS\Http\Request $http_request)
 
 getMethodsLanguages ($cache=true)
 
 getGroupedMethodsInfo ($lang=null, $cache=true)
 
 getMethodInstance ($method, $only_allowable=false)
 
 getApiMethods ($cache=true, $only_allowable=true)
 
 getAllApiMethods ($cache=true)
 

Открытые статические члены

static getInstance ($version=AbstractMethod::BASE_VERSION, $lang=AbstractMethod::DEFAULT_LANGUAGE)
 
static getMethodsVersions ($cache=true)
 
static getApiMethodsSelectList (array $root_item=[], $only_allowable=false, $lang=null, $cache=true)
 
static staticSelectList (array $first=[], $only_allowable=false, $cache=true)
 
static getAuthorizedApiMethodsSelectList (array $root_item=[], $only_allowable=false, $lang=null, $cache=true)
 
static getOriginForRequest ($client_name="", $client_version="")
 

Поля данных

const CONTEXT_TYPE_CONFIG = 'config'
 
const CONTEXT_TYPE_VIRTUAL = 'virtual'
 

Статические открытые данные

static $api_method_folder = '/model/externalapi'
 

Конструктор(ы)

__construct (   $version,
  $lang 
)

Методы

getAllApiMethods (   $cache = true)

Возвращает полный список методов API, которые существуют во всех включенных модулях текущего сайта.

Аргументы
bool$cacheЕсли true, то будет использоваться кэширование
Возвращает
array|mixed
getApiMethods (   $cache = true,
  $only_allowable = true 
)

Возвращает полный список методов API, которые существуют во всех включенных модулях текущего сайта. Классы с обработчиками методов должны находиться в папке /ИМЯ МОДУЛЯ/model/externalapi/ИМЯ ГРУППЫ/ИМЯ МЕТОДА

Аргументы
bool$cache- Если true, то будет использоваться кэширование
bool$only_allowable- Если true, то будут возвращены только разрешенные в настройках модуля методы
Возвращает
[ [ 'method' => 'oauth.token', //группа.метод 'class' => '' //Имя класса, выполняющего метод ], ... ]
static getApiMethodsSelectList ( array  $root_item = [],
  $only_allowable = false,
  $lang = null,
  $cache = true 
)
static

Возвращает список методов, имеющихся в системе для отображения в элементе select

Возвращает
[ 'id метода' => '(id метода) описание метода', 'id метода' => '(id метода) описание метода', .... ]
static getAuthorizedApiMethodsSelectList ( array  $root_item = [],
  $only_allowable = false,
  $lang = null,
  $cache = true 
)
static

Возвращает список методов, поддерживающих авторизационный токен, имеющихся в системе для отображения в элементе select

Аргументы
array$root_item
bool$only_allowable- Если true, то будут возвращены только разрешенные в настройках модуля методы
null$lang- Язык для справки
bool$cache- Если true, то будет использоваться кэширование
getContextType ( )

Возвращает контекст доступа - это стандартный доступ по API-ключу из настроек модуля или доступ по API-ключу виртуального приложения

Возвращает
string
getContextVirtualApp ( )

Возвращает виртуальное приложение, которое связано с текущим контекстом запуска

Возвращает
VirtualApp|null
getGroupedMethodsInfo (   $lang = null,
  $cache = true 
)

Возвращает информацию о всех методах API, присутствующих в системе

Аргументы
string$lang- двухсимвольный идентификатор
bool$cache- использовать кэширование
Возвращает
array
static getInstance (   $version = AbstractMethod::BASE_VERSION,
  $lang = AbstractMethod::DEFAULT_LANGUAGE 
)
static

Возвращает один "общий" экземпляр текущего класса

Возвращает
static
getMethodInstance (   $method,
  $only_allowable = false 
)

Возвращает инстанс класса, который обрабатывает метод API

Аргументы
string$method- Имя метода, например oauth.authorize
bool$only_allowable- Если true, то будут возвращены инстансы только включенных в настройках модуля методов
Возвращает
|false
getMethodsLanguages (   $cache = true)

Возвращает все существующие языки, для которых есть описания API

Аргументы
bool$cache
Возвращает
array
static getMethodsVersions (   $cache = true)
static

Возвращает все возможные версии методов API, от самой нижней до верхней

Аргументы
mixed$cache
static getOriginForRequest (   $client_name = "",
  $client_version = "" 
)
static

Возвращает значение заголовка Origin для ответа на запросы

Аргументы
string$client_name- имя приложения для подключения
string$client_version- версия приложения для подключения
Возвращает
string
makeParams (   $method,
\RS\Http\Request  $http_request 
)

Возвращает POST И GET параметры, которые будут переданы в API метод

Аргументы
string$method
\RS\Http\Request$http_request
Возвращает
array
runMethod (   $method,
  $params 
)

Выполняет один метод API

Аргументы
string$method
array$http_request
setContext (   $type,
VirtualApp  $virtual_app = null 
)

Устанавливает контекст доступа к методу API

Аргументы
string$typeТип контекста. Бывает стандартный (self::CONTEXT_TYPE_CONFIG) и виртуальный (self::CONTEXT_TYPE_VIRTUAL)
VirtualApp | null$virtual_appОбъект виртуального приложения. Актуально, если тип контекста - виртуальный
Возвращает
void
Исключения
ApiExceptionБросает исключение, если установлен виртуальный тип и не передан объект виртуального приложения
setContextByApiKey (   $api_key)

Устанавливает контекст выполнения API по ключу, пришедшему в URL

Аргументы
string$api_key
Возвращает
void
static staticSelectList ( array  $first = [],
  $only_allowable = false,
  $cache = true 
)
static

Возвращает список методов, имеющихся в системе для отображения в элементе select

Возвращает
array

Поля

$api_method_folder = '/model/externalapi'
static
const CONTEXT_TYPE_CONFIG = 'config'
const CONTEXT_TYPE_VIRTUAL = 'virtual'