Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Возвращаемое значение: HTTP ответ на запрос в виде ассоциативного массива со следующими  ключами: statusCode - HTTP код ответа, body - тело ответа (преобразованное в соответствии с заголовком Content-Type),  headers - HTTP заголовки ответа в виде ассоциативного массива, exception - текст ошибки или nil если запрос прошёл без ошибок.

Примеры использования

Пример запроса

...

с использованием переменной в 

Если запрос требует передачу аргументов внутри url, в таком случае при использовании переменных в качестве аргументов необходимо соединить части url со значениями передаваемых переменных.
В качестве примера приведен запрос к API Росреестра, выводящий информацию о номере телефона, переданном в запросе: http://rosreestr.subnets.ru/?get=num&format=json&num=НОМЕР_ТЕЛЕФОНА_С_СЕМЕРКОЙ 

Блок кода
languagesql
themexmlDJango
$url = str.join(["http://rosreestr.subnets.ru/?get=num&format=json&num=", {phone_number}], "") //соединяем url запроса и значение переменной через пустой символ
$response = http.request($url), GET)

...

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

Блок кода
languagesql
themeDJangoxml
$response = http.request("https://iam.twin24.ai/api/v1/users",
"GET",
{"limit": 1, "offset": 3},
{"Authorization": "Bearer ВАШ_ТОКЕН"})

...

После отправки запроса весь ответ сервера будет записан в переменную, через которую вызывался данный запрос - в данном случае $response. Получение конкретных полей из ответа сервера производится также через BPL-операции - их можно вызвать как в том же блоке, где отправляется запрос, так и в любом другом последующем блоке арифметики, так как ответ сервера сохранен в переменную. Разберем получение полей на примере ответа на запрос iam.twin24.ai/api/v1/users:

Блок кода
languagesql
themeDJangoxml
{
    "count": 1,
    "items": [
        {
            "id": 0000,
            "companyId": 0000,
            "firstName": "Иван",
            "lastName": "Иванов",
            "middleName": "",
            "email": "example@twin24.ai",
            "phone": null,
            "roles": [
                {
                    "name": "COMPANY_ADMIN",
                    "company_id": 0000
                }
            ],
            "settings": [],
            "companyName": "Пример компании",
            "blockedAt": null,
            "online": false,
            "resellerId": null,
            "resellerName": null
        }
    ]
}

...

Для получения не вложенного элемента потребуется использовать BPL-операцию .get()
Получение поля count из примера ответа сервера, приведенного выше, и сохранение полученного значения в переменную {count}:

Блок кода
languagesql
themexmlDJango
$count = $response.get("count")

Для получения вложенного элемента потребуется использовать цепочку операций .get() Получение поля email из примера ответа сервера, и сохранение в переменную {email_address}:

Блок кода
languagesql
themeDJangoxml
$email_address = $response.get("items").get("0").get("email")

...