NAV Navbar
Logo
cURL

OpenFPT API

Giới thiệu

Open FPT là chương trình của FPT nhắm tới việc thúc đẩy việc chia sẻ, và kết nối các công nghệ và kết quả nghiên cứu của FPT (và các công ty thành viên) ra ngoài cộng đồng.

Cổng dịch vụ công nghệ OpenFPT là một thành tố chính trong chương trình này. Thông qua cổng này, các công nghệ trong tập đoàn FPT sẽ được mở ra cho cộng đồng sử dụng dưới dạng API (web services). Các nhà phát triển và cộng đồng có thể khai thác, sáng tạo ra các dịch vụ cho người dùng mà chính FPT cũng không nghĩ tới và làm được.

Dù bạn là công ty khởi nghiệp, hay doanh nghiệp, hoặc nhà phát triển độc lập, chúng tôi tin rằng bạn sẽ tìm được những dịch vụ hữu ích từ OpenFPT.

Các API hiện có

Security, Commerce & Infrastructure

Tên Mô tả Tài liệu
CyRadar API tra cứu xem 1 website có phải là lừa đảo (phishing) hoặc chứa mã độc hay không Click here
FBusInfo API tra cứu thông tin xe bus trực tuyến Click here
Traffic Situation API cung cấp thông tin tình trạng giao thông Click here
VNE Open API API hỗ trợ việc lấy bài mới nhất từ báo vnexpress.net Click here

Language & Speech

Tên Mô tả Tài liệu
Speech Synthesis API tổng hợp tiếng nói từ văn bản tiếng Việt              Click here
FPT Speech Recognition Nhận dạng giọng nói tiếng Việt Click here
Vietnamese Accentizer Thêm dấu tiếng Việt Click here
Name to Gender Xác định giới tính cho tên của bạn Click here
Vitk API xử lý văn bản bao gồm dịch vụ: phân đoạn từ, gán nhãn từ loại và phân tích cấu trúc ngữ pháp Click here

Vision & Data Insights

Tên Mô tả Tài liệu
ANPR API tự động nhận diện biển số xe              Click here
FTS Routing API cung cấp dịch vụ định tuyến cho bản đồ số Click here

Authentication

Để sử dụng được các API ở trên cần phải có header api_key trong HTTP request. API key này được lấy bằng cách đăng kí tài khoản Developer tại đây và tạo app.






































ANPR

Giới thiệu

ANPR (Automatic Number Plate Recognition) là API nhận diện biển số xe tự động. Bạn gửi ảnh chụp biển số lên server, ANPR sẽ xử lý và trả về kết quả, kèm theo mức độ tin cậy của kết quả đó.

Hiện tại ANPR nhận diện được các loại biển số xe của Việt Nam, trừ biển ngoại giao và quân sự.

Ứng dụng

Một vài ứng dụng thực tế của ANPR có thể được kể ra như sau:

API: Get plate number

Sample Request

curl -X POST \
  http://api.openfpt.vn/anpr \
  -H 'api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
  -H 'content-type: multipart/form-data; ' \
  -F "image=@/path/to/your/image.jpg"

Sample Response:

 { "number": "50Z-8428", "confidence": 100.000000 }

Lấy biển số xe từ hình ảnh

HTTP Request

POST http://api.openfpt.vn/anpr

POST Form data

Parameter Required Description
image Yes File upload hình ảnh biển số xe

Response

JSON chứa biển số xe và độ chính xác

CyRadar

Giới thiệu

CyRadar API là một dịch vụ trực tuyến nhằm mục đích kiểm tra các tài nguyên trên Internet có phải độc hại hay không. CyRadar có thể kiểm tra URL để xem các thành phần này có phải là website lừa đảo (phishing) hoặc chứa mã độc.

Ứng dụng

CyRadar API có thể ứng dụng được trong nhiều lĩnh vực:

API: Check Hash File

Sample Request

curl -X GET -H "api_key:xxxxxxxxxxxxxxxxxxx" "http://api.openfpt.vn/cyradar/file/200cff95f41b197e14476c1eeb18a097"

Sample Response: File is malicious

{
    "message": "",
    "code": 0,
    "data": true
}

Sample Request

curl -X GET -H "api_key:xxxxxxxxxxxxxxxxxxx" "http://api.openfpt.vn/cyradar/file/5af10c005214dd08f47949cd530a94d1"

Sample Response: File not found in malicious database (clean)

{
    "message": "Hash not found",
    "code": 404
}

Kiểm tra file độc hại hay không dựa vào hash MD5 hoặc SHA256 của file.

HTTP Request

GET http://api.openfpt.vn/cyradar/file/{hash}

URL Parameters

Parameter Required Description
hash Yes Hash MD5 hoặc SHA256 của file cần kiểm tra

Response

JSON kết luận file được kiểm tra có độc hại hay không. (Ví dụ như hình bên)

API: Check URL

Sample Request

curl -X GET -H "api_key:xxxxxxxxxxxxxxxxxxx" "http://api.openfpt.vn/cyradar?url=https://infected.malwaregraph.com"

Sample Response: Malicious

{
  "conclusion": "danger",
  "domain": "infected.malwaregraph.com",
  "threat": [
    "malicious"
  ],
  "uri": "http://infected.malwaregraph.com"
}

