콘텐츠로 이동

material_document_extraction (자재 문서 정보 추출)

Firebase Storage에 업로드된 이미지 파일에서 Upstage AI를 사용하여 자재 비용 정보를 자동으로 추출합니다.

기본 정보

항목
URL https://asia-northeast3-construction24-test.cloudfunctions.net/material_document_extraction
Method POST
인증 Firebase ID Token 필요
권한 해당 회사의 멤버

요청

Body

필드 타입 필수 설명 검증
token string O Firebase ID Token -
company_id string O 회사 ID -
site_id string O 현장 ID -
img_path string O Firebase Storage 이미지 경로 특정 경로 형식 필요

img_path 경로 형식

companies/{companyId}/sites/{siteId}/material_supplier/{supplierId}/document_extraction/{imageId}/{fileName}

요청 예시

{
  "token": "eyJhbGci...",
  "company_id": "abc123",
  "site_id": "site456",
  "img_path": "companies/abc123/sites/site456/material_supplier/supplier789/document_extraction/img001/invoice.jpg"
}

응답

성공 (200)

{
  "message": "문서 정보 추출 완료",
  "data": {
    "items": [
      {
        "name": "시멘트",
        "quantity": 100,
        "unit_price": 10000,
        "supply_amount": 909091,
        "tax": 90909,
        "total": 1000000
      }
    ],
    "total_amount": 1000000,
    "supplier_info": {
      "name": "대한건자재",
      "registration_number": "123-45-67890"
    }
  }
}

실패

코드 message 원인
402 "AI 크레딧이 부족합니다. (잔액: {balance}, 필요: {cost})" AI 크레딧 잔액 부족 (CREDIT_001)
500 "해당 회사의 멤버가 아닙니다." 요청자가 해당 회사의 멤버가 아닌 경우
500 "이미지 경로 형식이 올바르지 않습니다." 경로 형식이 맞지 않는 경우
500 "이미지 경로는 'companies/'로 시작해야 합니다." 경로 구조 오류
500 "이미지 경로의 회사 ID가 요청의 회사 ID와 일치하지 않습니다." 경로와 요청 불일치
500 "이미지 경로의 현장 ID가 요청의 현장 ID와 일치하지 않습니다." 경로와 요청 불일치
500 "이미지 파일이 존재하지 않습니다." 파일이 없는 경우

참고

  • Upstage AI의 문서 정보 추출 API를 사용합니다.
  • 이미지는 먼저 Firebase Storage에 업로드되어 있어야 합니다.
  • 서명된 URL(10분 만료)을 생성하여 Upstage AI에 전달합니다.
  • 추출된 데이터는 [[set_material_cost_data]] API를 통해 저장할 수 있습니다.
  • 관련 API: [[set_material_cost_data]], [[get_material_upload_token]]

AI 크레딧

  • 이 API는 호출 시 3,000 크레딧이 차감됩니다.
  • 회사별로 초기 100,000 크레딧이 제공됩니다.
  • 크레딧 잔액이 부족하면 CREDIT_001 에러(HTTP 402)가 반환됩니다.
  • 크레딧은 API 성공 시에만 차감됩니다.