A2v10 Platform documentation
UK


Команды типа callApi

Команды вызова внешних API позволяют обращаться к внешним ресурсам по протоколу http.

Поведение команды определяется параметрами, которые передаются в команду с использованием свойства parameters команды.

Параметры

Имя Тип Описание
url string Обязательно. Вызываемый url. Поддерживаются привязки.
method enum Необязательно. http метод. get или post. По умолчанию - get.
headers object Необязательно. Заголовки запроса. Объект, свойства которого будут добавлены как заголовки запроса. Имя свойства - имя заголовка, значение - значение заголовка. В значениях поддерживаются привязки.
body object Необязательно. Тело запроса. Может быть строкой или объектом. Поддерживаются привязки. Если тело представляет собой объект, оно будет сериализованно в формат json.

Имеется возможность загрузки модели данных перед обращением к внешнему API. Это может быть нужно, если какие-то свойства для обращения хранятся в БД. В этом случае нужно определить модель стандартным набором свойств model, schema, source.

Привязки

Для того, чтобы в свойствах можно было использовать значения "снаружи", используются привязки. Привязка это просто путь к свойству, заключенный в двойные квадратные или круглые скобки.

Привязка Тип Описание
[[param]] Параметры команды Значение из параметров команды. Обратите внимание, что это не свойство parameters, а параметры, с которыми команда вызвана с клиента.
((key.prop)) Окружение Значение из appSettings файла конфигурации. key представляет cобой имя ключа, а prop - свойство. Значение appSettings должно быть представлено в формате json.
{{path}} Модель данных Свойство из модели данных. path представляет cобой путь к свойству в модели данных. Допустимо только в случае загрузки модели данных перед выполнением команды.

Пример

Пусть, например мы хотим узнать погоду с помощью сервиса openweathermap. Город, в котором мы хотим узнать погоду будем передавать в параметре команды City. Ключ для доступа к api будем хранить в файле конфигурации приложения.

Серверная команда

"commands": {
"getWeather": {
	"type": "callApi",
	"parameters": {
		"url": "https://samples.openweathermap.org/data/2.5/weather?q=[[City]]&appid=((openweathermap.appid))",
		"method": "get"
	}
}

Вызов с клиента


Настройка ключа в файле web.config


Результат (в консоли браузера)