Sample Request

curl -X GET -H "api_key:xxxxxxxxxxxxxxxxxxx" "http://api.openfpt.vn/cyradar?url=https://vnexpress.net"

Sample Response: Safe

{
  "conclusion": "safe",
  "domain": "vnexpress.net",
  "uri": "https://vnexpress.net",
  "threat": []
}

Kiểm tra website độc hại

HTTP Request

GET http://api.openfpt.vn/cyradar

Query Parameters

Parameter Required Description
url Yes Nhập url của website mà bạn muốn kiểm tra

Response

JSON chứa kết quả check xem link có phải độc hại hay không (tham khảo ví dụ bên cạnh).

FBusInfo

Giới thiệu

FBusinfo là hệ thống cung cấp thông tin về các nhà chờ xe bus, tại mỗi nhà chờ xe bus hệ thống có thể dự đoán giờ nào có xe bus đến nhà chờ.

Ứng dụng

Có thể xây dựng các ứng dụng mobile cũng câp cho người dùng thông tin nhà chờ xe bus tìm kiếm các tuyến xe phù hợp và thông báo khi có xe bus xắp đến

API: Get stops

Sample Request

curl -X GET -H "Cache-Control: no-cache"
"http://api.openfpt.vn/fbusinfo/businfo/getstopsinbounds/106.68340787887573/10.768808774874774/106.72228231430054/10.786346643944889"

Sample Response:

  [
    {
    "StopId": 28,
    "Code": "Q1 016",
    "Name": "Chợ Củ",
    "StopType": "Nhà chờ",
    "Zone": "Quận 1",
    "Ward": null,
    "AddressNo": "89A",
    "Street": "Hàm Nghi",
    "SupportDisability": "",
    "Status": "Đang khai thác",
    "Lng": 106.70196,
    "Lat": 10.770822,
    "Search": "CC 89A HN",
    "Routes": "01, 02, 03, 04, 12, 18, 19, 20, 35, 45, 56, 61-6, 75, 88"
   }
  ]

Lấy thông tin của các nhà chờ xe bus trong 1 khu vực hình chữ nhật thông qua tọa độ 2 đỉnh của hình chữ nhật đó.

HTTP Request

GET http://api.openfpt.vn/fbusinfo/businfo/getstopsinbounds/{lng1}/{lat1}/{lng2}/{lat2}

URL Parameters

Parameter Description
lng1 Tọa độ kinh tuyến của đỉnh thứ nhất.
lat1 Tọa độ vĩ tuyến của đỉnh thứ nhất.
lng2 Tọa độ kinh tuyến của đỉnh thứ hai.
lat2 Tọa độ vĩ tuyến của đỉnh thứ hai.

Bạn có thể tạo dùng công cụ geojson để tạo các đỉnh trên bản đồ trực quan.

Diagram

Response

JSON chứa 1 mảng thông tin các nhà chờ xe bus (tham khảo ví dụ bên cạnh).

Field Description Example
StopId ID nhà chờ xe bus 28
Code Mã nhà chờ xe bus “Q1 016”
Name Tên “Chợ Củ”
StopType Kiểu của bến là nhà chờ hay là điểm chờ, cột mốc.v.v “Nhà chờ”
Zone Vùng, quận “Quận 1”
Ward Phường xã
AddressNo Địa chỉ nhà chờ “89A”
Street Phố, tên đường “Hàm Nghi”
SupportDisability Hỗ trợ người khuyết tật
Status Trạng thái của nhà chờ “Đang khai thác”
Lng Tọa độ kinh tuyến của nhà chờ 106.70196
Lat Tọa độ vĩ tuyến của nhà chờ 10.770822
Search Tag hỗ chợ tìm kiếm “CC 89A HN”
Routes Danh sách mã các tuyến xe đi qua nhà chờ. các mã cách nhau bới dấu phẩy “01, 02, 03, 04, 12, 18, 19, 20, 35, 45, 56, 61-6, 75, 88”

API: Get next bus

Sample Request

curl -X GET -H "Cache-Control: no-cache" "http://api.openfpt.vn/fbusinfo/prediction/predictbystopid/199"

Sample Response:

[
  {
    "arrs": [
      {
        "d": 339.97608336271685,
        "dts": "2017-05-05T14:52:20+07:00",
        "s": 0,
        "sts": 0,
        "t": 90,
        "v": "53N3326"
      },
      {
        "d": 19106.985494202854,
        "dts": "2017-05-05T14:52:16+07:00",
        "s": 21,
        "sts": 0,
        "t": 4205,
        "v": "53N3327"
      }
    ],
    "r": 40,
    "rN": "Bến Thành - Chợ Hiệp Thành",
    "rNo": "18",
    "s": 199,
    "sN": "[Q1 076] Chùa Ông",
    "v": 80,
    "vN": "Bến Thành"
  },
  {
    "arrs": [
      {
        "d": 582.70730707523273,
        "dts": "2017-05-05T14:52:01+07:00",
        "s": 14,
        "sts": 0,
        "t": 128,
        "v": "51B21809"
      },
      {
        "d": 1726.4347459190881,
        "dts": "2017-05-05T14:52:08+07:00",
        "s": 0,
        "sts": 0,
        "t": 417,
        "v": "51B21920"
      }
    ],
    "r": 57,
    "rN": "Bến Thành - Thới An",
    "rNo": "36",
    "s": 199,
    "sN": "[Q1 076] Chùa Ông",
    "v": 114,
    "vN": "Bến Thành"
  }
]

