공급업체 문의 API

고객이 구매하기 전에 국제 배송비를 추정하세요

소파, 플로어 램프, 러닝머신, 대형 반려동물 케이지 같은 상품의 국제 배송비는 사실상 실제 포장 상태로 결정됩니다. 포장 중량, 박스 규격, 그리고 몇 개의 포장으로 나뉘어 발송되는지가 전부입니다.

그런데 이 데이터는 1688과 타오바오 상품 페이지에 아예 없거나 신뢰하기 어려운 경우가 대부분입니다. 그래서 고객은 아주 현실적인 문제에 부딪힙니다.

상품 가격은 알지만, 그 상품을 자기 나라까지 가져오는 데 얼마가 드는지는 전혀 알 수 없습니다.

공급업체 문의 API는 바로 이 간극을 메웁니다. HIOBuy의 공급업체 커뮤니케이션 서비스가 구매 전에 실제 공급업체에 연락해 포장 중량, 포장 규격, 카톤 정보를 확인하고, 그 답변을 배송비 추정에 바로 활용할 수 있는 구조화된 데이터로 애플리케이션에 돌려줍니다.

상품 API만으로는 부족한 이유

상품 API는 마켓플레이스가 알고 있는 정보, 즉 제목, 이미지, 가격, SKU, 속성, 상점 정보를 안정적으로 제공합니다. 하지만 물류 데이터는 이야기가 다릅니다.

  • 중량 정보가 아예 게시되어 있지 않습니다.
  • 표시된 중량이 포장 중량이 아니라 상품 순중량입니다.
  • 상품 치수는 있지만 포장 후 규격은 없습니다.
  • 중량을 판매자가 직접 입력한 값이라 참고용에 불과합니다.
  • SKU마다 포장 중량이 다릅니다.
  • 대형 상품은 여러 개의 포장으로 나뉘어 발송됩니다.
  • 카톤 수량, 카톤 중량, 카톤 규격은 페이지 어디에도 없습니다.

상품 API는 마켓플레이스가 아는 것을 알려주고, 공급업체 문의는 공급업체만 확인해 줄 수 있는 것을 가져옵니다.

예시: 소파의 배송비 추정하기

미국에 있는 고객이 여러분의 앱에서 ¥800짜리 1688 소파를 보고 있습니다. 상품 API는 이미 상품, 가격, 이미지, SKU, 속성을 반환했지만 신뢰할 수 있는 포장 중량이나 포장 규격은 없습니다.

그래서 앱은 다음에 이어질 가장 중요한 질문에 답할 수 없습니다.

상품 가격   ¥800
국제 배송비 ???

부피가 큰 상품에서는 이 미지수가 상품 가격 자체를 쉽게 넘어설 수 있습니다.

앱이 문의를 생성합니다.

POST /v1/supplier-inquiries
{
  "product_url": "https://detail.1688.com/offer/554456348334.html",
  "questions": [
    { "type": "packed_weight" },
    { "type": "package_dimensions" },
    { "type": "carton_info" }
  ]
}

HIOBuy가 이 작업을 공급업체 커뮤니케이션 서비스에 전달하고, 중국 현지 담당자가 해당 상품의 실제 공급업체에 연락합니다. 공급업체는 소파가 두 개의 포장으로 발송된다고 회신합니다.

포장 1   32 kg   110 × 75 × 55 cm
포장 2   18 kg    90 × 60 × 40 cm

이 답변은 구조화된 JSON으로 애플리케이션에 돌아오며, 전체 흐름은 다음과 같습니다.

1688 상품
      ↓  상품 API
가격: ¥800
      ↓  신뢰할 수 있는 물류 데이터 없음
공급업체 문의
      ↓  HIOBuy가 실제 공급업체에 연락
공급업체 확인: 포장 2개, 32 kg + 18 kg, 박스 규격
      ↓  구조화된 물류 데이터
국제 배송비 추정 (중국 → 미국)

고객은 구매 전에 대략적인 총비용을 확인

이것이 이 모든 과정의 목적입니다.

상품 비용
+ 국제 배송비 추정치
= 현실적인 구매 전 비용

HIOBuy API에서의 위치

상품 API             "이 상품은 무엇이고 가격은 얼마인가?"

공급업체 문의 API     "공급업체는 실제로 어떻게 포장하는가?"

배송비 견적          "국제 배송에 대략 얼마가 드는가?"

공급업체 문의는 상품 데이터와 배송비 견적 사이에 빠져 있던 계층입니다.

공급업체 확인 데이터는 추정치입니다

돌아오는 값은 공급업체가 확인한 데이터입니다. 구매 전 추정 용도로는 물류 데이터가 전혀 없는 상태, 상품 순중량을 쓰는 것, 사진으로 추측하는 것, 애초에 정확할 의도가 없던 마켓플레이스 필드를 믿는 것보다 훨씬 낫습니다.

하지만 공급업체 확인은 창고 실측이 아닙니다. 물건이 실제로 도착하면 포장이 달라질 수 있고, 창고에서 재포장할 수도 있으며, 실제 중량과 규격, 포장 개수가 모두 바뀔 수 있습니다.

