Skip to content

Developer/API

Tài liệu api để có thể thao tác với các chức năng trong app Omnilogin. Khi gọi api sẽ có các trạng thái trả về như sau

  • 200: thao tác thành công
  • 400: sai cú pháp
  • 404: không tìm thấy giá trị muốn thao tác
  • 500: lỗi máy chủ, cú pháp chứa ký tự không hợp lệ

Với các giá trị trong body không muốn thay đổi mà muốn tự tạo ra thì không cần thêm vào, chỉ thêm những giá trị muốn thay đổi

Browser

Open browser

Các bạn có thể mở profile qua phương thức GET với api bằng các tham số sau

  • profile_id: id của profile bạn muốn mở
  • remote_debug_port: cổng bạn muốn mở, để trống sẽ tự tạo random, muốn thay đổi sang cổng khác thì thay đổi trong khoảng từ 1 đến 65536
  • scale: dùng để ép trình duyệt phóng to hoặc thu nhỏ giao diện theo một tỷ lệ nhất định, bất kể màn hình máy tính hay thiết lập hệ điều hành.
  • headless: mở nhưng không hiện cửa sổ
  • addition_args: tham số thêm khi mở profile. Khi muốn viết nhiều tham số thì ghi như sau: ?addition_args=[arg1]&addition_args=[arg2]. Các bạn có thể tham khảo ở đây

Ví dụ khi mình muốn mở profile có id 21696, hiện cửa sổ khi mở profile thì mình dùng api sau http://localhost:35353/open?profile_id=21696&headless=false

Close browser by profile id

Để đóng một profile thì mình chỉ cần điền id của profile đó vào api.

Ví dụ mình muốn đóng profile có id là 19092 thì mình dùng phương thức GET với api sau

http://localhost:35353/stop/19092

Proxy

Get proxy

Các bạn có thể tìm proxy theo name, date_created,date_updated, theo tứ tự tăng dần, theo thứ tự trang và theo kích thước của trang

Ví dụ mình đang muốn tìm proxy theo tên proxy1, với thứ tự tăng dần, nằm ở trang 1 và kích thước trang là 20 thì sẽ dùng phương thức GET với api sau: http://localhost:35353/proxies?sort=name&sort_type=desc&page=1&pageSize=20&q=proxy1

Add new proxy

Các bạn có thể thêm proxy vào app qua api

Trong api này các bạn có thể sử dụng các giá trị sau trong phần body

  • name: tên của proxy, định dạng chuỗi văn bản
  • proxy_type: kiểu proxy, định dạng chuỗi văn bản, chỉ nhận các giá trị sau HTTPS, HTTP, Socks5
  • host: host của proxy, định dạng chuỗi văn bản
  • port: port của proxy, định dạng số
  • user_name: username của proxy, định dạng chuỗi văn bản
  • password: password của proxy, định dạng chuỗi văn bản

Ví dụ khi mình muốn tạo một proxy có giá trị namepro2, proxy_typeHTTPS, host123.456.789.012, port12345, user_nameadminomni, passwordadminthomas thì sẽ sử dụng phương thức POST với api sau http://localhost:35353/proxies với giá trị body

json
{
  "name": "pro2",
  "proxy_type": "HTTPS",
  "host": "123.456.789.012",
  "port": 12345,
  "user_name": "adminomni",
  "password": "adminthomas"
}

Get a proxy by id

Các bạn có thể tìm proxy theo id của proxy đó

Ví dụ mình muốn tìm một proxy với id là 189 thì mình có thể sử dụng phương thức GET với api sau http://localhost:35353/proxies/189

Update an existing proxy

Các bạn có thể cập nhập proxy vào app qua api

Trong api này các bạn có thể sử dụng các giá trị sau trong phần body

  • name: tên của proxy, định dạng chuỗi văn bản
  • proxy_type: kiểu proxy, định dạng chuỗi văn bản, chỉ nhận các giá trị sau HTTPS, HTTP, Socks5
  • host: host của proxy, định dạng chuỗi văn bản
  • port: port của proxy, định dạng số
  • user_name: username của proxy, định dạng chuỗi văn bản
  • password: password của proxy, định dạng chuỗi văn bản

Ví dụ khi mình muốn cập nhập một proxy có id189 có giá trị namepro2, proxy_typeHTTPS, host123.456.789.012, port12345, user_nameadminomni, passwordadminthomas thành namepro21, proxy_typeHTTP, host121.456.789.012, port12345, user_nameadminomni1, passwordadminthomas1 thì sẽ sử dụng phương thức PUT với api sau http://localhost:35353/proxies/189 với giá trị body

