DIMA Tools API로그인/회원가입

문서 / 나라장터 전용 입찰가

나라장터 전용 입찰가 API v1

라플라스 듀오가 고객사별로 학습한 전용 입찰가와 공고 상태, 개찰 순위를 공고번호로 조회합니다. 인증·한도·오류 형식은 공통 규칙을 따릅니다.

기본 주소

https://api.dima.tools/g2b/v1

키 1개는 고객사(사업자번호) 1곳에 묶입니다. 요청에 사업자번호를 넣는 파라미터는 없고, 키가 고객사를 정합니다.

POST /requests

공고 하나에 요청 항목 여러 개를 함께 보냅니다. 항목마다 결과가 따로 나오고, 한 항목이 실패해도 나머지 결과는 나옵니다.

POST /g2b/v1/requests
{
  "bid_ntce_no": "R26BK00000000",
  "bid_ntce_ord": "000",
  "items": ["price_unlock", "notice_status", "opening_result"]
}
필드필수설명
bid_ntce_no예나라장터 공고번호
bid_ntce_ord아니요공고 차수. 빼면 최신 차수
items예요청 항목 배열. 모르는 항목이 있으면 400 unknown_item
{
  "bid_ntce_no": "R26BK00000000",
  "bid_ntce_ord": "000",
  "results": {
    "price_unlock":  { "state": "ok", "premium_price": 1234567890, "...": "..." },
    "notice_status": { "state": "ok", "status": "open", "...": "..." }
  },
  "generated_at": "2026-11-11T10:00:00+09:00"
}

요청 항목

항목내용범위언락 집계
price_unlock고객사 전용 입찰가고객사 투찰 가능 범위 + 요청으로 추가한 공고집계
notice_status현재 공고 상태와 공고 정보제한 없음안 함
opening_result개찰 결과와 순위고객사 순위는 그 고객사 것만안 함

price_unlock

  • 같은 공고를 다시 요청하면 새 언락으로 세지 않고 현재 저장값을 냅니다. 재발행으로 바뀌었으면 바뀐 값입니다.
  • 범위 밖 공고는 일반 예측가로 대신 채우지 않습니다. 실제로 투찰하는 범위 밖 공고는 콘솔에서 제공을 요청할 수 있습니다.
필드설명
stateok 또는 아래 이유 코드
premium_price전용 입찰가(원)
premium_value_type금액 기준
premium_updated_at가격이 확정된 시각. 재발행이면 재발행 시각, 아직 확정 전이면 null
unlocked_at이 고객사가 처음 언락한 시각
first_unlock이번 요청이 첫 언락인지
included_by_request범위 밖 요청으로 추가된 공고인지
state뜻
not_target고객사 투찰 가능 범위 밖
out_of_engine_scope전용 모델 대상이 아닌 공고. 협상에 의한 계약·최저가 낙찰처럼 입찰가를 계산하지 않는 낙찰 방식 포함
not_computed그 밖에 계산 결과가 없는 공고
closed마감 뒤 첫 요청. 마감 전에 언락한 공고는 계속 나옵니다.
pending계산 중. 잠시 뒤 다시 요청
company_preparing고객사 모델 준비 중

notice_status

status뜻
open공고중
closed마감, 개찰 전
opened개찰 완료
failed유찰
cancelled취소 공고
superseded정정으로 새 차수가 있음(latest_ord)

함께 나오는 필드: latest_ord progress title agency demand_agency bsns_div contract_method bid_method bid_close_at opening_at base_amount estimated_price floor_rate region_limited region_names industry_limited industry_names source_url detail_url no_bid_reason rebid_reason

opening_result

개찰 전이면 {"state":"not_opened"}만 나옵니다.

