Skip to content

HTTP Request

Thực hiện một yêu cầu HTTP

  • Yêu cầu phương thức
    Phương pháp yêu cầu (GET, POST, etc.)

  • Địa chỉ đích
    Địa chỉ URL yêu cầu

  • Chọn một loại nội dung
    Có 4 loại nội dung mà bạn có thể lựa chọn:

    • text/plain: định dạng văn bản thuần túy, không có định dạng hay mã hóa đặc biệt.
    • application/json: định dạng dữ liệu JSON, thường được sử dụng trong việc truyền tải dữ liệu giữa server và client.
    • multipart/form-data: đại diện cho Multipart form, kiểu mã hóa này được sử dụng khi người dùng muốn tải tệp dữ liệu lên.
    • application/x-www-form-urlencoded: là kiểu mã hóa mặc định nếu thuộc tính enctype không có giá trị, đại diện cho URL Encoded Form. Tất cả các ký tự được mã hóa trước khi gửi (khoảng trắng được chuyển đổi thành ký hiệu "+" hoặc "%20" và các ký tự đặc biệt được chuyển đổi thành giá trị ASCII HEX).
  • Thời gian chờ
    Thời gian chờ để thực hiện request HTTP, chọn 0 để không có thời gian chờ

  • Headers
    Header được yêu cầu

  • Nội Dung
    Nội dung được yêu cầu

Phản Hồi

Xử lý phản hồi của yêu cầu.

  • Kiểu Phản Hồi
    Loại phản hồi, mặc định là JSON.

  • Đường Dẫn Dữ Liệu
    Lấy đường dẫn của dữ liệu mong muốn. Ví dụ khi phản hồi trả về những dữ liệu này:

    json
    {
    	"status": 200,
    	"data": {
    		"name": "Prices",
    		"values": [
    			{ "id": 1, "value": 4000 },
    			{ "id": 2, "value": 24000 }
    		]
    	}
    }
    {
    	"status": 200,
    	"data": {
    		"name": "Prices",
    		"values": [
    			{ "id": 1, "value": 4000 },
    			{ "id": 2, "value": 24000 }
    		]
    	}
    }
    • Trường hợp bạn muốn lấy giá trị của mảng values, sử dụng cú pháp data.values. Và để có được giá trị đầu tiên của values mảng , sử dụn cú pháp data.values.0.
    • Trường hợp bạn muốn lấy tất cả giá trị được trả về như trên để dùng chúng thì để nguyên trường Data path
  • Gán Biến
    Gán giá trị cho một biến

    • Tên Biến
      Tên biến để gán giá trị.
  • Chèn Vào Bảng
    Gán giá trị cho một cột trong bảng

    • Chọn Cột
      Cột nơi giá trị được chèn vào.

Dữ Liệu Biểu Mẫu

Khi sử dụng multipart/form-data làm tiêu đề, nội dung yêu cầu sẽ được gửi dưới dạng dữ liệu biểu mẫu. Và vì lý do đó, bạn phải tuân theo định dạng dưới đây khi viết vào phần nội dung:

json
[
	["name", "value"],
	["name 2", "value 2"]
]
[
	["name", "value"],
	["name 2", "value 2"]
]

Trong trường giá trị, bạn có thể viết đường dẫn tuyệt đối của file trong máy tính cục bộ hoặc URL của file bạn muốn tải lên. Ví dụ

json
[
	["audio", "C:\\Downloads\\files\\music.mp3"],
	["image", "https://example.com/image.png"]
]
[
	["audio", "C:\\Downloads\\files\\music.mp3"],
	["image", "https://example.com/image.png"]
]

Viết biểu thức bên trong nội dung