json
{
  "name": "pro21",
  "proxy_type": "HTTP",
  "host": "121.456.789.012",
  "port": 12345,
  "user_name": "adminomni1",
  "password": "adminthomas1"
}

Deletes a proxy

Các bạn có thể xoá proxy theo id trong app qua api

Ví dụ mình đang muốn xoá proxy có id189 thì sử dụng phương thức DELETE với api sau http://localhost:35353/proxies/189

Profile

Get all profiles

Các bạn có thể tìm profile theo các giá trị sau

  • sort: tìm kiếm theo name, date_createddate_updated
  • sort_type: tìm kiếm theo thứ tự asc(tăng dần) và desc(giảm dần)
  • page: số thứ tự của trang
  • pageSize: số phần tử giới hạn có trên trang
  • q: điền tên nếu tìm kiếm theo name, ngày nếu tìm kiếm theo date_createddate_updated

Ví dụ mình đang muốn tìm profile theo tên 123edaksjd, với thứ tự tăng dần, nằm ở trang 1 và kích thước trang là 20 thì sẽ dùng phương thức GET với api sau: http://localhost:35353/profiles?sort=name&sort_type=desc&page=1&pageSize=20&q=123edaksjd

Add a new profile

Các bạn có thể tạo các profile vào trong app thông qua api các giá trị mong muốn