이 답변은 구매 전 국제 배송비 추정에 사용하세요. 최종 청구 배송 중량으로 취급해서는 안 됩니다. 그 값은 언제나 창고가 실제로 포장하고 실측한 결과에서 나옵니다.

배송 데이터를 넘어서

배송비 추정을 위한 포장 데이터는 이 API의 가장 첫 번째이자 가장 구체적인 활용 사례이지만, 동일한 공급업체 커뮤니케이션 채널로 공급업체만 알 수 있는 모든 것을 물어볼 수 있습니다.

MOQ · 재고 · 리드타임 · 중립 포장 · 커스터마이징 · 카톤 정보 · 상품 상세, 그리고 other 타입을 통한 그 밖의 모든 질문.

즉 오늘은 포장 데이터 → 배송비 추정을 제공하지만, 같은 호출로 공급업체 정보 → 구매 의사결정도 똑같이 지원합니다. 전체 열 가지 유형과 각 답변 스키마는 질문 유형을 참고하세요.

동작 방식

  1. 애플리케이션이 상품 URL, 선택적 SKU, 하나 이상의 타입이 정의된 질문을 담아 POST /v1/supplier-inquiries를 호출합니다.
  2. HIOBuy가 문의를 생성하고 공급업체 커뮤니케이션 서비스에 전달합니다.
  3. 중국 현지 담당자가 해당 상품의 공급업체에 연락합니다.
  4. 공급업체가 회신합니다.
  5. 회신은 각 질문 유형의 스키마에 맞춰 구조화된 데이터로 정규화됩니다.
  6. 등록한 엔드포인트로 supplier_inquiry.message_answered 웹훅이 전송되거나, GET /v1/supplier-inquiries/{id}를 폴링할 수 있습니다.

문의는 일회성 요청이 아니라 하나의 대화입니다. 문의가 생성된 뒤에는 새 문의를 여는 대신 같은 스레드에 후속 메시지를 계속 추가합니다.

실시간 API가 아닌 사람이 수행하는 서비스입니다

실제 사람이 실제 공급업체에 연락하기 때문에, 응답 시간은 공급업체의 접속 여부, 회신 속도, 질문의 복잡도, 후속 확인 필요 여부에 따라 달라집니다. 수 시간, 때로는 그 이상이 걸리는 비동기 작업으로 다뤄주세요. 일부 질문은 정상적인 결과로 unavailable 또는 refused로 돌아올 수 있습니다.

실무적으로는 사용자에게 노출되는 화면이 결과를 동기적으로 기다리게 하지 말고, 문의가 생성되는 즉시 응답을 반환한 뒤 답변은 웹훅으로 받고, 그동안 UI에는 processing 또는 waiting_supplier 상태를 보여주세요.

첨부 파일

어떤 질문은 사진 한 장이 있으면 훨씬 쉽게 전달됩니다. 포장 참고 이미지, SKU 스크린샷, 치수 도면, 사양서 — 반대 방향으로는 공급업체가 직접 찍은 포장 사진, 카톤 사진, 견적서 PDF 같은 것들입니다.

여러분이 보내는 메시지와 공급업체가 보내는 메시지 모두 최대 5개의 첨부 파일을 담을 수 있습니다.

{
  "message": "Please ask the supplier whether they can use packaging similar to this.",
  "attachments": [
    {
      "type": "image",
      "url": "https://example.com/reference-packaging.jpg",
      "filename": "reference-packaging.jpg",
      "mime_type": "image/jpeg"
    }
  ]
}

typeimage, document, other 중 하나입니다. URL은 반드시 https://여야 하며, 그 외의 값은 INVALID_ATTACHMENT_URL로 거부됩니다.

HIOBuy는 첨부 파일을 호스팅하지 않습니다

첨부 파일은 참조입니다. 여러분의 파일은 여러분이 직접 호스팅하고, 공급업체 측 파일은 문의 서비스가 호스팅합니다. HIOBuy는 메타데이터와 URL만 저장하며, 파일 자체를 업로드하거나 다운로드하거나 복사하거나 프록시하지 않습니다. 파일 업로드 엔드포인트는 없고, 추가할 계획도 없습니다.

그래서 실무적으로는 첨부 파일 URL을 제공한 쪽이 그 URL을 관리하며, 일부는 만료됩니다. 응답에 expires_at이 있다면 해당 파일을 여러분의 스토리지로 가져와야 하는 기한으로 다루세요. null은 제공자가 해당 URL이 만료되지 않는다고 밝힌 경우입니다. 오늘 반환된 URL이 다음 달에도 열린다는 가정 위에 설계하지 마세요.

공급업체의 회신에도 첨부 파일이 포함될 수 있습니다. 이러한 파일은 메시지의 attachments 배열과 supplier_inquiry.message_answered 웹훅에 구조화된 답변과 함께 도착합니다. 문의 서비스가 여러분에게 공개하기로 표시한 첨부 파일만 볼 수 있으며, 담당자의 작업용 파일이나 공급업체 채팅 스크린샷은 서비스 내부에 남고 API로 전달되지 않습니다.

