http.sendRequest
Отправляет HTTP-запрос на указанный URL.
Сигнатура: http.sendRequest(url string, method string, body any = nil, headers Map = nil) Response
Аргументы:
url
— URL-адрес, на который будет отправлен запрос.method
— HTTP-метод. Допустимые значения: GET
, POST
, PUT
, DELETE
, PATCH
, HEAD
, OPTIONS
.body
— тело запроса. Может быть скалярным значением, списком или ассоциативным массивом.headers
— HTTP-заголовки запроса. По умолчанию используется заголовок Content-Type: application/json
.Возвращаемое значение: Объект HTTP-ответа (Response
).
Пример использования:
// Выполняем запрос на получение списка юзеров
$response = http.sendRequest("https://iam.twin24.ai/api/v1/users", "GET", {"limit": 15, "offset": 5}, {"Authorization": "Bearer authToken"})
// Извлекаем информацию о запросе
$statusCode = $response.statusCode
$body = $response.body
$headers = $response.headers
$error = $response.error
Для типов содержимого json
или xml
, если значение body
является списком или ассоциативным массивом, оно автоматически конвертируется в строку соответствующего формата.
То же самое происходит и с телом ответа: если содержимое ответа в формате json
или xml
, тело автоматически преобразуется в список или ассоциативный массив.
// Тело JSON-запроса в виде структур данных BPL
$requestBody = [
{
"param1": "value1",
"param2": 123,
},
{
"param3": ["a", "b", "c"],
},
]
// Это тело автоматически будет преобразовано в строку
$response = http.sendRequest("http://some.url", "POST", $requestBody, {"Content-Type": "application/json"})
// Если тип содержимого ответа json, то тело будет автоматически преобразовано в структуру BPL
$body = $response.body
// Тело XML-запроса в виде структур данных BPL
$requestBody = [
{
"tag": "xml",
"value": [
{
"tag": "head",
"value": [
{
"tag": "title",
"value": "chapter 2",
},
],
},
{
"tag": "body",
"value": [
{
"tag": "div",
"attributes": {
"class": "color",
"style": "display:block;",
},
"value": [
"Some",
{
"tag": "br",
},
"text",
],
},
{
"tag": "div",
"attributes": {
"id": "a12",
},
"value": [
{
"tag": "i",
"value": "Another text",
},
{
"tag": "span",
"expand": true, // если true, то тег с пустым значением будет иметь закрывающий тег
},
],
},
],
},
],
},
]
// Это тело автоматически будет преобразовано в строку
$response = http.sendRequest("http://some.url", "POST", $requestBody, {"Content-Type": "text/xml"})
// Если тип содержимого ответа xml, то тело будет автоматически преобразовано в структуру BPL
$body = $response.body
http.request
Формирует новый объект HTTP-запроса.
Сигнатура: http.request(url string = "", method string = "POST", body any = nil) Request
Аргументы:
url
— строка URL.method
— название HTTP-метода.body
— содержимое тела запроса.Возвращаемое значение: Объект, содержащий информацию о HTTP-запросе.
Пример использования:
$response = http.request("https://some.url", "POST", {"param1": 123, "param2": true}).
headers({"Content-Type": "application/json"}).
timeout(300).
send()