Trong api này các bạn có thể sử dụng các giá trị sau trong phần body

  • name: tên của profile, định dạng chuỗi văn bản
  • account: các thông số muốn cập nhập vào profile
    • notes(chú thích): chú thích cho profile này, định dạng chuỗi văn bản
    • cookie: cookie của profile này, định dạng chuỗi văn bản
    • userDataType: kiểu lưu dữ liệu, định dạng chuỗi
      • automatic: tự tạo folder và lưu dữ liệu profile đó vào
      • manual: người dùng có thể cấu hình đường dẫn thủ công đến folder lưu dữ liệu profile đó
    • userData: nếu các bạn chọn giá trị userDataTypemanual thì điền đường dẫn folder muốn dùng để lưu giá trị profile vào đây, chọn automation thì không cần sử dụng giá trị này
  • fingerprint
    • timezone: ở đây bạn điền chỉ hai giá trị true hoặc false. Nếu giá trị là true thì sẽ tạo ra một múi giờ dựa vào ip của profile, là false thì múi giờ sẽ theo ip thật ở máy của các bạn hoặc múi giờ nhập vào
    • tzValue: khi chọn giá trị ở timezonetrue thì không cần sử dụng trường này, còn khi chọn timezonefalse thì cần sử dụng trường này. Các bạn chỉ cần điền tên của múi giờ. Ví dụ các bạn có thể điền là Pacific/Honolulu nếu muốn múi giờ là GMT-10. Để trống trường này thì sẽ lấy giá trị múi giờ tương ứng với ip của máy bạn
    • web_rtc: WebRTC của profile. Các bạn có thể sử dụng các giá trị autoamtic, manual, turn, real, disabled
      • automatic: WebRTC được bật. IP công cộng sẽ được thay thế bằng IP proxy và IP cục bộ sẽ được che giấu
      • turn: WebRTC được bật. Chuyển tất cả các yêu cầu webRTC sang máy chủ mặc định của Google. IP công cộng sẽ được thay thế bằng IP mà bạn đã nhập và IP cục bộ sẽ được che giấu
      • manual: WebRTC được bật. IP công cộng sẽ được thay thế bằng IP mà bạn đã nhập và IP cục bộ sẽ được che giấu
      • real - WebRTC được bật. Địa chỉ IP thực của bạn sẽ được sử dụng
      • disabled - WebRTC bị đóng. Các trang web sẽ phát hiện rằng bạn đã đóng WebRTC
    • public_ip: điền địa chỉ ip mà các bạn muốn để thay vào ip public. Bắt buộc khi web_rtcmanual.
    • screen_resolution: độ phân giải màn hình. Để trống sẽ sử dụng theo máy tính của bạn, điền giá trị random thì sẽ chọn một độ phân giải ngẫu nhiên hoặc các bạn có thể cấu hình một kích thước mong muốn chẳng hạn 600x800
    • fonts: kiểu phông chữ cho profile, các bạn có thể sử dụng các giá trị
      • SystemDefault: Sử dụng phông chữ hệ thống
      • Custom: chọn ngẫu nhiên trong danh sách phông chữ tùy chỉnh cho profile
    • canvas: Là một phần của HTML5, cho phép bạn vẽ đồ họa 2D trực tiếp trong trình duyệt bằng JavaScript.
      • Noise: Sẽ đặt Canvas khác nhau cho các cấu hình trên cùng một thiết bị
      • Close: Mỗi Browser Profile sử dụng canvas mặc định của máy tính hiện tại
    • web_gl_image_type: Là hình ảnh hoặc texture được render bằng WebGL — tức là đồ họa 3D trong trình duyệt sử dụng GPU.
      • Noise: Sẽ đặt các WebGL khác nhau cho các cấu hình trong cùng một thiết bị
      • Close: Mỗi Browser Profile sử dụng WebGL mặc định của máy tính hiện tại
    • web_gl_type: Là thông tin phụ từ WebGL như: GPU model, vendor (hãng sản xuất), shader precision, v.v.
      • Custom: Đặt một giá trị để thay thế WebGL Metadata thực của thiết bị
      • Close: Mỗi Browser Profile sử dụng WebGL mặc định của máy tính hiện tại
    • audio_context: Cho phép xử lý âm thanh một cách nâng cao trong trình duyệt: mix nhạc, tạo hiệu ứng, phân tích âm thanh.
      • Custom: Sẽ đặt Audio Fingerprints khác nhau cho các Profile trong cùng một thiết bị
      • Close: Mỗi browser profile sử dụng Audio mặc định của máy hiện tại
    • client_rects: Là API JavaScript để lấy thông tin kích thước và vị trí của phần tử HTML (hộp bao quanh một phần tử).
      • Noise: Sẽ tạo các ClientRects cho mỗi profile khác nhau trên cùng 1 máy tính
      • Close: Mỗi profile sẽ sử dụng ClientRects mặc định của máy
    • lang: ngôn ngữ cho trình duyệt. Các bạn có thể để dùng các giá trị
      • Để trống: theo ngôn ngữ của máy
      • auto: tự động chọn một ngôn ngữ
      • chỉ định: chọn một giá trị cố định như en-US,en,es-US,st
    • operating_system: hệ điều hành cho chrome. Có thể sử dụng các giá trị window, mac, linux, android, iphone, custom
    • user_agent: User-Agent (tác nhân người dùng) là một chuỗi văn bản mà trình duyệt web hoặc ứng dụng gửi đến máy chủ web khi thực hiện một yêu cầu (request), thường là trong phần tiêu đề HTTP (HTTP header). Đây là một trường không bắt buộc, nếu các bạn muốn cấu hình riêng thì điền vào chẳng hạn như giá trị Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0
    • omni_browser_version: phiên bản của trình duyệt trên omni, mặc định dùng bản mới nhất, nếu muốn thay đổi thì điền các phiên bản khác vào chẳng hạn như 60 thì sẽ dùng phiên bản trình duyệt v60 của Omni
  • embedded_proxy: thông tin proxy muốn thêm vào profile
    • name: tên của proxy, định dạng chuỗi văn bản
    • proxy_type: kiểu proxy, định dạng chuỗi văn bản, chỉ nhận các giá trị sau HTTPS, HTTP, Socks5
    • host: host của proxy, định dạng chuỗi văn bản
    • port: port của proxy, định dạng số
    • user_name: username của proxy, định dạng chuỗi văn bản
    • password: password của proxy, định dạng chuỗi văn bản
  • idProxy: id của proxy đã thêm vào mục Quản lý proxies
  • dest_url: url mở khi mở profile, chẳng hạn như điền giá trị https://whoer.net/ thì sẽ mở trang này khi mở profile
  • group: nhóm muốn thêm profile này sau khi tạo

Ví dụ mình đang muốn tạo profile có tên là rjwdn13 và thêm vào nhóm có id là 1 còn lại mọi giá trị khác đều tự tạo thì dùng phương thức POST với api sau http://localhost:35353/profilesbody có giá trị như sau

json
{
  "name": "rjwdn13",
  "group": {
    "id": "1"
  }
}

Trường hợp mình muốn thay đổi giá trị nào thì ghi thêm vào trong body, ví dụ mình muốn thay đổi operating_system profile là androidomni_browser_version63(cần tải phiên bản này ở app rồi) thì sử dụng body như sau