이용 조건

공급업체 문의는 기본적으로 비활성화되어 있습니다. HIOBuy는 상업적 온보딩을 마친 뒤 애플리케이션 단위로 기능을 활성화합니다. 이용을 원하시면 HIOBuy 지원팀에 문의하세요.

요구 사항
기능공급업체 문의, 애플리케이션 단위로 활성화
스코프supplier_inquiry:read, supplier_inquiry:write
인증라이브 API 키 (Authorization: Bearer hio_live_...)

기능이 활성화되지 않았거나 정지된 경우 모든 엔드포인트는 403 SUPPLIER_INQUIRY_NOT_ENABLED를 반환합니다.

지원 마켓플레이스

채널인식 대상
1688detail.1688.com/offer/{id}.html 및 이에 상응하는 링크
taobaoitem.taobao.com / detail.tmall.com 상품 링크

그 외의 링크는 UNSUPPORTED_MARKETPLACE로 실패합니다. 상품은 원본 URL 문자열이 아니라 channel + source_product_id 조합으로 식별되므로, 같은 상품을 가리키는 형태가 다른 링크는 모두 동일한 상품으로 처리됩니다.

문의 상태

상태의미
pending접수되었으나 아직 제공자가 처리를 시작하지 않음
processing담당자가 처리 중
waiting_supplier질문이 전달되었고 공급업체 회신 대기 중
answered최신 메시지에 답변이 도착함 — 스레드는 후속 질문을 위해 열려 있음
completed대화가 종료됨
failed메시지를 전달하지 못했거나 제공자가 거부함
cancelled취소됨. 추가 메시지를 받지 않음

pending, processing, waiting_supplier, answered활성 상태로 간주됩니다. 하나의 애플리케이션은 상품당 활성 문의를 하나만 보유할 수 있으며, 이를 통해 상품별 공급업체 스레드가 하나로 유지됩니다. 문의가 completed 또는 failed 상태인 상품에 생성 요청을 보내면 새 문의를 만드는 대신 해당 대화를 다시 엽니다.

웹훅

개발자 포털에서 엔드포인트를 등록하고 supplier_inquiry 카테고리를 구독하세요. 서명과 재시도는 표준 웹훅 규칙을 따릅니다.

이벤트발생 시점
supplier_inquiry.created문의가 생성됨
supplier_inquiry.processing담당자가 메시지 처리를 시작함
supplier_inquiry.waiting_supplier질문이 공급업체에 전달됨
supplier_inquiry.message_answered답변 도착 — 페이로드에 전체 answers 배열과 첨부 파일이 있는 경우 attachments가 포함됨
supplier_inquiry.completed대화가 종료됨
supplier_inquiry.failed메시지 전달에 실패함

모든 페이로드에는 inquiry_idproduct.{channel,source_product_id}가 포함됩니다.

오류 코드

코드HTTP의미
SUPPLIER_INQUIRY_NOT_ENABLED403기능이 부여되지 않았거나 정지됨
INVALID_PRODUCT_URL400절대 http(s) URL이 아니거나 상품 ID가 없음
UNSUPPORTED_MARKETPLACE400채널이 1688 또는 타오바오가 아님
INVALID_QUESTION_TYPE400알 수 없는 questions[].type
INVALID_QUESTION_SCHEMA400질문이 비어 있거나, 개수를 초과했거나, 중복됨
INVALID_ATTACHMENT_URL400첨부 파일 URL이 없거나, 절대 URL이 아니거나, https://가 아님
INVALID_ATTACHMENT_TYPE400attachments[].typeimage, document, other 중 하나가 아님
TOO_MANY_ATTACHMENTS400한 메시지에 첨부 파일이 5개를 초과함
ACTIVE_INQUIRY_EXISTS409활성 문의가 이미 존재함 — 해당 문의에 메시지를 추가하세요
INQUIRY_NOT_FOUND404존재하지 않는 문의이거나 다른 애플리케이션 소유
INQUIRY_NOT_ACTIVE409문의가 취소된 상태임
SUPPLIER_INQUIRY_SERVICE_UNAVAILABLE503문의 서비스가 중단되었거나 작업을 거부함

SUPPLIER_INQUIRY_SERVICE_UNAVAILABLE은 의도적으로 포괄적인 코드입니다. 잔액이나 계정 상태 같은 제공자 측 사유는 노출되지 않습니다. 지원팀에 문의할 때는 request_id를 함께 알려주세요.

엔드포인트

엔드포인트용도
POST /v1/supplier-inquiries문의 생성
POST /v1/supplier-inquiries/{id}/messages후속 질문 전송
GET /v1/supplier-inquiries문의 목록 조회
GET /v1/supplier-inquiries/{id}전체 메시지를 포함한 문의 상세
GET /v1/supplier-inquiries/{id}/messages질문과 답변이 포함된 메시지 목록

Get Support

Need integration help? Contact Developer Support at support@hiobuy.com · Response within 1–2 business days

Email support