ENG  РУС
>

API

Вызов внешнего API

На Corezoid можно строить процессы с вызовом API любого формата.

Для этого предназначена Логика API с доступными форматами и методами COREZOID, GET, POST, PUT, DELETE, HEAD.

Ниже представлен пример настройки логики узла для вызова API OpenWeatherMap методом GET

signature

Для получения прогноза погоды через API OpenWeatherMap достаточно:

  • выбрать формат default и метод запроса GET
  • в поле URL добавить вызываемый URL с одной переменной city(название города) - http://api.openweathermap.org/data/2.5/weather?q={{city}}
  • через Add Param добавить дополнительный входящий параметр units с его значением metric (для получения температуры воздуха в единицах измерения - градусы Цельсия)

Отправляем заявку в процесс, где "city":"london" и получаем GET запрос от процесса к API:

http://api.openweathermap.org/data/2.5/weather?q=london&units=metric

Получаем ответ (HTTP status code = 200)

Параметр {{main.temp}} содержит значение с температурой воздуха в Лондоне - 12.22 ºC

{
                "sys": {
                        "sunset": 1443548577,
                        "sunrise": 1443506267,
                        "country": "GB",
                        "message": 0.0119,
                        "id": 5091,
                        "type": 1
                },
                "clouds": {
                        "all": 0
                },
                "wind": {
                        "deg": 40,
                        "speed": 2.1
                },
                "main": {
                        "temp_max": 14.44,
                        "temp_min": 10,
                        "humidity": 76,
                        "pressure": 1036,
                        "temp": 12.22
                },
                "weather": [
                        {
                                "icon": "01d",
                                "description": "Sky is Clear",
                                "main": "Clear",
                                "id": "***"
                        }
                ],
                "coord": {
                        "lat": 51.51,
                        "lon": -0.13
                },
                "cod": "***",
                "name": "London",
                "id": 2643743,
                "dt": 1443513244,
                "base": "cmc stations",
                "city": "london"
        }

В случае, если есть необходимость проверять доступ к вызываемому API, в URL запроса можно передавать системные параметры conv_signature, conv_time и conv_id, которые могут быть использованы для этого.

Тогда GET запрос от процесса к API будет иметь вид:

http://api.openweathermap.org/data/2.5/weather?q=london&units=metric&conv_signature={{conv_signature}}&conv_time={{conv_time}}&conv_id={{conv_id}}

conv_signature - ключ, который сгенерирован в узле с логикой API. Является уникальным значением и формируется по правилам, опсанным в разделе "Описание протокола".

conv_time - время запроса, в формате unix time в секундах (epoch time), по Гринвичу (GMT+0), целое число, обязательный параметр.

conv_id - id процесса.

signature

Чобы передавать системные параметры нужно в настройках Логики API по кнопке "Show headers" возвести флаг рядом с "Send param 'sys'".

signature

Подробное описание Логики API, форматов и методов вызова в разделе "Интерфейс".

comments powered by HyperComments