Dự đoán những xe sắp đến một nhà chờ xe bus.

Một nhà chờ xe bus có thể có nhiều tuyến xe đi qua, hệ thống sẽ dự đoán ứng với mỗi tuyến xe có hai xe gần nhất sắp đến nhà chờ xe bus theo thời gian và theo khoảng cách của xe tới nhà chờ.

HTTP Request

GET http://api.openfpt.vn/fbusinfo/prediction/predictbystopid/{bustopid}

URL Parameters

Parameter Description
bustopid ID của nhà chờ xe bus được lấy từ API Get stops ở trên

Response

JSON chứa thông tin các chuyến xe bus sắp tới tại nhà chờ (tham khảo ví dụ bên cạnh).

Field Description Example
d Khoảng cách (m) 205.1229454289012
dts Thời gian tính từ thời điểm bắt GPS “2016-07-18T09:35:51+07:00”
s Vận tốc (km/h) 0.0
sts Trạng thái của xe bus 0
t Thời gian số giây sẽ đến nhà chờ 95
v Biển số xe “53N3377”

FTS Routing

Giới thiệu

FPT FIS nghiên cứu giải pháp về bản đồ số cho cổng thông tin giao thông thông minh, và qua đó cung cấp bộ API tiện ích cho developer xử lý với bản đồ số một cách đơn giản và trực quan. API cung cấp các chức năng định tuyến như tìm điểm gần nhất, xác định tuyến đương từ A đến B, khử nhiễu.v.v.

Ứng dụng

Dùng cho các application bản đồ số

API: Get mapped coordinate

Sample Request

 curl -X GET -H "api_key: xxxxxxxxxxxxxxxxxxx" -H "Cache-Control: no-cache" "http://api.openfpt.vn/ftsrouting/locate?loc=10.782868652574793,106.69683694839478"

Sample Response:

  {
    "mapped_coordinate":[10.782512,106.6968],
    "status":0
  }

API xác định điểm gần nhất nằm trên đường. Bạn có thể tham khảo cách tạo điểm trực quan tại đây

Diagram

HTTP Request

GET http://api.openfpt.vn/ftsrouting/locate

Query Parameters

Parameter Required Description
loc Yes Tọa độ theo format vĩ tuyến,kinh tuyến

Response

Trả về điểm gần nhất nằm trên đường, nếu điểm cần xác định không có trong dữ liệu của cổng thông tin giao thông thì trả về Status khác 0.

API: Get nearest location

Sample Request

curl -X GET -H "api_key: xxxxxxxxxxxxxxxxxxx" -H "Cache-Control: no-cache" "http://api.openfpt.vn/ftsrouting/nearest?loc=10.782868652574793,106.69683694839478"

Sample Response:

{
    "name":"Hẻm 8 Phạm Ngọc Thạch",
    "mapped_coordinate":[10.782512,106.6968],
    "status":0
}

Tìm đoạn đường gần nhất với một tọa dộ bất kỳ. Bạn có thể tham khảo cách tạo điểm trực quan tại đây

Diagram

HTTP Request

GET http://api.openfpt.vn/ftsrouting/nearest

Query Parameters

Parameter Required Description
loc Yes Tọa độ theo format vĩ tuyến,kinh tuyến

Response

Trả về đường gần nhất gần nhất gồm tên đường và điểm gần nhất nhất nằm trên đường, nếu điểm cần xác định không có trong dữ liệu của công thông tin giao thông thì trả về Status khác 0.

API: Get closest route

Sample Request

 curl -X GET -H "api_key: xxxxxxxxxxxxxxxxxxx" -H "Cache-Control: no-cache" "http://api.openfpt.vn/ftsrouting/viaroute?loc=10.784765738504253,106.68997049331665&loc=10.782868652574793,106.69683694839478"

Sample Response:

{
  "alternative_names":[["",""]],
  "route_name":["",""],  // If alternatives are requested (alt=true), it may contain elements, one for each alternate route
  "status_message":"Found route between points",
  "route_geometry":"{ofqSwkynjE_^da@xDxD`m@ss@lm@sq@fJwLzGgIvG_ItQeT|H{I``@{b@|_@}a@dI{Ihn@gq@``@qa@z[c]o|@ax@aSuQws@cp@oYb_@iIkHgLiL", // Geometry of the route compressed as polyline, but with 6 decimals. You can use the npm module polyline to decompress it.
  "route_summary":{
                    "end_point":"Hẻm 8 Phạm Ngọc Thạch",
                    "start_point":"Nam Kỳ Khởi Nghĩa",
                    "total_time":107,"total_distance":1425
                  },
  "found_alternative":true,
  "alternative_summaries":[
                            {
                              "end_point":"Hẻm 8 Phạm Ngọc Thạch",
                              "start_point":"Nam Kỳ Khởi Nghĩa",
                              "total_time":108,
                              "total_distance":1309
                            }
                          ],
  "via_points":[[10.784526,106.689743],[10.782512,106.6968]],
  "status":0,
  "via_indices":[0,22],
  "hint_data":{
                "locations":["Q4MAAP____9ABwAAGwAAAFEAAABRAAAAAAAAACNTAAAAAAAADo-kAMz0WwYCABEA","B2YAAAlmAADdBwAAAAAAADMAAAAAAAAAJwAAADxJAAAAAAAAMIekAGIQXAYAABEA"],
                "checksum":1657012868
              },
  "alternative_geometries":["{ofqSwkynjE_^da@xDxD`m@ss@lm@sq@gw@ix@sh@uf@e_@u]hX_\\fIiJrDgE`H_IhGcH|SaVdG_H`a@uc@`KuJ|Zc]fGlC|Ed@zGk@`HqDfBsBlBqEl@}IaAgGyA_D`MyNiIkHgLiL"],
  "alternative_indices":[0,30]
  }