json
{
  "name": "rjwdn13",
   "fingerprints": {
    "operating_system": "android",
    "omni_browser_version": "63"
  },
  "group": {
    "id": "1"
  }
}

Add a new profile base on select profile

Các bạn có thể nhân bản một profile dựa vào profile đã chọn thông qua api

Trong api này các bạn có thể sử dụng các giá trị sau trong phần body

  • name: tên của profile, định dạng chuỗi văn bản
  • account: các thông số muốn cập nhập vào profile
    • notes(chú thích): chú thích cho profile này, định dạng chuỗi văn bản
    • cookie: cookie của profile này, định dạng chuỗi văn bản
    • userDataType: kiểu lưu dữ liệu, định dạng chuỗi
      • automatic: tự tạo folder và lưu dữ liệu profile đó vào
      • manual: người dùng có thể cấu hình đường dẫn thủ công đến folder lưu dữ liệu profile đó
    • userData: nếu các bạn chọn giá trị userDataTypemanual thì điền đường dẫn folder muốn dùng để lưu giá trị profile vào đây, chọn automation thì không cần sử dụng giá trị này
  • embedded_proxy: thông tin proxy muốn thêm vào profile
    • name: tên của proxy, định dạng chuỗi văn bản
    • proxy_type: kiểu proxy, định dạng chuỗi văn bản, chỉ nhận các giá trị sau HTTPS, HTTP, Socks5
    • host: host của proxy, định dạng chuỗi văn bản
    • port: port của proxy, định dạng số
    • user_name: username của proxy, định dạng chuỗi văn bản
    • password: password của proxy, định dạng chuỗi văn bản
  • idProxy: id của proxy đã thêm vào mục Quản lý proxies

Ví dụ mình muốn tạo ra một profile có id là 21703 từ profile 21702 với tên là iqwends1214 thì mình sẽ dùng phương thức POST với api sau http://localhost:35353/profiles/21702/clone với giá trị ở body

json
{
  "name": "iqwends1214"
}

Get a profile by id

Các bạn có thể sử dụng api để tìm một profile theo id

Ví dụ mình muốn tìm một profile có id là 21703 thì mình sẽ dùng phương thức GET với api sau http://localhost:35353/profiles/21703

Deletes a profile

Các bạn có thể sử dụng api để xoá một profile theo id

Ví dụ mình muốn xoá một profile có id là 21703 và muốn xoá dữ liệu profile đó trên máy thì mình sẽ dùng phương thức DELETE với api sau http://localhost:35353/profiles/21703?deleteData=y

Update name an existing profile

Các bạn có thể sử dụng api để cập nhập tên một profile theo id

Ví dụ mình muốn sửa tên một profile có id là 21702 với tên từ 213adsnasd thành jbdkjadqe thì mình sẽ dùng phương thức PUT với api sau http://localhost:35353/profiles/21702/name với body chưa tên mới của profile đó

json
{
  "name": "jbdkjadqe"
}

Update status of an existing profile

