- TỔNG QUAN
- Mô tả nghiệp vụ
- Phần mềm ISO điện tử khi có nhu cầu lấy chi tiết thông tin thủ tục hành chính thì sẽ gọi api lấy chi tiết thông tin thủ tục hành chính lên HCM LGSP (APITraCuuDanhMucThuTucHanhChinhTheoMaLinhVuc).
- HCM LGSP sẽ lấy chi tiết thông tin thủ tục hành chính từ CSDL dùng chung của Thành phố và trả về chi tiết thông tin thủ tục hành chính cho đơn vị.
- Mục đích tài liệu
- Tài liệu này nhằm hướng dẫn đơn vị lấy chi tiết thông tin thủ tục hành chính từ CSDL tập trung của Thành phố.
- Phạm vi và đối tượng áp dụng
- Tài liệu này được sử dụng bởi các kỹ thuật viên của các đơn vị cần lấy chi tiết thông tin thủ tục hành chính từ chuẩn CSDL dùng chung của Thành phố.
- Thông tin kết nối
- Đơn vị cần kết nối liên hệ sở Thông tin và Truyền thông để được cung cấp thông tin kết nối bao gồm:
- AppName
- AccessKey
- SecretKey
- MÔ HÌNH KẾT NỐI
- Mô hình kết nối lấy chi tiết danh mục thủ tục hành chính
Hình 1: Mô hình kết nối lấy chi tiết danh mục thủ tục hành chính
- CSDL Dùng chung là nơi tập trung toàn bộ kho dữ liệu dùng chung của TPHCM. Cơ quan, tổ chức có thể thực hiện việc khai thác và đồng bộ dữ liệu về CSDL Dùng chung của Thành phố thông qua Nền tảng HCM LGSP.
- Nền tảng HCM LGSP đảm nhiệm vai trò chính trong việc cung cấp các thông tin kết nối đến các phần mềm tại đơn vị, khai thác và đồng bộ dữ liệu từ CSDL tập trung của thành phố.
- APITraCuuDanhMucThuTucHanhChinhTheoMaLinhVuc hỗ trợ phần mềm kết nối vào Nền tảng HCM LGSP lấy chi tiết thông tin Thủ tục hành chính chuẩn từ CSDL dùng chung của Thành phố..
- Quá trình trao đổi gói tin
Hình 2: Quy trình trao đổi gói tin
- Bước 1: Phần mềm của đơn vị gọi đến Nền tảng HCM LGSP thông qua api kèm theo access token.
- Bước 2: Nền tảng HCM LGSP kiểm tra access token của đơn vị. Nếu thất bại sẽ trả về gói tin JSON lỗi cho phần mềm của đơn vị.
- Bước 3: Nền tảng HCM LGSP xử lý dữ liệu và trả về gói tin JSON kết quả cho phần mềm đơn vị.
- ĐẶC TẢ API LẤY CHI TIẾT DANH MỤC THỦ TỤC HÀNH CHÍNH
- Thông tin kết nối
Kiểu
|
Diễn giải
|
Ví dụ
|
Địa chỉ adapter Nền tảng HCM chính
|
Địa chỉ cổng dịch vụ chính thức
|
https://hcmlgsp.tphcm.gov.vn
|
Địa chỉ adapter Nền tảng HCM thử nghiệm
|
Địa chỉ cổng dịch vụ thử nghiệm
|
https://hcmesb-test.tphcm.gov.vn
|
AccessKey
|
Khóa
|
rTkhYCBwHM
|
SecretKey
|
Khóa bí mật
|
DWkQgY1YSS
|
AppName
|
Đơn vị kết nối
|
TPHCM
|
PartnerCode
|
Mã đơn vị cung cấp ứng dụng
|
000.00.01.H29
|
PartnerCodeCus
|
Mã đơn vị sử dụng dịch vụ
|
000.00.01.H29
|
Authorization
|
Khai báo trong Header, Là chuỗi gồm 5 tham số dạng json được mã hóa thành StringBase64
|
ewoiQWNjZXNzS2V5IjoiclRraFlDQndITSIsCiJTZWNyZXRLZ
XkiOiJEV2tRZ1kxWVNTIiwKIkFwcE5hbWUiOiAiVFBIQ00iL
AoiUGFydG5lckNvZGUiOiAiMDAwLjAwLjAxLkgyOSIsCiJQYX
J0bmVyQ29kZUN1cyI6ICIwMDAuMDAuMDEuSDI5Igp9Cg==
được stringbase64 từ:
{
"AccessKey":"rTkhYCBwHM",
"SecretKey":"DWkQgY1YSS",
"AppName": "TPHCM",
"PartnerCode": "000.00.01.H29",
"PartnerCodeCus": "000.00.01.H29"
}
|
Bảng 1: bảng thông tin kết nối
-
- API cung cấp chi tiết danh mục thủ tục hành chính
- Đường dẫn: /TraCuuThuTuc_GetByMaLinhVuc
- Method: GET
- Đầu vào:
- Header: Authorization
- Param:
- MaLinhVuc = 000.00.02.H29
- Đầu ra:
- chuỗi json chứa thông tin trả về, resultObject là chuỗi json chứa thông tin danh mục, chi tiết dữ liệu tại mục 3.3
STT
|
Tham số
|
Thuộc tính tham số
|
Mô tả
|
1
|
StatusCode
|
Int
|
Mã trạng thái gói tin
- 200: Request đã được tiếp nhận và xử lý thành công
- 400: Request bị lỗi hoặc không thể xử lý
- 404: Tài nguyên không tồn tại
- 500: Lỗi trong quá trình xử lý
|
2
|
Description
|
String
|
Nội dung lỗi trả về
|
3
|
ResultObject
|
Boolean
|
Kết quả trả về
|
4
|
ResultType
|
String
|
Type của gói tin trả về Mặc định là “JSON”
|
5
|
Status
|
String
|
Trạng thái gói tin“SUCCESS” hoặc “FAIL”
|
6
|
ThrowException
|
bool
|
Có lỗi xảy ra hay không
|
Bảng 2: tham số trả về của chuỗi json
Ví dụ:
Thành công
|
Lỗi
|
{
"StatusCode": 200,
"Description": null,
"ResultObject": [{
"CachThucThucHien": "- Trực tiếp ",
"CapThucHien": "- Bộ - Tỉnh",
"CoQuanCoThamQuyen": null,
"CoQuanCongBo": null,
"CoQuanDuocUyQuyen": null,
"CoQuanPhoiHop": null,
"CoQuanThucHien": null,
"DiaChiTiepNhan": null,
"DoiTuongThucHien": "Cá nhân",
"LePhi": "800000 VNĐ",
"LoaiTTHC": " TTHC cấp TW (Bộ ban hành, thực hiện)",
"MaLinhVuc": "046",
"MaNganh": null,
"MaThuTuc": "046002",
"MoTa": null,
"QuyetDinhCongBo": null,
"TenThuTuc": "Thủ tục cấp thẻ hướng dẫn viên du lịch quốc tế",
"ThoiHanGiaiQuyet": "15 ngày ",
"Used": true
}],
"ResultType": "JSON",
"Status": "SUCCESS",
"ThrowException": false
}
|
{
"StatusCode": 500,
"Description": "Tham số đầu vào không đúng",
"ResultObject": null,
"ResultType": null,
"Status": "FAIL",
"ThrowException": true
}
|
-
- Gói tin danh mục thủ tục hành chính
STT
|
Tham số
|
Thuộc tính tham số
|
Mô tả
|
Yêu cầu
|
1
|
MaThuTuc
|
String
|
Mã thủ tục hành chính gốc
|
Bắt buộc
|
2
|
TenThuTuc
|
String
|
Tên thủ tục hành chính
|
Bắt buộc
|
3
|
CoQuanCongBo
|
String
|
Cơ quan công bố, liên kết danh mục cơ quan
|
Bắt buộc
|
4
|
CapThucHien
|
String
|
Cấp thực hiện TTHC:
|
Bắt buộc
|
5
|
LoaiTTHC
|
String
|
Loại TTHC:
- 0 TTHC cấp TW (Bộ ban hành, thực hiện)
- 1 TTHC không được luật giao cho địa phương quy định hoặc quy định chi tiết (TTHC bộ ban hành, địa phương thực hiện)
- 2 TTHC được luật giao cho địa phương quy định hoặc quy định chi tiết (TTHC đặc thù của địa phương)
|
Bắt buộc
|
6
|
MaLinhVuc
|
String
|
Lĩnh vực, liên kết danh mục lĩnh vực
|
Bắt buộc
|
7
|
MaNganh
|
String
|
Mã ngành
|
Bắt buộc
|
8
|
CachThucThucHien
|
String
|
Cách thức thực hiện:
- 0 Trực tiếp
- 1 Trực tuyến
- 2 Bưu chính công ích
|
Bắt buộc
|
9
|
LePhi
|
String
|
Mức giá, phí, lệ phí thực hiện thủ tục hành chính
|
Bắt buộc
|
10
|
DoiTuongThucHien
|
String
|
Đối tượng thực hiện:
- 0 Cá nhân
- 1 Doanh nghiệp
- 2 Tổ chức
- 3 Cơ quan nhà nước
|
Bắt buộc
|
11
|
ThoiHanGiaiQuyet
|
String
|
Thời hạn giải quyết hồ sơ
|
Bắt buộc
|
12
|
CoQuanThucHien
|
String
|
Cơ quan thực hiện, liên danh mục cơ quan
|
Bắt buộc
|
13
|
CoQuanCoThamQuyen
|
String
|
Cơ quan có thẩm quyền quyết định, liên kết danh mục cơ quan
|
Bắt buộc
|
14
|
CoQuanDuocUyQuyen
|
String
|
Cơ quan được ủy quyền, liên kết danh mục cơ quan
|
Bắt buộc
|
15
|
DiaChiTiepNhan
|
String
|
Địa chỉ tiếp nhận, liên kết danh mục cơ quan
|
Bắt buộc
|
16
|
CoQuanPhoiHop
|
String
|
Cơ quan phối hợp, liên kết danh mục cơ quan
|
Bắt buộc
|
17
|
QuyetDinhCongBo
|
String
|
Quyết định công bố thủ tục hành chính
|
Bắt buộc
|
18
|
MoTa
|
String
|
Mô tả thủ tục hành chính
|
Không bắt buộc
|
19
|
Used
|
Boolean
|
Được sử dụng
|
Không bắt buộc
|
Bảng 3: gói tin danh mục thủ tục hành chính
Ví dụ:
{
"CachThucThucHien": "- Trực tiếp ",
"CapThucHien": "- Bộ - Tỉnh",
"CoQuanCoThamQuyen": null,
"CoQuanCongBo": null,
"CoQuanDuocUyQuyen": null,
"CoQuanPhoiHop": null,
"CoQuanThucHien": null,
"DiaChiTiepNhan": null,
"DoiTuongThucHien": "Cá nhân",
"LePhi": "800000 VNĐ",
"LoaiTTHC": " TTHC cấp TW (Bộ ban hành, thực hiện)",
"MaLinhVuc": "046",
"MaNganh": null,
"MaThuTuc": "046002",
"MoTa": null,
"QuyetDinhCongBo": null,
"TenThuTuc": "Thủ tục cấp thẻ hướng dẫn viên du lịch quốc tế",
"ThoiHanGiaiQuyet": "15 ngày ",
"Used": true
}
- CODE EXAMPLE
- Code mẫu .Net
using RestSharp;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
public static String HTTP_GET(String url, String urlSerivce, String sercet, Dictionary<string, string> param)
{
var client = new RestClient(url);
var request = new RestRequest(urlSerivce, Method.GET);
request.AddHeader("Authorization", sercet);
//Add Parameter vào request
foreach (var item in param)
{
request.AddParameter(item.Key, item.Value);
}
var response = client.Execute(request);
if(response.StatusCode == System.Net.HttpStatusCode.OK)
{
return response.Content;
}
else
{
//Xử lý trường hợp kết nối lỗi
return "";
}
}
//jsonObj : object có cấu trúc theo như mô tả
public static String HTTP_POST(String url, String urlSerivce, String sercet,object jsonObj)
{
var client = new RestClient(url);
var request = new RestRequest(urlSerivce, Method.GET);
request.AddHeader("Authorization", sercet);
request.AddHeader("Content-Type", "application/json;charset=UTF-8");
request.AddBody(jsonObj); // jsonObj sẽ được tự động chuyển thành chuỗi json tương ứng
var response = client.Execute(request);
if(response.StatusCode == System.Net.HttpStatusCode.OK)
{
return response.Content;
}
else
{
//Xử lý trường hợp kết nối lỗi
return "";
}
}