API Documentation
Hướng dẫn tích hợp engine ngữ nghĩa địa chỉ vào ứng dụng của bạn.
Hệ thống hỗ trợ cả giao thức REST API truyền thống và gRPC hiệu năng cao.
1. REST API
Phương thức HTTP tiêu chuẩn (POST), Content-Type: application/json.
Endpoint URL:
https://api.maichiparser.com/v1/solutions/parser
Header (API Key):
x-maichi-key: <my-key>
Ví dụ mẫu (Example Request):
curl --location 'https://api.maichiparser.com/v1/solutions/parser' \ --header 'Content-Type: application/json' \ --header 'x-maichi-key: my-key' \ --data '{ "config": { "enableCode": true, "enableNormalization": true, "enableInference": false, "enableDisplayNormalization": false, "enableLooseMode": false }, "addresses": [ { "key": "testing", "address": "tp.hcm, quận bình tân, phường tân tạo a, số nhà 110 bờ tuyến, khu phố 3" } ] }'
Kết quả trả về (Response):
{
"data": {
"addresses": [
{
"key": "testing",
"percent": 89.61,
"administrativeType": 3,
"isCurrent": false,
"conflictDetected": false,
"formattedAddress": "số nhà 110 bờ tuyến, khu phố 3, tân tạo a, bình tân, hồ chí minh",
"houseNumber": {
"value": "110",
"useInference": false,
"percent": 100
},
"street": {
"value": "số nhà 110 bờ tuyến",
"normalization": "bờ tuyến",
"useInference": false,
"percent": 95
},
"village": {
"value": "khu phố 3",
"normalization": "khu phố 3",
"useInference": false,
"percent": 100
},
"locality": {
"value": "tân tạo a",
"normalization": "tân tạo a",
"useInference": false,
"code": "27457",
"percent": 100
},
"county": {
"value": "bình tân",
"normalization": "bình tân",
"useInference": false,
"code": "777",
"percent": 100
},
"region": {
"value": "hcm",
"normalization": "hồ chí minh",
"useInference": false,
"code": "79",
"percent": 100
}
}
],
"total": 1
},
"statusCode": "99",
"version": "1.0.0",
"message": "Thành công"
}Định nghĩa dữ liệu
Request Parameters
| Trường (Field) | Kiểu | Mô tả |
|---|---|---|
config |
Object | Các thông số cấu hình tùy chỉnh |
enableInference |
Boolean | [Mặc định: false] |
enableNormalization |
Boolean | [Mặc định: false] |
enableDisplayNormalization |
Boolean | [Mặc định: false] |
enableCode |
Boolean | [Mặc định: false] |
enableLooseMode |
Boolean | [Mặc định: false] |
addresses[] |
Array | Danh sách địa chỉ đầu vào (tối đa: 100 địa chỉ) |
key |
String | Mã định danh do người dùng tự định nghĩa (tối đa: 64 kí tự) |
address |
String | Chuỗi thông tin địa chỉ (tối đa: 150 kí tự) |
Response Fields
| Trường (Field) | Kiểu | Mô tả |
|---|---|---|
statusCode |
String | Mã trạng thái |
message |
String | Thông báo từ hệ thống |
version |
String | Phiên bản ứng dụng |
data |
Object | Dữ liệu kết quả xử lí |
total |
Int | Tổng số bản ghi |
addresses[] |
Array | Danh sách kết quả |
key |
String | Mã định danh do người dùng tự định nghĩa |
percent |
Double | Độ chính xác của kết quả (giá trị 0-100%) |
isCurrent |
Boolean | Xác định đơn vị hành chính đang có giá trị hiện hành (mới nhất): |
conflictDetected |
Boolean | Xác định các cấp hành chính (tỉnh - huyện - xã) trong kết quả trả về có vi phạm tính đúng đắn hoặc không tồn tại:
|
administrativeType |
Int | Thông tin về loại cấp đơn vị hành chính:
|
formattedAddress |
String | Thông tin địa chỉ đã làm sạch, yêu cầu bật chức năng enableNormalization |
houseNumber |
Object | Đơn vị số nhà |
place |
Object | Đơn vị địa điểm |
street |
Object | Đơn vị tên đường |
village |
Object | Đơn vị thôn, xóm,... |
locality |
Object | Đơn vị phường, xã, thị trấn,... |
county |
Object | Đơn vị quận, huyện,... |
region |
Object | Đơn vị tỉnh, thành phố,... |
[Đơn vị hành chính] |
Object | Thông tin đơn vị hành chính được trích xuất |
value |
String | Giá trị thông tin gốc |
normalization |
String | Giá trị thông tin đã chuẩn hóa |
useInference |
Boolean | Giá trị xác định đơn vị hành chính này được tự động bổ sung (do dữ liệu gốc bị khuyết thiếu) |
code |
String | Mã đơn vị hành chính theo chuẩn của tổng cục thống kê |
percent |
Double | Độ chính xác của kết quả (giá trị 0-100%) |
2. gRPC API
Giao thức hiệu năng cao thích hợp cho Microservices.
Server Address:
https://grpc.maichiparser.com
Meta Data (API Key):
x-maichi-key: <my-key>
Service Name:
maichi.ParserService
Protobuf Definition (.proto)
syntax = "proto3"; package maichi; // Service service ParserService { rpc Processing (ParserRequest) returns (DataResponse); } // Request message ParserRequest { repeated AddressRequest addresses = 1; optional ConfigRequest config = 2; } message AddressRequest { string key = 1; string address = 2; } message ConfigRequest { optional bool enable_inference = 1; optional bool enable_normalization = 2; optional bool enable_code = 3; optional bool enable_display_normalization = 4; optional bool enable_loose_mode = 5; } // Response message DataResponse { ParserResponse data = 1; string status_code = 2; string version = 3; string message = 4; } message ParserResponse { repeated Result addresses = 1; int32 total = 2; } message Result { optional string key = 1; optional double percent = 2; optional bool is_current = 3; optional int32 administrative_type = 4; optional Item house_number = 5; optional Item place = 6; optional Item street = 7; optional Item village = 8; optional Item locality = 9; optional Item county = 10; optional Item region = 11; optional bool conflict_detected = 12; optional string formatted_address = 13; } message Item { optional string value = 1; optional string normalization = 2; optional bool use_inference = 3; optional string code = 4; optional double percent = 5; }
3. Health Check
Kiểm tra tình trạng hoạt động của dịch vụ
Endpoint URL:
https://api.maichiparser.com/health/live