{
  "state": "ok",
  "board": {
    "participants": 412, "reserve_price": 1250000000, "floor_rate": 87.745,
    "opened_at": "2026-11-11T11:00:00+09:00", "result": "개찰완료",
    "rank1": { "corp_name": "…", "bizno": "…", "amount": 1095000000, "rate": 87.6 }
  },
  "customer": { "bid_found": true, "rank": 7, "amount": 1095100000, "rate": 87.608,
                "disqualified_reason": null, "won": false },
  "premium": { "premium_price": 1095050000, "rank": 5, "total_bidders": 413,
               "below_floor": false, "below_floor_by": null, "floor_amount": 1094900000,
               "floor_unreliable": false, "diff_from_rank1": 50000 }
}
  • customer.bid_found: false는 개찰 명단에서 고객사를 찾지 못했다는 뜻입니다.
  • premium은 마감 전에 언락한 전용가가 있을 때만 나오고, 없으면 {"available": false}입니다.

GET /company

이 키의 고객사 상호·사업자번호·상태.

GET /notices

이 키 고객사의 AI 공고필터에 맞는 진행 중 나라장터 공고 목록입니다. 디마툴즈 AI입찰 웹의 AI 공고필터 목록과 같은 조건이고, 5분마다 새로 반영됩니다. 마감이 가까운 순서로 페이지당 20건이 나옵니다.

파라미터설명
page페이지 번호. 빼면 1
GET /g2b/v1/notices?page=1
{
  "state": "ok",
  "items": [
    { "bid_ntce_no": "R26BK00000000", "bid_ntce_ord": "000",
      "title": "○○ 설계용역", "agency": "○○시", "demand_agency": "○○시",
      "bsns_div": "용역", "contract_method": "일반경쟁", "bid_method": "적격심사제",
      "bid_close_at": "2026-11-17T10:00:00+09:00", "opening_at": "2026-11-17T11:00:00+09:00",
      "base_amount": 244909803, "estimated_price": 227098182,
      "premium_available": true }
  ],
  "page": 1, "last_page": 1, "total": 17,
  "refreshed_at": "2026-11-11T17:15:29+09:00",
  "generated_at": "2026-11-11T17:16:00+09:00"
}
필드설명
premium_availableprice_unlock으로 전용 입찰가가 나오는 공고인지. 협상에 의한 계약·최저가 낙찰 공고는 false
refreshed_at목록을 마지막으로 새로 반영한 시각
stateok · preparing(목록을 만드는 중, 1분 안에 다시 요청) · no_filter(고객사의 AI 공고필터 조건이 없음)

목록에는 금액 예측값을 싣지 않습니다. 전용 입찰가는 POST /requests의 price_unlock으로 공고마다 요청합니다.

GET /unlocked

이 키로 언락한 공고와 현재 전용가. 조회해도 서버 상태는 바뀌지 않습니다.

파라미터설명
since시간대가 붙은 ISO 8601. 이 시각 뒤에 전용가가 새로 확정되거나 재발행된 공고만
cursor앞 응답의 next_cursor
limit한 번에 받을 건수
GET /g2b/v1/unlocked?since=2026-11-11T09:00:00%2B09:00
{
  "items": [
    { "bid_ntce_no": "R26BK00000000", "bid_ntce_ord": "000",
      "unlocked_at": "2026-11-10T14:42:05+09:00", "premium_price": 1234567890,
      "premium_price_state": "ok", "premium_updated_at": "2026-11-11T06:40:12+09:00" }
  ],
  "next_cursor": null,
  "generated_at": "2026-11-11T10:00:00+09:00"
}

GET /usage

이 키 고객사의 오늘·이번 달 호출 수, 오늘 오류 수, 언락 수(오늘·이번 달·전체), 호출 한도.

GET /health

상태 점검. 키가 필요 없습니다.

제품 오류

공통 오류에 더해 이 제품에서 나는 오류입니다.

HTTPcode뜻
400unknown_item알 수 없는 요청 항목
403company_preparing고객사 모델 준비 중
403company_suspended고객사 제공 중지
404not_found없는 공고번호