Khi viết biểu thức bên trong nội dung để truy cập dữ liệu như biến, bảng.v.v..,hơi khó một chút vì kết quả cuối cùng của nó phải là JSON hợp lệ. Và để tránh lỗi "Nội dung không hợp lệ JSON", hãy làm theo các quy tắc sau:

  • Chuỗi Giá Trị
    Nếu giá trị của dữ liệu bạn tham chiếu là một chuỗi, bạn phải bọc thẻ {} bên trong dấu ngoặc kép ("). Ví dụ:
json
{
	"name": "{{variables.name}}",
	"email": "{{variables.email}}"
}
{
	"name": "{{variables.name}}",
	"email": "{{variables.email}}"
}
  • Giá Trị Chuỗi Nhiều Dòng
    Nếu giá trị của dữ liệu bạn tham chiếu là một chuỗi và có một dòng mới trong đó, bạn phải thêm dấu chấm than (!) trước khi viết từ khóa của dữ liệu. Ví dụ:
json
{
	"longText": {{!variables.article}}
}
{
	"longText": {{!variables.article}}
}

Thông Tin

Điều này không bắt buộc khi sử dụng Biểu Thức Javascript.

  • Khác
    Nếu giá trị của dữ liệu bạn tham chiếu là đối tượng, mảng, v.v..., bạn có thể viết trực tiếp {} vào bên trong phần thân. Ví dụ:
json
{
	"profile": {{variables.userProfile}}, // { name: 'John Doe', email: 'john@example.com' }
	"stats": {{variables.stats}} // [10, 200, 87, 21]
}
{
	"profile": {{variables.userProfile}}, // { name: 'John Doe', email: 'john@example.com' }
	"stats": {{variables.stats}} // [10, 200, 87, 21]
}

Nếu là Biểu Thức Javascript, bạn cần đóng gói biểu thức bên trong hàm $stringify.

json
{
	"profile": {{$stringify(variables.userProfile)}},
	"stats": {{$stringify(variables.stats)}}
}
{
	"profile": {{$stringify(variables.userProfile)}},
	"stats": {{$stringify(variables.stats)}}
}

Ví dụ thực tế

Trong trường hợp thực tế, việc sử dụng node Http request còn phụ thuộc vào API được cung cấp. Do đó ví dụ này được thực hiện để giúp các bạn hiểu rõ hơn việc sử dụng node này trong một trường hợp nhất định. Ví dụ dưới sẽ dùng api của trang http://ktool.site/ để thuê số điện thoại cũng như lấy code được gửi vào số điện thoại đã thuê đó.

API lấy số điện thoại

  • Ở phần yêu cầu phương thức, chúng ta sử dụng phương thúc GET để lấy giá trị.
  • Địa chỉ đích là địa chỉ api được cung cấp để lấy số điện thoại, ở trang web này địa chỉ đó có dạng : http://ktool.site/api/v1/thueso/create?tokenid={token của bạn}&quocgia={vn1 hoặc vn2 hoặc cam...}&dichvu={Google hoặc Discord hoặc Telegram....}, bạn có thể chỉnh sửa các lựa chọn để hoàn thiện địa chỉ api, ví dụ: http://ktool.site/api/v1/thueso/create?tokenid=65170ce2bf4d11f4acfb99f45&quocgia=cam&dichvu=Google.
  • Vì api này không yêu cầu nội dung nên các bạn có thể bỏ qua phần loại nội dung nhưng thông thường các dạng api đều có nội dung dưới dạng application/json
  • Header thường được dùng để xác thực tài khoản đang gọi api, trong trường hợp này chúng ta đã dùng api trong địa chỉ api nên không cần điền thông tin gì vào.

Header

  • Sau khi thực hiện truy vấn giá trị trả về sẽ có dạng như sau
json
{
    "code": 200,
    "data": {
        "amount": 850,
        "brand": "Google",
        "codeID": "65728afa50806207f8b22c6a",
        "phoneNumber": "855769145977"
    }
}
{
    "code": 200,
    "data": {
        "amount": 850,
        "brand": "Google",
        "codeID": "65728afa50806207f8b22c6a",
        "phoneNumber": "855769145977"
    }
}
  • Ở phần phản hồi, với yêu cầu là lấy giá trị số điện thoại nhận được kèm với codeID sẽ được sử dụng ở lần lấy OTP của số điện thoại này nên chúng ta sẽ dùng giá trị của đối tượng data. Do đó điền vào trường Data path tên của đối tượng lấy giá trị bien.

Res

  • Cuối cùng để dùng giá trị đối tượng data đã lấy thì chúng ta chọn gán cho biến với lựa chọn Gán giá trị đối tượng đó với một biến bất kỳ. Sau đó chúng ta có thể lấy giá trị của codeID hoặc phoneNumber bằng biểu thức {{variables.bien.codeID}} hoặc {{variables.bien.phoneNumber}}
Ví dụ trường hợp lấy giá trị trả về chèn vào các biến tương ứng bằng node Chèn dữ liệu

chenres

API lấy code trả về số điện thoại đã thuê

  • Ở phần yêu cầu phương thức, chúng ta sử dụng phương thúc GET để lấy giá trị.
  • Địa chỉ đích là địa chỉ api được cung cấp để lấy số điện thoại, ở trang web này địa chỉ đó có dạng : http://ktool.site/api/v1/thueso/detail?tokenid={token của bạn}&code={codeID data trả về của lấy số điện thoại}, bạn có thể chỉnh sửa các lựa chọn để hoàn thiện địa chỉ api, ví dụ: http://ktool.site/api/v1/thueso/detail?tokenid=65170ce2bf4d11f4acfb99f45&code=65352e816d2de34c3fa5d2e32.
  • Vì api này không yêu cầu nội dung nên các bạn có thể bỏ qua phần loại nội dung nhưng thông thường các dạng api đều có nội dung dưới dạng application/json
  • Header thường được dùng để xác thực tài khoản đang gọi api, trong trường hợp này chúng ta đã dùng api trong địa chỉ api nên không cần điền thông tin gì vào.

Header

  • Sau khi thực hiện truy vấn giá trị trả về sẽ có dạng như sau
json
{
    "code": 200,
    "data": {
        "status": true,
        "otp": "127535",
        "id": "653103d36d2de34c3fa569d4",
        "brand": "Google"
    }
}
{
    "code": 200,
    "data": {
        "status": true,
        "otp": "127535",
        "id": "653103d36d2de34c3fa569d4",
        "brand": "Google"
    }
}
  • Ở phần phản hồi, với yêu cầu là lấy giá trị số điện thoại nhận được kèm với codeID sẽ được sử dụng ở lần lấy OTP của số điện thoại này nên chúng ta sẽ dùng giá trị của đối tượng data. Do đó điền vào trường Data path tên của đối tượng lấy giá trị bien1. Res

  • Cuối cùng để dùng giá trị đối tượng data đã lấy thì chúng ta chọn gán cho biến với lựa chọn Gán giá trị đối tượng đó với một biến bất kỳ. Sau đó chúng ta có thể lấy giá trị của otp khi dùng cú pháp {{variables.bien1.otp}}

Ví dụ trường hợp lấy giá trị trả về chèn vào các biến tương ứng bằng node Chèn dữ liệu

chenres