Giải pháp thực hiện

I. TỔNG QUAN

1.1. Mô tả nghiệp vụ

  • 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ố.
  • API đồng bộ thông tin vệ sinh an toàn thực phẩm hỗ trợ phần mềm ISO tại đơn vị kết nối vào Nền tảng HCM LGSP đồng bộ thông tin vệ sinh an toàn thực phẩm tại đơn vị về CSDL dùng chung của Thành phố.

1.2. Mục đích tài liệu

  • Tài liệu này nhằm hướng dẫn đơn vị đồng bộ thông tin vệ sinh an toàn thực phẩm về CSDL dùng chung của Thành phố.

1.3. 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 đồng bộ thông tin vệ sinh an toàn thực phẩm về CSDL dùng chung của Thành phố.

II. MÔ HÌNH KẾT NỐI

2.1. Mô hình kết nối

Hình 1: Mô hình kết nối

  • 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ố.
  • API đồng bộ thông tin vệ sinh an toàn thực phẩm hỗ trợ phần mềm ISO tại đơn vị kết nối vào Nền tảng HCM LGSP để đồng bộ thông tin vệ sinh an toàn thực phẩm tại đơn vị về CSDL dùng chung của Thành phố.

2.2. 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ị đóng gói dữ liệu về dạng JSON.
  • Bước 2: 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 3: 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 4: 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ị.

III. ĐẶC TẢ API

3.1. ​​ 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

ewoiQWNjZXNzS2V5IjoiclRraFlDQndITSIsCiJTZWNyZXRLZXk

OiJEV2tRZ1kxWVNTIiwKIkFwcE5hbWUiOiAiVFBIQ00iLAoiUGF

ydG5lckNvZGUiOiAiMDAwLjAwLjAxLkgyOSIsCiJQYXJ0bmVyQ2

kZUN1cyI6ICIwMDAuMDAuMDEuSDI5Igp9Cg==

đượ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

  •  

3.2. API đồng bộ thông tin cấp giấy chứng nhận vệ sinh an toàn thực phẩm

  • Đường dẫn: /DongBoCapGCNVSATTP
  • Method: POST
  • Đầu vào:
    • Header: Authorization
    • Body: chuỗi json chứa thông tin truyền vào

STT

Tên trường

Định dạng

Mô tả

Yêu cầu

1

SoGiayCNDKKD

String

Độ dài tối đa: 255

Số giấy chứng nhận đăng ký VSATTP

Bắt buộc

2

MaLinhVucCapPhep

String

Độ dài tối đa: 50

Mã lĩnh vực cấp phép VSATTP

 

Bắt buộc

3

SoGiayPhep

String

Số giấy phép

Bắt buộc

4

NgayCapGiayPhep

String

Độ dài tối đa: 50

Ngày cấp giấy phép
(dd/MM/yyyy HH:mm:ss)

Bắt buộc

5

NgayHetHan

String

Độ dài tối đa: 50

Ngày hết hạn giấy phép
(dd/MM/yyyy HH:mm:ss)
Bắt buộc khi voThoiHan = false

Không bắt buộc

6

VoThoiHan

Boolean

Quy định giấy phép không có thời gian hết hạn

Bắt buộc

7

TenNguoiDaiDien

String

Tên người đại diện doanh nghiệp

Bắt buộc

8

LoaiGiayChungThuc

Number

Loại giấy chứng thực
1: Giấy CMND
2: Giấy chứng thực
3: Hộ chiếu

Bắt buộc

9

SoGiayChungThuc

String

Độ dài  tối đa: 50

Số giấy chứng thực

Bắt buộc

10

NgayCapGiayChungThuc

String

Ngày cấp giấy chứng thực
(dd/MM/yyyy HH:mm:ss)

Bắt buộc

11

NoiCapGiayChungThuc

String

Nơi cấp giấy chứng thực

Không bắt buộc

12

NgaySinh

String

Độ dài tối đa: 50

Ngày sinh người đại diện
(dd/MM/yyyy HH:mm:ss)

Không bắt buộc

13

GioiTinh

Int

Giới tính người đại diện

Không bắt buộc

14

DanToc

String

Độ dài tối đa: 255

Tên dân tộc của người đại diện

Không bắt buộc

15

QuocTich

String

Độ dài tối đa: 255

Tên quốc tịch của người đại diện

Không bắt buộc

16

DiaChiDangKy

JSON Object

Json Địa chỉ đăng ký kinh doanh  tại mục 3.3

Bắt buộc

17

NoiDungKinhDoanh

String

Nội dung, ngành nghề kinh doanh

Bắt buộc

18

Version

String

Phiên bản của chuẩn gói tin

Bắt buộc

Bảng 2: tham số truyền vào chuỗi json của body

Ví dụ:

{

  "SoGiayCNDKKD": null,

  "MaLinhVucCapPhep": null,

  "SoGiayPhep": null,

  "NgayCapGiayPhep": null,

  "NgayHetHan": null,

  "VoThoiHan": false,

  "TenNguoiDaiDien": null,

  "LoaiGiayChungThuc": 0,

  "SoGiayChungThuc": null,

  "NgayCapGiayChungThuc": null,

  "NoiCapGiayChungThuc": null,

  "NgaySinh": null,

  "GioiTinh": 0,

  "DanToc": null,

  "QuocTich": null,

  "DiaChiDangKy": {

  "MaThanhPho": null,

  "TenThanhPho": null,

  "MaQuanHuyen": null,

  "TenQuanHuyen": null,

  "MaPhuongXa": null,

  "TenPhuongXa": null,

  "SoNha": null

},

  "NoiDungKinhDoanh": null,

  "Version": null

}

 

  • Đầu ra:
    • Chuỗi json chứa thông tin trả về, resultObject là true hoặc false

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

JSON

Chuỗi json 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 3: tham số trả về của chuỗi json

Ví dụ:

Thành công

Lỗi

{

     "StatusCode": 200,

    "Description": null,

    "ResultObject": 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

}         

3.3. Gói tin địa chỉ đăng ký

STT

Tên trường

Định dạng

Mô tả

Yêu cầu

1

MaThanhPho

String

Mã thành phố

Bắt buộc

2

TenThanhPho

String

Tên thành phố

Bắt buộc

3

MaQuanHuyen

String

Mã quận huyện

Bắt buộc

4

TenQuanHuyen

String

Tên quận huyện

Bắt buộc

5

MaPhuongXa

String

Mã phường

Bắt buộc

6

TenPhuongXa

String

Tên phường

Bắt buộc

7

SoNha

String

Số nhà

Không bắt buộc

Bảng 4: Gói tin địa chỉ đăng ký

Ví dụ:

{

  "MaThanhPho": "",

  "TenThanhPho": "",

  "MaQuanHuyen": "",

  "TenQuanHuyen": "",

  "MaPhuongXa": "",

  "TenPhuongXa": "",

  "SoNha": ""

}

 

Danh sách tệp tin đính kèm

  • DacTaLienThong_APIDongBoCapGCNVSATTP_v1.1.docx