Các bạn có thể cập nhập trạng thái profile theo giá trị màu sắc như (red,blue) hoặc dạng Hex(#00FFF)

Chẳng hạn thay đổi trạng thái của một profile với id là 21702 của nó thông qua phương thức PUT với api sau http://localhost:35353/profiles/21702/status với giá trị trong mục body

json
{
  "status": "red"
}

Ví dụ mình muốn sửa trạng thái của một profile có id là 21702 với trạng thái red thì mình sẽ dùng api sau ``

Update disabled proxy status of profile

Các bạn có thể tắt/bật proxy ở một profile theo hai giá trị true có nghĩa là tắt, false có nghĩa là bật

Chẳng hạn có thể bật proxy của một profile có id là 21702 thông quaphương thức PUT với api sau http://localhost:35353/profiles/21702/disable-proxy với giá trị trong body

json
{
  "disabled": false
}

Update tags of an existing profile

Các bạn có thể update thẻ tag cho một hoặc nhiều profile theo id

Trong api này các bạn có thể sử dụng các giá trị sau trong phần body

  • tags: danh sách các thẻ tag muốn thêm
  • ids: danh sách id của các profile muốn cập nhập thẻ tag
  • append: dùng giá trị true nếu muốn thêm tags vào cuối danh sách, false nếu muốn thay thế hoàn toàn danh sách cũ bằng danh sách mới

Chẳng hạn có thể cập nhập thẻ tag test1 vào cuối một profile có id là 21702 thông qua phương thức PUT với api sau http://localhost:35353/profiles/tagsbody như sau

json
{
  "tags": [
    "tets1"
  ],
  "ids": [
    "21702"
  ],
  "append": true
}

Chẳng hạn có thể cập nhập nhiều thẻ tag tes2,test3,test4 vào cuối các profile có id 21702,21704,21705 thông qua phương thức PUT với api sau http://localhost:35353/profiles/tagsbody như sau

json
{
  "tags": [
    "tets2","test3","test4"
  ],
  "ids": [
    "21702","21704","21705"
  ],
  "append": true
}

Update fingerprint an existing profile

Các bạn có thể cập nhập fingerprint của một profile có sẵn thông qua id của nó

Trong api này các bạn có thể sử dụng các giá trị sau trong phần body

  • timezone: ở đây bạn điền chỉ hai giá trị true hoặc false. Nếu giá trị là true thì sẽ tạo ra một múi giờ dựa vào ip của profile, là false thì múi giờ sẽ theo ip thật ở máy của các bạn hoặc múi giờ nhập vào
  • tzValue: khi chọn giá trị ở timezonetrue thì không cần sử dụng trường này, còn khi chọn timezonefalse thì cần sử dụng trường này. Các bạn chỉ cần điền tên của múi giờ. Ví dụ các bạn có thể điền là Pacific/Honolulu nếu muốn múi giờ là GMT-10. Để trống trường này thì sẽ lấy giá trị múi giờ tương ứng với ip của máy bạn
  • web_rtc: WebRTC của profile. Các bạn có thể sử dụng các giá trị autoamtic, manual, turn, real, disabled
    • automatic: WebRTC được bật. IP công cộng sẽ được thay thế bằng IP proxy và IP cục bộ sẽ được che giấu
    • turn: WebRTC được bật. Chuyển tất cả các yêu cầu webRTC sang máy chủ mặc định của Google. IP công cộng sẽ được thay thế bằng IP mà bạn đã nhập và IP cục bộ sẽ được che giấu
    • manual: WebRTC được bật. IP công cộng sẽ được thay thế bằng IP mà bạn đã nhập và IP cục bộ sẽ được che giấu
    • real - WebRTC được bật. Địa chỉ IP thực của bạn sẽ được sử dụng
    • disabled - WebRTC bị đóng. Các trang web sẽ phát hiện rằng bạn đã đóng WebRTC
  • public_ip: điền địa chỉ ip mà các bạn muốn để thay vào ip public. Bắt buộc khi web_rtcmanual.
  • screen_resolution: độ phân giải màn hình. Để trống sẽ sử dụng theo máy tính của bạn, điền giá trị random thì sẽ chọn một độ phân giải ngẫu nhiên hoặc các bạn có thể cấu hình một kích thước mong muốn chẳng hạn 600x800
  • fonts: kiểu phông chữ cho profile, các bạn có thể sử dụng các giá trị
    • SystemDefault: Sử dụng phông chữ hệ thống
    • Custom: chọn ngẫu nhiên trong danh sách phông chữ tùy chỉnh cho profile
  • canvas: Là một phần của HTML5, cho phép bạn vẽ đồ họa 2D trực tiếp trong trình duyệt bằng JavaScript.
    • Noise: Sẽ đặt Canvas khác nhau cho các cấu hình trên cùng một thiết bị
    • Close: Mỗi Browser Profile sử dụng canvas mặc định của máy tính hiện tại
  • web_gl_image_type: Là hình ảnh hoặc texture được render bằng WebGL — tức là đồ họa 3D trong trình duyệt sử dụng GPU.
    • Noise: Sẽ đặt các WebGL khác nhau cho các cấu hình trong cùng một thiết bị
    • Close: Mỗi Browser Profile sử dụng WebGL mặc định của máy tính hiện tại
  • web_gl_type: Là thông tin phụ từ WebGL như: GPU model, vendor (hãng sản xuất), shader precision, v.v.
    • Custom: Đặt một giá trị để thay thế WebGL Metadata thực của thiết bị
    • Close: Mỗi Browser Profile sử dụng WebGL mặc định của máy tính hiện tại
  • audio_context: Cho phép xử lý âm thanh một cách nâng cao trong trình duyệt: mix nhạc, tạo hiệu ứng, phân tích âm thanh.
    • Custom: Sẽ đặt Audio Fingerprints khác nhau cho các Profile trong cùng một thiết bị
    • Close: Mỗi browser profile sử dụng Audio mặc định của máy hiện tại
  • client_rects: Là API JavaScript để lấy thông tin kích thước và vị trí của phần tử HTML (hộp bao quanh một phần tử).
    • Noise: Sẽ tạo các ClientRects cho mỗi profile khác nhau trên cùng 1 máy tính
    • Close: Mỗi profile sẽ sử dụng ClientRects mặc định của máy
  • lang: ngôn ngữ cho trình duyệt. Các bạn có thể để dùng các giá trị
    • Để trống: theo ngôn ngữ của máy
    • auto: tự động chọn một ngôn ngữ
    • chỉ định: chọn một giá trị cố định như en-US,en,es-US,st
  • operating_system: hệ điều hành cho chrome. Có thể sử dụng các giá trị window, mac, linux, android, iphone, custom
  • user_agent: User-Agent (tác nhân người dùng) là một chuỗi văn bản mà trình duyệt web hoặc ứng dụng gửi đến máy chủ web khi thực hiện một yêu cầu (request), thường là trong phần tiêu đề HTTP (HTTP header). Đây là một trường không bắt buộc, nếu các bạn muốn cấu hình riêng thì điền vào chẳng hạn như giá trị Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0
  • omni_browser_version: phiên bản của trình duyệt trên omni, mặc định dùng bản mới nhất, nếu muốn thay đổi thì điền các phiên bản khác vào chẳng hạn như 60 thì sẽ dùng phiên bản trình duyệt v60 của Omni

Chẳng hạn mình có thể thay đổi giá trị omni_browser_version từ 66 xuống 60 ở fingerprint với profile có id là 21702 thông qua phương thức PUT với api sau http://localhost:35353/profiles/21702/fingerprint với giá trị ở body như sau

json
{
  "omni_browser_version": "60"
}

Change proxy for profiles

Các bạn có thể sử dụng proxy từ trong mục Quản lý proxies để thay đổi proxy cho các profile thông qua id của profile đó

Trong api này các bạn có thể sử dụng các giá trị sau trong phần body

  • proxyId: id của proxy có trong mục Quản lý proxies
  • profileIds: một hoặc nhiều id của profile muốn thay đổi proxy

Chẳng hạn mình có thể thay đổi proxy hiện tại của profile có id là 21702 thành proxy có id là 190 thông qua phương thức PUT với api sau http://localhost:35353/profiles/proxy với giá trị body như sau

json
{
  "proxyId": "190",
  "profileIds": [
    "21702"
  ]
}

Mình cũng có thể thay đổi proxy hiện tại của các profile có id là 21702,21703 thành proxy có id là 190 thông qua phương thức PUT với api sau http://localhost:35353/profiles/proxy với giá trị body như sau

json
{
  "proxyId": "190",
  "profileIds": [
    "21702","21703"
  ]
}

Change embedded proxy for profiles

Các bạn có thể nhập một proxy mới để thay đổi proxy cho các profile thông qua id của profile đó

Trong api này các bạn có thể sử dụng các giá trị sau trong phần body

  • proxy
    • name: tên của proxy, định dạng chuỗi văn bản
    • proxy_type: kiểu proxy, định dạng chuỗi văn bản, chỉ nhận các giá trị sau HTTPS, HTTP, Socks5
    • host: host của proxy, định dạng chuỗi văn bản
    • port: port của proxy, định dạng số
    • user_name: username của proxy, định dạng chuỗi văn bản
    • password: password của proxy, định dạng chuỗi văn bản
  • profileIds: một hoặc nhiều id của profile muốn thay đổi proxy

Chẳng hạn mình có thể thay đổi proxy hiện tại của các profile có id là 21702 từ proxy mới có giá trị namepro2, proxy_typeHTTPS, host123.456.789.012, port12345, user_nameadminomni, passwordadminthomas thành namepro21, proxy_typeHTTP, host121.456.789.012, port12345, user_nameadminomni1, passwordadminthomas1 thì sẽ sử dụng phương thức PUT với api sau http://localhost:35353/profiles/embedded-proxy với giá trị body

json
{
  "proxy": {
    "name": "pro21",
    "proxy_type": "HTTP",
    "host": "121.456.789.012",
    "port": 12345,
    "user_name": "adminomni1",
    "password": "adminthomas1"
},
"profileIds":[
  "21702"
]
}

Mình cũng có thể thay đổi proxy hiện tại của các profile có id là 2170221704 từ proxy mới có giá trị namepro2, proxy_typeHTTPS, host123.456.789.012, port12345, user_nameadminomni, passwordadminthomas thành namepro21, proxy_typeHTTP, host121.456.789.012, port12345, user_nameadminomni1, passwordadminthomas1 thì sẽ sử dụng phương thức PUT với api sau http://localhost:35353/profiles/embedded-proxy với giá trị body

json
{
  "proxy": {
    "name": "pro21",
    "proxy_type": "HTTP",
    "host": "121.456.789.012",
    "port": 12345,
    "user_name": "adminomni1",
    "password": "adminthomas1"
},
"profileIds":[
  "21702","21704"
]
}

Group

Get groups

Các bạn có thể sử dụng api để xoá một nhóm theo các giá trị

Các bạn có thể tìm nhóm theo các giá trị sau

  • sort: tìm kiếm theo name, date_createddate_updated
  • sort_type: tìm kiếm theo thứ tự asc(tăng dần) và desc(giảm dần)
  • page: số thứ tự của trang
  • pageSize: số phần tử giới hạn có trên trang
  • q: điền tên nếu tìm kiếm theo name, ngày nếu tìm kiếm theo date_createddate_updated

Ví dụ mình đang muốn tìm nhóm theo tên script1, với thứ tự tăng dần, nằm ở trang 1 và kích thước trang là 50 thì sẽ dùng phương thức GET với api sau: http://localhost:35353/groups?sort=name&sort_type=asc&page=1&pageSize=50&q=script1

Add new group

Các bạn có thể sử dụng api để thêm một nhóm

Trong api này các bạn có thể sử dụng các giá trị sau trong phần body

  • name: tên của nhóm muốn tạo

Các bạn có thể thêm một nhóm có tên nhom11 thông qua phương thức POST với api là http://localhost:35353/groupsbody sau

json
{
  "name": "nhom111"
}

Get a group by id

Các bạn có thể sử dụng api để hiển thị một nhóm theo id

Các bạn có thể tìm kiếm một nhóm có id là 12 thông qua phương thức GET với api là http://localhost:35353/groups/12

Update an existing group

Các bạn có thể sử dụng api để sửa tên một nhóm theo id

Trong api này các bạn có thể sử dụng các giá trị sau trong phần body

  • name: tên của nhóm muốn sửa

Các bạn có thể cập nhập tên của một nhóm có id là 12 thông qua phương thức PUT với api là http://localhost:35353/groups/12body sau

json
{
  "name": "nhom111"
}

Deletes a group

Các bạn có thể sử dụng api để xoá một nhóm theo id

Các bạn có thể xoá một nhóm có id là 12 thông qua phương thức DELETE với api là http://localhost:35353/groups/12

Automation

Start workflow

Các bạn có thể sử dụng api để chạy một kịch bản theo id được lấy từ chức năng Sao chép Workflow ID

Các bạn có thể chạy một kịch bản có id là de75360c-0231-45fb-9cca-4c35ad259ff8 thông qua phương thức POST với api là http://localhost:35353/automation/workflow/de75360c-0231-45fb-9cca-4c35ad259ff8/start

Stop a workflow

Các bạn có thể sử dụng api để dừng một kịch bản theo id được lấy từ chức năng Sao chép Workflow ID

Các bạn có thể chạy một kịch bản có id là de75360c-0231-45fb-9cca-4c35ad259ff8 thông qua phương thức PUT với api là http://localhost:35353/automation/workflow/de75360c-0231-45fb-9cca-4c35ad259ff8/stop

Stop all running workflow

Các bạn có thể sử dụng api để dừng tất cả kịch bản đang chạy thông qua phương thức PUT với api http://localhost:35353/automation/workflow/de75360c-0231-45fb-9cca-4c35ad259ff8/stop

Get status of a task

Các bạn có thể lấy trạng thái của kịch bản đang chạy bằng giá trị taskId trả về khi dùng api Start workflow

Khi đó các bạn sẽ sử dụng api như sau để lấy ra trạng thái của kịch bản đang chạy có taskId là de75360c-0231-45fb-9cca-4c35ad259ff8 http://localhost:35353/automation/task/2025042917425399118/status