Đọc yêu cầu hỏi nhà cung cấp

Có ba endpoint đọc, tất cả đều yêu cầu scope supplier_inquiry:read. Yêu cầu hỏi chỉ thuộc phạm vi ứng dụng đã tạo ra chúng: id yêu cầu hỏi của một ứng dụng khác sẽ trả về 404 INQUIRY_NOT_FOUND, không phải 403.

Liệt kê yêu cầu hỏi

GET /v1/supplier-inquiries

Tham số truy vấnMô tả
statusMột trạng thái yêu cầu hỏi (pending, processing, waiting_supplier, answered, completed, failed, cancelled)
channel1688 hoặc taobao
source_product_idId sản phẩm chính xác trên sàn
created_after / created_beforeDấu thời gian theo ISO 8601
pageMặc định là 1
limitMặc định là 20, tối đa 100
GET /v1/supplier-inquiries?status=answered&channel=1688&limit=20
 
{
  "data": [
    {
      "id": "sinq_9f2c...",
      "status": "answered",
      "product": {
        "channel": "1688",
        "source_product_id": "554456348334",
        "product_url": "https://detail.1688.com/offer/554456348334.html",
        "canonical_product_url": "https://detail.1688.com/offer/554456348334.html",
        "title": "...", "image": "...", "shop_id": "...", "shop_name": "..."
      },
      "sku": { "id": "3245:12345", "label": "Đen / XL" },
      "message_count": 2,
      "last_message_at": "2026-05-20T10:02:00.000Z",
      "created_at": "2026-05-20T08:31:11.000Z",
      "updated_at": "2026-05-20T11:40:00.000Z"
    }
  ],
  "pagination": { "page": 1, "limit": 20, "total": 1, "total_pages": 1 },
  "request_id": "req_..."
}

Giá trị status hoặc channel không xác định sẽ bị từ chối với 400, nên một lỗi đánh máy không bao giờ âm thầm trả về toàn bộ dữ liệu.

Chi tiết yêu cầu hỏi

GET /v1/supplier-inquiries/{inquiry_id} trả về phần thông tin tóm lược kèm toàn bộ cuộc hội thoại và một dòng thời gian gọn nhẹ.

{
  "id": "sinq_9f2c...",
  "status": "answered",
  "product": {
    "channel": "1688",
    "source_product_id": "554456348334",
    "...": "..."
  },
  "sku": {
    "id": "3245:12345",
    "label": "Đen / XL"
  },
  "message_count": 2,
  "messages": [
    {
      "id": "smsg_1a4b...",
      "type": "initial",
      "status": "answered",
      "questions": [
        {
          "id": "sqst_...",
          "type": "packed_weight",
          "note": "Khối lượng kèm hộp bán lẻ",
          "question": null,
          "status": "answered",
          "answer": {
            "question_id": "sqst_...",
            "type": "packed_weight",
            "status": "answered",
            "value": 1250,
            "unit": "g",
            "provider_note": null,
            "answered_at": "2026-05-20T11:40:00.000Z"
          }
        }
      ],
      "attachments": [
        {
          "id": "satt_...",
          "type": "image",
          "url": "https://files.example.com/packaging.jpg",
          "filename": "supplier-packaging.jpg",
          "mime_type": "image/jpeg",
          "source": "supplier",
          "expires_at": null,
          "created_at": "2026-05-20T11:40:00.000Z"
        }
      ],
      "provider_note": null,
      "created_at": "2026-05-20T08:31:12.000Z",
      "answered_at": "2026-05-20T11:40:00.000Z"
    }
  ],
  "timeline": [
    {
      "message_id": "smsg_1a4b...",
      "type": "initial",
      "status": "answered",
      "created_at": "2026-05-20T08:31:12.000Z",
      "answered_at": "2026-05-20T11:40:00.000Z"
    }
  ],
  "request_id": "req_..."
}

question chỉ khác null với câu hỏi loại other. Câu hỏi chưa có câu trả lời sẽ mang status: "pending"answer: null.

attachments liệt kê các tham chiếu tệp gắn với tin nhắn đó — những tệp bạn đã gửi, cùng bất kỳ tệp nào phía nhà cung cấp chia sẻ cho bạn. Trường source giúp phân biệt chúng (developer, operator, supplier, system). Các tệp mà dịch vụ hỏi nhà cung cấp giữ nội bộ sẽ không bao giờ được trả về ở đây. HIOBuy không lưu trữ những tệp này: url trỏ tới kho lưu trữ của bên cung cấp hoặc của chính bạn, và expires_at khác null là mốc thời gian mà sau đó URL có thể ngừng truy cập được.

Chỉ lấy tin nhắn

GET /v1/supplier-inquiries/{inquiry_id}/messages trả về đúng các đối tượng tin nhắn nhưng không kèm khối product — đây là lựa chọn tiết kiệm hơn khi bạn đã có dữ liệu yêu cầu hỏi và chỉ cần các câu trả lời mới.

{
  "inquiry_id": "sinq_9f2c...",
  "status": "answered",
  "data": [ /* messages, oldest first */ ],
  "request_id": "req_..."
}

Truy vấn định kỳ hay webhook

Hãy ưu tiên webhook supplier_inquiry.message_answered: payload của nó đã chứa toàn bộ mảng answers, nên thường chỉ cần một thông báo là đủ. Nếu bạn chọn truy vấn định kỳ, hãy gọi endpoint tin nhắn theo chu kỳ vài phút — câu trả lời đến theo tốc độ của con người, và việc truy vấn mỗi vài giây chỉ làm cạn giới hạn tần suất.

Get Support

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

Email support