サプライヤー問い合わせ 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 はこのタスクをサプライヤーコミュニケーションサービスに引き渡し、中国拠点のオペレーターがその出品の実際のサプライヤーへ連絡します。サプライヤーからは、ソファは 2 個口で発送されるとの回答が返ります。

荷物 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 タイプによるその他の質問。

つまり現時点では 梱包データ → 送料見積もり を実現しますが、同じ呼び出しで サプライヤー情報 → 仕入れ判断 にも同様に使えます。10 種類すべてと回答スキーマについては 質問タイプ を参照してください。

仕組み

  1. アプリケーションが商品 URL、任意の SKU、1 つ以上の型付けされた質問を指定して POST /v1/supplier-inquiries を呼び出します。
  2. HIOBuy が問い合わせを作成し、サプライヤーコミュニケーションサービスに引き渡します。
  3. 中国拠点のオペレーターがその出品のサプライヤーに連絡します。
  4. サプライヤーが返信します。
  5. 返信は各質問タイプのスキーマに沿って構造化データへ正規化されます。
  6. 登録したエンドポイントに supplier_inquiry.message_answered の Webhook が届くか、GET /v1/supplier-inquiries/{id} をポーリングして取得します。

問い合わせは単発のリクエストではなく 会話 です。いったん作成したら、新しい問い合わせを立てるのではなく同じスレッドに追加メッセージを送り続けます。

これはリアルタイム API ではなく人手によるサービスです

実際の担当者が実際のサプライヤーに連絡するため、応答時間はサプライヤーがオンラインかどうか、返信の速さ、質問の複雑さ、追加確認が必要かどうかに左右されます。数時間、場合によってはそれ以上かかる非同期タスクとして扱ってください。一部の質問は、正当な結果として unavailablerefused で返ることもあります。

実務上は、ユーザー向けの画面を結果待ちで同期的にブロックせず、問い合わせを作成した時点ですぐレスポンスを返し、回答は Webhook で受け取り、その間 UI では processingwaiting_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"
    }
  ]
}

typeimagedocumentother のいずれかです。URL は https:// である必要があり、それ以外は INVALID_ATTACHMENT_URL で拒否されます。

HIOBuy は添付ファイルをホストしません

添付ファイルは 参照 です。あなたのファイルはあなた自身がホストし、サプライヤー側のファイルは問い合わせサービスがホストします。HIOBuy が保存するのはメタデータと URL のみで、ファイル自体のアップロード・ダウンロード・複製・プロキシは一切行いません。ファイルアップロード用のエンドポイントは存在せず、追加の予定もありません。

そのため実務上は、添付ファイルの URL はそれを提供した側が管理し、一部は有効期限で失効します。レスポンスに expires_at が含まれている場合は、そのファイルを自社ストレージへ取り込む期限として扱ってください。null は提供側が「この URL は失効しない」と表明していることを意味します。今日返ってきた URL が来月も解決できる前提で設計しないでください。

サプライヤーからの返信にも添付ファイルが含まれることがあります。それらはメッセージの attachments 配列、および supplier_inquiry.message_answered Webhook に、構造化された回答とあわせて届きます。参照できるのは、問い合わせサービスがあなたに開示すると判断した添付ファイルのみです。オペレーターの作業用ファイルやサプライヤーとのチャットのスクリーンショットはサービス内部に留まり、API には届きません。

利用条件

サプライヤー問い合わせは デフォルトで無効 です。商用オンボーディング後に HIOBuy がアプリケーション単位で有効化します。利用をご希望の場合は HIOBuy サポートにご連絡ください。

要件
機能サプライヤー問い合わせ(アプリケーション単位で有効化)
スコープsupplier_inquiry:readsupplier_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キャンセル済み。以降のメッセージは受け付けません

pendingprocessingwaiting_supplieransweredアクティブ として扱われます。1 つのアプリケーションが同一商品に対して保持できるアクティブな問い合わせは 1 件のみで、これにより商品ごとに 1 本のサプライヤースレッドが保たれます。completed または failed の問い合わせがある商品に対して作成リクエストを送ると、新規作成ではなくその会話が再開されます。

Webhook

デベロッパーポータルでエンドポイントを登録し、supplier_inquiry カテゴリを購読してください。署名と再送は標準の Webhook ルールに従います。

イベント発生タイミング
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_TYPE400questions[].type が不明
INVALID_QUESTION_SCHEMA400質問が空、上限超過、または重複している
INVALID_ATTACHMENT_URL400添付ファイルの URL がない、絶対 URL でない、または https:// でない
INVALID_ATTACHMENT_TYPE400attachments[].typeimagedocumentother のいずれでもない
TOO_MANY_ATTACHMENTS4001 つのメッセージに 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