Tìm đoạn đường gần nhất với một tọa dộ bất kỳ

Nhập vào một mảng các tọa độ điểm thì trả về đường đi ngắn nhất qua các điểm đó và có bao gồm hướng đẫn rẽ qua các đường.

ví dụ trực quan về tìm đường trên google map:

Diagram

Tham khảo cách nén và giải nén các điểm xác định tuyến đường tìm thấy tại đâythuật toán nén điểm

HTTP Request

GET http://api.openfpt.vn/ftsrouting/viaroute

Query Parameters

Parameter Required Description
loc Yes Tọa độ theo format vĩ tuyến,kinh tuyến

Response

JSON chứa đường đi ngắn nhất qua các điểm và có bao gồm hướng đẫn rẽ qua các đường.

API: Get distance matrix

Sample Request

curl -X GET -H "api_key: xxxxxxxxxxxxxxxxxxx" -H "Cache-Control: no-cache" "http://api.thongtingiaothong.vn/v1/routing/table?loc=10.784765738504253,106.68997049331665&loc=10.782868652574793,106.69683694839478&loc=10.79654848197373,106.7032527923584"

Sample Response:

{
  "distance_table":[[0,1067,2221],[1306,0,2345],[1600,1722,0]]
}

API lấy ma trận khoảng cách

Nhập vào một mảng các điểm thì trả về matrix 2 chiều thể hiện khảng cách(theo timing) giữa các điểm đó.

Diagram

HTTP Request

GET http://api.thongtingiaothong.vn/v1/routing/table

Query Parameters

Parameter Required Description
loc Yes Tọa độ theo format vĩ tuyến,kinh tuyến

Response

JSON chứa ma trận khoảng cách

Name to Gender

Giới thiệu

Đây là một ví dụ server đơn giản, hãy post tên của bạn để xác định giới tính.

Ứng dụng

Vào các ứng dụng cần xác định giới tính qua tên như khai báo hóa đơn, chứng từ, sơ yếu lý lịch. ngoài ra cũng áp dụng trong vài trường hợp của data mining.

API: Predict gender

Sample Request

curl -X POST -H "api_key: xxxxxxxxxxxxxxxx" -H "Cache-Control: no-cache" -d
'Nguyễn Văn Tuấn' "http://api.openfpt.vn/name2gender/json"

Sample Response:

{
  "name": "Nguyễn Văn Tuấn",
  "gender": "male"
}

Xác định giới tính từ tên

HTTP Request

POST http://api.openfpt.vn/name2gender/json

POST Body

String chứa tên người tiếng việt, viết có dấu

Response

JSON chứa tên và giới tính được dự đoán

Speech Synthesis

Giới thiệu

Tổng hợp tiếng nói (Speech synthesis) là bài toán cơ bản trong bài toán lớn về giao tiếp giữa người và máy (Human-Machine Interface).

Với tham vọng riêng của mình, Ban công nghệ FPT (FTI) đã nỗ lực nghiên cứu suốt gần 5 năm qua để cho ra mắt sản phẩm FPT Speech Synthesis. Sản phẩm là sự kết hợp của:

Được đánh giá là hệ thống tổng hợp tiếng nói tiếng Việt có chất lượng tốt nhất thị trường hiện nay, hệ thống tổng hợp tiếng Việt mới của FPT đang được mở trên Open FPT (http://openfpt.vn/). Các nhà phát triển có thể khai thác nguồn tài nguyên này để xây dựng ứng dụng của riêng mình trên các nền tảng khác nhau. Cho đến thời điểm này, đã có nhiều sản phẩm như “Giao thông thông minh” do FPT IS phát triển, hệ thống thông báo thông tin tài chính của VHT, hệ thống sinh ra video tự động từ bái báo điện tử, … đang sử dụng Speech Synthesis API của Open FPT và nhận được rất nhiều phản hồi tích cực từ người dùng.

Demo: speech.openfpt.vn

Ứng dụng

API: FPT Speech Synthesis (version 4.6 - update 06/10/2017)

Sample Request

curl -X POST \
-H "api_key: xxxxxxxxxxxxx" \
-H "speed: 0" \
-H "voice: male" \
-H "prosody: 1" \
-H "Cache-Control: no-cache" \
-d 'Bạn thấy dịch vụ TTS của FPT có hay không?' \
"http://api.openfpt.vn/text2speech/v4"

Sample Response: Success

{
  "async": "https://s3-ap-southeast-1.amazonaws.com/text2speech-v4/male.0.pro.4b5b15285847e83acbb3beb945434453.mp3",
  "error": 0,
  "message": "The content will be returned after a few seconds under the async link.",
  "request_id": "4b5b15285847e83acbb3beb945434453"
}

Sample Response: Error

{
  "error": 1,
  "message": "Internal server error happened",
}

Cập nhật trong FPT Speech Synthesis API version 4.0 :

HTTP Request

POST http://api.openfpt.vn/text2speech/v4

POST Body

Chứa nội dung text cần tổng hợp tiếng nói (tham khảo ví dụ bên cạnh)

Header Parameters

Parameter Required Default Description
voice No female Xác định giọng đọc nam hay nữ, voice có ba giá trị là male (giọng nam miền bắc), female (giọng nữ miền bắc), hatieumai (giọng nữ miền nam), ngoclam (giọng nữ Huế)
speed No 0 Giá trị từ -3 đến 3 để xác định tốc độ đọc: -3 (rất chậm) / -2 (khá chậm) / -1 (chậm) / 0 (bình thường) / 1 (nhanh) / 2 (khá nhanh) / 3 (rất nhanh)
prosody No 0 Thêm ngữ điệu cho câu hỏi (chỉ áp dụng với voice male). Để kích hoạt chức năng này, thay đổi giá trị thành 1

Response

JSON chứa kết quả trả về (tham khảo ví dụ bên cạnh), trong đó có chứa link của file audio tổng hợp tiếng nói.

Do hệ thống cần nhiều thời gian để xử lý một văn bản, nên file này có thể chưa tồn tại ở thời điểm response.

API: Get Remaining Characters

Sample Request

curl -X GET \
-H "api_key:xxxxxxxxxxxxxxxxxxx" \
"https://dev.openfpt.vn/balance/tts" 

Sample Response: Success

{
  "error": "0",
  "remaining_free": 5000000,
  "remaining_paid": 100000
}

Sample Response: Error

{
  "error": "API Key is invalid.",
  "remaining_free": -1,
  "remaining_paid": -1
}

Truy vấn số ký tự FREE và số ký tự mất phí còn lại trên ứng dụng sử dụng dịch vụ Speech Synthesis.

HTTP Request

GET https://dev.openfpt.vn/balance/tts

Response

JSON chứa nội dung thông tin về số tự ký tự FREE và số ký tự mất phí còn lại. (Ví dụ như hình bên)

Speech Recognition

Giới thiệu

Tiếng nói là công cụ giao tiếp phổ thông và cũng là đối tượng để nghiên cứu trong nhiều ngành khoa học khác nhau. Tiếng nói con người là vô tận. Cùng một người, một hoàn cảnh phát âm và cùng một từ, tại hai thời điểm phát âm khác nhau, sẽ cho ra hai mẫu khác nhau.

Do phạm rộng của tiếng nói, nên FSR hay còn gọi là FPT Speech Recognition tập trung vào nhận dạng các câu cơ bản để điều khiển các thiết bị trong gia dụng. Nhằm đạt mục tiêu nhận dạng âm thanh có độ chính xác cao.

Ứng dụng

Dùng cho các ứng dụng điều khiển IoT, hay các phần mêm gia lệnh bằng giọng nói.

API: Speech Recognition

Sample Request

curl -X POST "http://api.openfpt.vn/fsr" -H "api_key:xxxxxxxxxxxxxxxxxxx" -T "/path/of/file/voice" 

Sample Response: Normal

{
  "total": 1,
  "data": [{
      "confidence": 75,
      "result": "bật ti vi"
    }
  ]
}

Sample Response: Error

{
  "status": 5,
  "message": "Could not determine type of stream.",
  "id": "8afce928-8b87-4114-bc6f-33d1eaac4fe5"
}

Từ dữ liệu đầu vào từ một file âm thanh (WAV hoặc MP3), API trả về dữ liệu dạng JSON có chứa text tiếng Việt được nhận dạng từ file âm thanh đó.

HTTP Request

POST http://api.openfpt.vn/fsr

POST body

File âm thanh

Response

JSON chứa kết quả text được nhận dạng hoặc message lỗi.

Tên trường Mô tả
total Tổng số câu được xác nhận
data Mảng chứa chi tiết các câu được nhận dạng
confidence Độ chính xác đính theo phần trăm
result Kết quả các câu được nhận dạng

Traffic Situation

Giới thiệu

FPT IS nghiên cứu giải pháp cổng thông tin giao thông thông minh Cổng thông tin giao thông thông minh của FPT IS khi đưa vào ứng dụng sẽ giúp người dân xác định lộ trình, tránh khu vực kẹt xe, ngập nước giảm thiểu tình trạng ùn tắc giao thông, ô nhiễm môi trường…

Giúp Developer có thể xây dựng cho mình ứng dùng map trực quan một cách dễ dàng. Chỉ cần nhập tọa độ x,y (là tọa độ kinh tuyến và vĩ tuyến) cùng với tỷ lệ Zoom theo ý muốn là có thể lấy được các image của map tình trạng giao thông.

Ứng dụng

API: Get traffic status

Sample Request

curl -X GET -H "api_key: xxxxxxxxxxxxxxxxxxx" -H "Cache-Control: no-cache" "http://api.openfpt.vn/trafficsituation/traffic/17/104383/61594/fpt.png"

Hàm lấy về ảnh png bản đồ nền bao gồm tên đường, bản đồ này đã được chỉnh sửa màu sắc lại để dễ dàng thể hiện tình trạng lên.

Chú ý: Khi chồng lớp giao thông lên lớp bản đồ sẽ thì có thể dẫn đến phần màu của “tình trạng” đè lên đường nên không thấy tên đường. Trong trường hợp đó thì sử dụng 2 API Get transport textGet transport no text bên dưới để lấy các lớp bản đồ có và không có tên đường rồi chồng lên nhau.

Bạn có thể xem một application trực quan tại đây

Diagram

HTTP Request

GET http://api.openfpt.vn/trafficsituation/traffic/{z}/{x}/{y}/fpt.png

URL Parameters

Parameter Description
z Thông số tỉ lệ phóng to thu nhỏ
x Tọa độ theo kinh độ.
y Tọa độ theo vĩ độ.

Response

Dữ liệu binary ảnh dạng png:

Diagram

API: Get transport no text

Sample Request

curl -X GET -H "api_key: xxxxxxxxxxxxxxxxxxx" -H "Cache-Control: no-cache" "http://api.openfpt.vn/trafficsituation/transport/17/104383/61594/notext.png"

Hàm lấy về ảnh png nền bản đồ không có tên đường.

HTTP Request

GET http://api.openfpt.vn/trafficsituation/transport/{z}/{x}/{y}/notext.png

URL Parameters

Parameter Description
z Thông số tỉ lệ phóng to thu nhỏ
x Tọa độ theo kinh độ.
y Tọa độ theo vĩ độ.

Response

Dữ liệu binary ảnh nền bản độ không có tên đường dạng png:

Diagram

API: Get transport text

Sample Request

curl -X GET -H "api_key: xxxxxxxxxxxxxxxxxxx" -H "Cache-Control: no-cache" "http://api.openfpt.vn/trafficsituation/transport/17/104383/61594/text.png"

Lấy về ảnh png bản đồ chỉ có tên đường.

HTTP Request

GET http://api.openfpt.vn/trafficsituation/transport/{z}/{x}/{y}/text.png

URL Parameters

Parameter Description
z Thông số tỉ lệ phóng to thu nhỏ
x Tọa độ theo kinh độ.
y Tọa độ theo vĩ độ.

Response

Dữ liệu binary ảnh nền bản độ chỉ có tên đường dạng png:

Diagram

Vietnamese Accentizer

Giới thiệu

Ban công nghệ FTI trực thuộc tập đoàn FPT nghiên cứu về phân tích ngôn ngữ tiếng việt áp dụng công nghệ Machine Learning theo phương pháp học bán giám sát để giúp phân tích ngữ pháp và ngữ cảnh trong văn bản tiếng Việt. Với các thư viện từ ngữ lớn (big data) và thông qua quá trình luyện máy để suy diễn ngữ nghĩa một văn bản theo hướng trong sáng nhất có thể.

Tuy nhiên “Phong ba bão táp không bằng ngữ pháp việt nam”. Accentizer có thể còn có chút thiếu sót do tính chất đa nghĩa của từ ngữ Việt Nam, nhưng ở mức tổng thể có thể chấp nhận được, Accentizer như một công cụ để hỗ trợ một phần cho người dùng trong việc soạn thảo văn bản và duyệt lại một văn bản không dấu.

Ứng dụng

API: Add Accents

Sample Request

curl -X GET \
-H "Cache-Control: no-cache" \
-H 'api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
"http://api.openfpt.vn/vnaccent/add?text=do la mot nguoi dan ba dam dang"

Sample Response:

"đó là một người đàn bà đảm đang"

API thêm dấu

HTTP Request

GET http://api.openfpt.vn/vnaccent/add

Query Parameters

Parameter Required Description
text Yes Văn bản tiếng Việt cần thêm dấu.

Response

String chứa văn bản đã thêm dấu

API: Remove Accents

Sample Request

curl -X GET \
-H "Cache-Control: no-cache" \
-H 'api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
"http://api.openfpt.vn/vnaccent/remove?text=anh ngủ chưa? sao anh không đến, em ốm 2 tháng nay mệt lắm"

Sample Response:

"anh ngu chua? sao anh khong den, em om 2 thang nay met lam"

API bỏ dấu

HTTP Request

GET http://api.openfpt.vn/vnaccent/remove

Query Parameters

Parameter Required Description
text Yes Văn bản tiếng Việt cần bỏ dấu.

Response

String chứa văn bản đã bỏ dấu

VNExpress

Giới thiệu

API hỗ trợ việc lấy bài mới nhất từ báo vnexpress.net. VNE có ba thành phần: lấy danh sách các chuyên mục, lấy danh sách bài viết theo chuyên mục và lấy một bài báo chi tiết.

Ứng dụng

Ứng dụng cho các phần mềm đọc báo và tổng hợp tin tức.

API: Get Category

Sample Request

curl -X GET -H "api_key: xxxxxxxxxxxxxxxxxxx" -H "Cache-Control: no-cache" "http://api.openfpt.vn/vne/category"

Sample Response

 {
   "error": 0,
   "data": [{
     "parent_id": 1000000,
     "catename": "Khoa học",
     "catecode": "khoa-hoc",
     "full_parent": "1000000",
     "show_folder": 1,
     "level": 1,
     "category_id": 1001009,
     "display_order": 12,
     "child": [{
     "parent_id": 1001009,
     "catename": "Môi trường",
     "catecode": "moi-truong",
     "full_parent": "1000000,1001009",
     "show_folder": 1,
     "level": 2,
     "category_id": 1001184,
     "display_order": 1
     }]
   }]
 }

Lấy danh sách các chuyên mục

HTTP Request

GET http://api.openfpt.vn/vne/category

Response

JSON chứa danh sách các chuyên mục (tham khảo ví dụ bên cạnh)

API: Get Category Article

Sample Request

curl -X GET -H "api_key: xxxxxxxxxxxxxxxxxxx" -H "Cache-Control: no-cache" "http://api.openfpt.vn/vne/categoryarticle?category_id=1001005&limit=50&offset=0"

Sample Response

 {
   "error": 0,
   "data": {
     "1001005": [{
     "original_cate": 1001005,
     "title": "Sân bay Tân Sơn Nhất 'lâm nguy' vì ngập",
     "lead": "Nhiều trận mưa lớn đã nhấn chìm bãi đỗ máy bay của Tân Sơn Nhất đến 30 cm, hàng loạt chuyến bay buộc hạ cánh nơi khác, nghiêm trọng nhất có thể phải đóng cửa sân bay nếu nước tràn vào làm nổ biến thế trong trạm điện.",
     "share_url": "http://vnexpress.net/tin-tuc/thoi-su/san-bay-tan-son-nhat-lam-nguy-vi-ngap-3468466.html",
     "thumbnail_url": "http://img.f29.vnecdn.net/2016/09/15/san-bay-ngap-1-9749-1472266636-2274-1473913077.jpg",
     "list_reference": {
       "article": [
       3297517
       ]
     },
     "publish_time": 1473933430,
     "article_id": 3468466
     }]
   }
 }

Lấy danh sách các bài báo theo một category

HTTP Request

GET http://api.openfpt.vn/vne/categoryarticle

Query Parameters

Parameter Required Default Description
category_id Yes Mã category
limit Yes Số lượng bài tối đa lấy về
offset Yes Vị trí bắt đầu lấy

Response

JSON chứa danh sách các bài viết trong 1 category (tham khảo ví dụ bên cạnh)

API: Get Article

Sample Request

curl -X GET -H "api_key: xxxxxxxxxxxxxxxxxxx" -H "Cache-Control: no-cache" "http://api.openfpt.vn/vne/article?article_id=3465014"

Sample Response

{
  "error": 0,
  "data": {
    "original_cate": 1001142,
    "title": "Cú lội ngược dòng hé mở cơ hội thắng cử cho Donald Trump",
    "lead": "Sự ủng hộ cho Donald Trump đang phục hồi mạnh mẽ dù ông trải qua một mùa hè với những cú sẩy chân liên tiếp, đe dọa làm suy yếu triển vọng thắng cử.",
    "share_url": "http://vnexpress.net/tin-tuc/the-gioi/phan-tich/cu-loi-nguoc-dong-he-mo-co-hoi-thang-cu-cho-donald-trump-3465014.html",
    "thumbnail_url": "http://img.f31.vnecdn.net/2016/09/08/donaldtrumptweethillaryclintonjx9bqp-1473313427.jpg",
    "publish_time": 1473376080,
    "article_id": 3465014,
    "content": "Donald Trump và Hillary Clinton đang bước vào giai đoạn tranh cử nước rút vô cùng quan trọng. Cuộc khảo sát trên toàn quốc do CNN/ORC công bố hôm 6/9 cho thấy tỷ phú Trump hiện dẫn bà Clinton hai điểm với mức ủng hộ từ các cử tri có thể bầu cử lần lượt là 45% và 43%. Cuộc đua giữa hai ứng viên cũng sát sao ở nhóm cử tri đã đăng ký bầu cử với mức ủng hộ dành cho bà Clinton cao hơn 3 điểm phần trăm..."
  }
}

Lấy nội dung một bài viết

HTTP Request

GET http://api.openfpt.vn/vne/article

Query Parameters

Parameter Required Default Description
article_id Yes Mã bài viết

Response

JSON chứa nội dung 1 bài viết (tham khảo ví dụ bên cạnh)

Vitk

Giới thiệu

Vitk API là dịch vụ xử lý văn bản trực tuyến sử dụng các thư viện trong Công cụ xử lý văn bản (Vietnamese Text Processing Toolkit - Vitk) được phát triển bởi giảng viên, Tiến sỹ Lê Hồng Phương hiện đang công tác tại Khoa Toán-Cơ-Tin học của trường Đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nội.

Hiện tại, Vitk API bao gồm 3 dịch vụ cơ bản cho phép xử lý văn bản:

Demo: vitkdemo.openfpt.vn

Ứng dụng

Phân đoạn từ (word segmentation) và gán nhãn từ loại (part-of-speech tagging) là hai bài toán nền tảng và đặc biệt quan trọng trong các hệ thống xử lý ngôn ngữ tự nhiên. Thông thường trên thực tế, hai quá trình này có ảnh hưởng, liên quan tới nhau và tác động trực tiếp đến chất lượng của một hệ thống chung.

Ở Việt Nam đã có nhiều nghiên cứu hai bài toán này, tuy nhiên kết quả đạt được vẫn ở mức độ chưa cao, do đó nhu cầu ứng dụng về cơ sở khoa học cũng như việc xây dựng các công cụ thực hiện sẵn dùng là rất lớn.

Các kết quả có được thông qua dịch vụ Vitk API sẽ đặc biệt hữu ích cho các nghiên cứu ở mức cao như dịch tự động, tìm kiếm thông tin, tóm tắt văn bản, trích chọn thông tin, nhận diện giọng nói, hỗ trợ cho việc phân tích cú pháp các văn bản, giải quyết tính đa nghĩa của từ, và trợ giúp các hệ thống rút trích thông tin hướng đến ngữ nghĩa, v.v…

Về phần dependency parsing, đây được xem là nghiên cứu cơ bản cho phép phát triển các ứng dụng phức tạp và thông minh trong xử lý ngôn ngữ tự nhiên như: dịch tự động, hệ thống tự động trả lời câu hỏi, hệ thống tự động phân tích thông tin,…

API: Word segmentation

Sample Request:

curl -X POST \ 
 -H "api_key:xxxxxxxxxxxxxxxxxxx" \
 -d 'bạn thấy dịch vụ Vitk của FPT có hay không' \
 "http://api.openfpt.vn/vitk/tok" 

Sample Response: Success

[ {
  "id" : "0",
  "word" : "bạn",
  "annotation" : {
    "LEM" : "WORD"
  }
}, {
  "id" : "1",
  "word" : "thấy",
  "annotation" : {
    "LEM" : "WORD"
  }
}, {
  "id" : "2",
  "word" : "dịch vụ",
  "annotation" : {
    "LEM" : "WORD"
  }
}, {
  "id" : "3",
  "word" : "Vitk",
  "annotation" : {
    "LEM" : "CAPITAL"
  }
}, {
  "id" : "4",
  "word" : "của",
  "annotation" : {
    "LEM" : "WORD"
  }
}, {
  "id" : "5",
  "word" : "FPT",
  "annotation" : {
    "LEM" : "ALLCAP"
  }
}, {
  "id" : "6",
  "word" : "có",
  "annotation" : {
    "LEM" : "WORD"
  }
}, {
  "id" : "7",
  "word" : "hay",
  "annotation" : {
    "LEM" : "WORD"
  }
}, {
  "id" : "8",
  "word" : "không",
  "annotation" : {
    "LEM" : "WORD"
  }
} ]

Phân đoạn văn bản tiếng Việt thành các đơn vị từ vựng.

HTTP Request

POST http://api.openfpt.vn/vitk/tok

POST Body

Văn bản tiếng Việt cần phân đoạn (tham khảo ví dụ bên cạnh).

Response

Mảng các đối tượng JSON chứa kết quả các đơn vị từ vựng sau khi phân đoạn văn bản tiếng Việt.

API: Part-of-speech tagging

Sample Request

curl -X POST \
 -H "api_key:xxxxxxxxxxxxxxxxxxx" \
 -d "bạn thấy dịch vụ Vitk của FPT có hay không" \
 "http://api.openfpt.vn/vitk/tag" 

Sample Response: Success

bạn/N thấy/V dịch-vụ/N Vitk/Np của/E FPT/Np có/V hay/A không/R

Phân loại các từ trong văn bản tiếng Việt thành các lớp từ loại.

HTTP Request

POST http://api.openfpt.vn/vitk/tag

POST Body

Văn bản tiếng Việt cần gán nhãn từ loại (tham khảo ví dụ bên cạnh).

Response

Một chuỗi chứa kết quả văn bản tiếng Việt được gán nhãn từ loại.

API: Dependency parsing

Sample Request

curl -X POST \
 -H "api_key:xxxxxxxxxxxxxxxxxxx" \
 -d "bạn thấy dịch vụ Vitk của FPT có hay không" \
 "http://api.openfpt.vn/vitk/dep/" 

Sample Response: Success

nsubj(thấy-2,bạn-1) root(ROOT-0,thấy-2) dobj(thấy-2,dịch-vụ-3) nn(dịch-vụ-3,Vitk-4) prep(dịch-vụ-3,của-5) pobj(của-5,FPT-6) vsubj(hay-8,có-7) neg(hay-8,không-9)

Phân tích cấu trúc ngữ pháp văn bản tiếng Việt dưới dạng các transition để mô tả mối quan hệ giữa các từ trong câu.

HTTP Request

POST http://api.openfpt.vn/vitk/dep/

POST Body

Văn bản tiếng Việt cần phân tích cấu trúc ngữ pháp (tham khảo ví dụ bên cạnh).

Response

Một chuỗi chứa kết quả văn bản tiếng Việt được phân tích cấu trúc ngữ pháp. Kết quả này bao gồm các transition mô tả mối quan hệ giữa các từ trong câu.