Hướng dẫn sử dụng API GetRelatedInfoByTbmt - vinades/api.dauthau.info GitHub Wiki

Tác dụng

Lấy các thông tin ID liên quan của TBMT bao gồm: TBMT, KQMT, KQLCNT, KHLCNT và Project

Tham số có thể truyền vào:

Request Parameters

Parameter Type Description Required Default
apikey string Khóa truy cập Required
timestamp int Thời gian hiện tại dạng 11 số Required
hashsecret string Mã bí mật đã được băm Required
language varchar(02) Ngôn ngữ trả về (Chấp nhận giá trị 'vi' hoặc 'en') Required
action string "GetRelatedInfoByTbmt" Required
so_tbmt string Số TBMT cần tìm thông tin liên quan Required
  • hashsecret: Mã bí mật mỗi lần resquest, thường có 2 cách băm:
  1. password_hash($apisecret . '_' . $timestamp, PASSWORD_DEFAULT) với phương thức xác thực là password_verify
  2. md5($apisecret . '_' . $timestamp) với phương thức xác thực là md5_verify

Ví dụ sử dụng:

$request = [
    'apikey' => '...', // Khóa được cung cấp
    'timestamp' => '...', // Thời gian resquest sai lệch với giờ máy chủ không quá 5 giây
    'hashsecret' => '...', // Mã bí mật mỗi lần resquest = password_hash($apisecret . '_' . $timestamp, PASSWORD_DEFAULT);
    'action' => 'GetRelatedInfoByTbmt', // Tên API
    'so_tbmt' => 'IB2400605214-01', // Số TBMT cần tìm thông tin liên quan
];

Mô tả tham số:

  • so_tbmt: Số TBMT theo định dạng:
    • Mã mới: IB + 10 số + dấu "-" + 2 số version (ví dụ: IB2400605214-01)
    • Mã cũ: 11 số + dấu "-" + 2 số version (ví dụ: 20200569535-01)

Dữ liệu trả về nếu API truy cập thành công

{
    "status": "success",
    "code": "0000",
    "message": "",
    "content": {
        "tbmt_ids": [123, 456, 789],
        "kqmt_ids": [101, 102],
        "kqlcnt_ids": [201, 202, 203],
        "khlcnt_ids": [301],
        "project_ids": [401, 402]
    }
}

content (mảng dữ liệu cần quan tâm)

  • tbmt_ids: Mảng ID của các TBMT liên quan (có thể có nhiều phiên bản 01, 02...)
  • kqmt_ids: Mảng ID của các KQMT (Kết quả mở thầu) liên quan
  • kqlcnt_ids: Mảng ID của các KQLCNT (Kết quả lựa chọn nhà thầu) liên quan
  • khlcnt_ids: Mảng ID của các KHLCNT (Kế hoạch lựa chọn nhà thầu) liên quan
  • project_ids: Mảng ID của các Project (Dự án đầu tư) liên quan

Lưu ý về dữ liệu trả về:

  1. Tất cả các trường đều là mảng (array) vì một TBMT có thể liên quan đến nhiều bản ghi khác nhau
  2. Mảng có thể rỗng [] nếu không tìm thấy dữ liệu liên quan cho loại đó
  3. kqmt_ids chỉ có dữ liệu khi trong hệ thống đánh dấu có kết quả mở thầu (kqmt = 1)
  4. project_ids chỉ có dữ liệu khi KHLCNT có liên kết với dự án đầu tư

Ví dụ sử dụng kết quả:

API này chỉ trả về các ID liên quan. Để lấy thông tin chi tiết, bạn cần gọi các API tương ứng:

  • Lấy chi tiết TBMT: Sử dụng API GetDetailTbmt với các tbmt_ids
  • Lấy chi tiết KQMT: Sử dụng API GetDetailKqmt với các kqmt_ids
  • Lấy chi tiết KQLCNT: Sử dụng API GetDetailKqlcnt với các kqlcnt_ids
  • Lấy chi tiết KHLCNT: Sử dụng API GetDetailKhlcnt với các khlcnt_ids
  • Lấy chi tiết Dự án: Sử dụng API GetDetailDadtpt với các project_ids

Các mã lỗi

  • 1002: No data!!! - Không tìm thấy TBMT trong hệ thống
  • 1003: No data input!!! - Chưa truyền số TBMT
  • 1008: Invalid code format - Số TBMT không đúng định dạng
  • 1009: Error, Contact Admin - Lỗi hệ thống chưa xác định