Felo API PlatformFelo API Platform

วิจัย

วิจัยสินค้าเฉพาะกลุ่มก่อนสั่งสต็อก

รวมบริบทหมวดหมู่ จับภาพหน้าคู่แข่งในวันที่ระบุ อ่านข้อร้องเรียนของผู้ซื้อบน X และเก็บหลักฐานกับบันทึกไว้ใน LiveDoc เพื่อทบทวนก่อนสั่ง

เวลา30 นาทีระดับระดับกลางอัปเดต2026-10-30
สำหรับใครผู้ปฏิบัติงาน e-commerceนักวิจัยสินค้าผู้ก่อตั้ง DTC

คัดลอกพรอมป์ต์

แทนช่องในวงเล็บเหลี่ยมแล้ววางใน Claude Code, Codex หรือ AI ที่เข้าถึงเทอร์มินัล ระบบจะติดตั้งสกิล Felo ถามก่อนใช้เครดิต และรันเวิร์กโฟลว์

วิจัยสินค้าเฉพาะกลุ่มนี้ก่อนที่เราจะสต็อกหรือเปิดตัว: [สินค้าหรือหมวดหมู่]

ตลาด: [ประเทศหรือภูมิภาค] ช่องทาง: [มาร์เก็ตเพลส / DTC / ค้าปลีก] ช่วงเวลาของโพสต์ผู้ซื้อ: [30] วันล่าสุด
สินค้าที่เทียบได้หรือ URL คู่แข่ง: [URL] ข้อจำกัดด้านงบและกำไร: [ข้อจำกัด] ผู้อ่าน: [ทีม]

สร้างบันทึก Markdown ที่มี:
1. คำตัดสินหนึ่งย่อหน้า: ควรวิจัยต่อหรือไม่ และอะไรจะเปลี่ยนความคิดของคุณ
2. สัญญาณความต้องการ: แหล่งข้อมูลว่าอย่างไรเรื่องความสนใจ ฤดูกาล และสินค้าทดแทน
3. สินค้าคู่แข่ง: แต่ละรายอ้างอะไร ราคาที่บันทึกจากหน้าเว็บ และจุดที่ผู้ซื้อบอกว่ายังขาด
4. การวางตำแหน่งราคา: ราคาที่พบจริงบนหน้าเว็บแต่ละราย พร้อมวันที่บันทึก
5. ข้อร้องเรียนและความต้องการที่ยังไม่ตอบโจทย์ พร้อมคำพูด บัญชี และวันที่
6. ความเสี่ยงและคำถามเปิดที่ต้องแก้ก่อนซื้อสต็อก
7. แหล่งอ้างอิง: ทุกหน้าและโพสต์ที่ใช้ พร้อม URL และวันที่

กฎ:
- ใช้เฉพาะสิ่งที่ API ส่งกลับ ห้ามแต่งขนาดตลาด ประมาณการขาย จำนวนรีวิว หรือราคาคู่แข่ง
- รายงานราคาตามที่บันทึกไว้ พร้อม URL หน้าเว็บและวันที่บันทึก ห้ามเฉลี่ยหรือปรับมาตรฐาน
- ถือว่าโพสต์ X เป็นเกร็ดประสบการณ์ ไม่ใช่ข้อมูลตลาด และบอกเมื่อตัวอย่างน้อยเกินไป
- แยกข้อกล่าวอ้างของผู้ขายจากสิ่งที่ผู้ซื้อรายงาน
- ก่อนใช้เครดิต ให้แสดงการดึงข้อมูลและค้นหาที่จะทำและรอการอนุมัติจากฉัน
- ห้ามติดต่อซัพพลายเออร์ สั่งซื้อ หรือส่งข้อความหาใครบน X
- เขียนผลลัพธ์ลง ./product-research.md และสรุปในแชท

สำเนายังรวมขั้นตอนติดตั้งและกฎความปลอดภัย

สิ่งที่คุณได้รับ

ตัวอย่างผลลัพธ์จากการรันหนึ่งครั้ง ไม่ใช่การสร้างสด

ตัวอย่างบันทึก (ตัดตอน)

วิจัยผลิตภัณฑ์ — หมวดหมู่ตัวอย่าง

คำตัดสิน

ควรดูใกล้ขึ้น แต่หลักฐานสาธารณะยังไม่พอตัดสินสต็อก คำถามเปิดด้านล่างคือขั้นต่อไป

บริบทหมวดหมู่

ผู้ซื้อเปรียบเทียบพื้นที่เคาน์เตอร์และความง่ายในการทำความสะอาดมากกว่าแรงดัน ไม่มีแหล่งสาธารณะรองรับการประเมินขนาดตลาด

หน้าคู่แข่ง

  • Example A — หน้าผลิตภัณฑ์ (บันทึก 2026-10-30)
  • Example B — หน้าผลิตภัณฑ์ (บันทึก 2026-10-30)

ผู้ซื้อรายงาน

  • @example_buyer: “เปลี่ยนครั้งที่สามในหนึ่งปี ซีลแตก” — 2026-10-19
  • @example_home: “ทำความสะอาดใช้เวลาหลายนาที ไม่มีใครพูดถึง” — 2026-10-24

การวางตำแหน่งราคา

ราคาบันทึกเมื่อ 2026-10-30 จากหน้าที่ลิงก์ มีสองระดับ แต่ละหน้าอ้างโดยตรง ไม่เฉลี่ย

ความเสี่ยงและคำถามเปิด

  • ความทนทานของซีลเป็นข้อร้องเรียนที่ซ้ำที่สุด
  • ไม่มีแหล่งใดครอบคลุมอัตราการคืนสินค้า
  • ตรวจสอบเวลาส่งของซัพพลายเออร์และต้นทุนถึงปลายทางก่อนสั่ง

แหล่งข้อมูล

  • https://example.com/product-a — 2026-10-30
  • https://x.com/example_buyer/status/... — 2026-10-19

การเรียกที่แน่นอน

สำหรับนักพัฒนา: เวิร์กโฟลว์เดียวกันในรูปโค้ดตามลำดับการทำงาน

แสดงการเรียก API จริง
  1. ขอภาพหมวดหมู่จาก Chat

    เริ่มจากคำตอบพร้อมแหล่ง ไม่ใช่หน้าว่าง: Chat ค้นเว็บสาธารณะ จัดอันดับหน้า และคืนรีซอร์สที่ใช้ ถามบริบทอุปสงค์ ทางเลือกทดแทน และข้อร้องเรียนทั่วไปในคำถามเดียว แล้วเก็บรีซอร์สต้น ๆ เป็นรายการหลักฐาน

    product-research.ts
    const BASE = "https://openapi.felo.ai";
    const headers = {
      Authorization: `Bearer ${process.env.FELO_API_KEY}`,
      "Content-Type": "application/json",
    };
    
    async function felo<T>(path: string, body?: unknown): Promise<T> {
      const res = await fetch(`${BASE}${path}`, {
        method: body ? "POST" : "GET",
        headers,
        body: body ? JSON.stringify(body) : undefined,
      });
      if (!res.ok) throw new Error(`${res.status}: ${await res.text()}`);
      return res.json() as Promise<T>;
    }
    
    type ChatData = {
      data: {
        answer: string;
        resources: { link: string; title: string; snippet: string }[];
      };
    };
    
    const niche = "portable espresso maker"; // replace with the category you are judging
    
    const context = await felo<ChatData>("/v2/chat", {
      query: `Demand, price bands, and buyer complaints for ${niche} in the US`,
    });
    
    const sources = context.data.resources.slice(0, 5);

    ตัวอย่างผลลัพธ์

    {
      "answer": "Buyers compare on counter space and cleanup …",
      "sources": [
        { "link": "https://example.com/category-guide", "title": "…", "snippet": "…" }
      ]
    }
  2. จับภาพหน้าคู่แข่ง

    สกัดหน้าสินค้าคู่แข่งสองสามหน้าเป็น Markdown พร้อมโหมดอ่าน เป้าหมายคือข้ออ้างและราคาบนหน้าวันนี้ ไม่ใช่สเปกที่เขียนใหม่ เก็บ URL กับเนื้อหาและบันทึกวันที่จับ ราคาที่ไม่มีวันคือข่าวลือ

    product-research.ts
    const PRODUCT_PAGES = [
      { url: "https://example.com/product-a", title: "Example A — product page" },
      { url: "https://example.com/product-b", title: "Example B — product page" },
    ];
    
    type ExtractData = { data: { content: string } };
    
    const listings = await Promise.all(
      PRODUCT_PAGES.map((page) =>
        felo<ExtractData>("/v2/web/extract", {
          url: page.url,
          output_format: "markdown",
          with_readability: true,
        }).then((extracted) => ({ ...page, content: extracted.data.content })),
      ),
    );

    ตัวอย่างผลลัพธ์

    [
      {
        "url": "https://example.com/product-a",
        "title": "Example A — product page",
        "content": "# Example A\n\nSpecs and price as displayed…"
      }
    ]
  3. อ่านสิ่งที่ผู้ซื้อรายงานบน X

    หน้าซัพพลายเออร์ระบุฟีเจอร์ ผู้ซื้ออธิบายความล้มเหลว ค้นกลุ่มสินค้ากับคำเสียดทาน — การจัดส่ง คุณภาพ การคืนเงิน — ใน 30 วัน และเก็บบัญชี วันที่ ลิงก์ นี่คือเกร็ด ไม่ใช่ข้อมูลอุปสงค์ และบันทึกต้องบอกอย่างนั้น

    product-research.ts
    type XData = {
      data: {
        tweets: {
          content: string;
          author: { username: string };
          created_at: string;
          metrics: { retweet_count: number; favorite_count: number; reply_count: number };
          url: string;
        }[];
      };
    };
    
    const since = Math.floor((Date.now() - 30 * 24 * 60 * 60 * 1000) / 1000);
    
    const search = await felo<XData>("/v2/x/tweet/search", {
      query: `"${niche}" (shipping OR quality OR refund)`,
      limit: 50,
      since_time: since,
    });
    
    const complaints = search.data.tweets;

    ตัวอย่างผลลัพธ์

    { "data": { "tweets": [
      {
        "content": "Third replacement in a year; the seal fails.",
        "author": { "username": "example_buyer" },
        "created_at": "2026-10-19T15:02:00Z",
        "metrics": { "retweet_count": 1, "favorite_count": 12, "reply_count": 3 },
        "url": "https://x.com/example_buyer/status/..."
      }
    ] } }
  4. เขียนบันทึก

    ขั้นนี้คือโค้ดง่าย ๆ: รวมคำตอบหมวดหมู่ วันที่จับภาพ คำอ้างผู้ซื้อ และรายการแหล่งเป็น Markdown เดียว ซื่อสัตย์กับคำถามเปิด — บันทึกมีประโยชน์เพราะแยกสิ่งที่หน้าพิสูจน์จากสิ่งที่ต้องยืนยันกับซัพพลายเออร์

    product-research.ts
    const capturedOn = new Date().toISOString().slice(0, 10);
    
    const memo = [
      `# Product research — ${niche}`,
      "",
      "## Category context",
      context.data.answer,
      "",
      "## Competitor pages",
      ...listings.map(
        (page) => `- [${page.title}](${page.url}) — captured ${capturedOn}`,
      ),
      "",
      "## What buyers report",
      ...complaints.slice(0, 10).map(
        (post) =>
          `- @${post.author.username} (${post.created_at.slice(0, 10)}): ${post.content}`,
      ),
      "",
      "## Sources",
      ...sources.map((source) => `- [${source.title}](${source.link})`),
    ].join("\n");
    
    console.log(memo);
  5. เก็บหลักฐานใน LiveDoc

    รันครั้งเดียวต่อกลุ่ม: สร้าง LiveDoc และเก็บ short_id ในคอนฟิก เพิ่มหน้าคู่แข่งและแหล่ง Chat เป็นรีซอร์ส URL เพื่อให้ที่เก็บลบซ้ำ แล้วบันทึกเป็นเอกสาร ก่อนซื้อให้ค้นภาพและดูว่าราคาใดขยับ

    product-research.ts
    type LiveDocData = { data: { short_id: string } };
    
    const research = await felo<LiveDocData>("/v2/livedocs", {
      name: `Product research: ${niche}`,
      description: "Competitor pages, buyer posts, and the memo",
    });
    
    await felo(`/v2/livedocs/${research.data.short_id}/resources/urls`, {
      urls: [
        ...listings.map((page) => ({ url: page.url, title: page.title })),
        ...sources.map((source) => ({ url: source.link, title: source.title })),
      ].slice(0, 10),
    });
    
    await felo(`/v2/livedocs/${research.data.short_id}/resources/doc`, {
      title: `Product memo — ${capturedOn}`,
      content: memo,
    });

    ตัวอย่างผลลัพธ์

    { "short_id": "PvyKouzJirXjFdst4uKRK3" }

รวมอะไรบ้าง

  • ภาพหมวดหมู่พร้อมแหล่งจาก Chat และหน้าเว็บเบื้องหลัง
  • หน้าคู่แข่งเป็น Markdown พร้อมวันที่จับภาพ
  • ข้อร้องเรียนผู้ซื้อบน X พร้อมบัญชี วันที่ และลิงก์
  • บันทึก Markdown จากอินพุตเหล่านี้
  • LiveDoc หนึ่งแห่งเก็บหลักฐานและบันทึก

สิ่งที่ไม่ทำ

  • เฉพาะแหล่งสาธารณะ รายงานเสียเงิน ใบเสนอราคาซัพพลายเออร์ และยอดขายภายในไม่อยู่ในขอบเขต
  • ไม่ประมาณขนาดตลาด ปริมาณ หรือกำไร
  • ราคาบันทึกตามที่จับภาพ ไม่ปรับมาตรฐานหรือเฉลี่ย
  • โพสต์ X เป็นเกร็ด ไม่ใช่ข้อมูลอุปสงค์
  • ไม่ติดต่อซัพพลายเออร์ ไม่สั่งซื้อ และไม่แก้ไขรายการ

คำถาม

บริบทตลาดมาจากไหน?

Chat API คืนคำตอบพร้อมแหล่งและหน้าสาธารณะที่ใช้ หน้าคู่แข่งมาจาก URL ของคุณและสกัดด้วย Web Fetch โพสต์ผู้ซื้อจาก X Search ไม่ใช้ข้อมูลยอดขายส่วนตัว

บอกได้ไหมว่าสินค้าจะขายได้?

ไม่ได้ จัดเรียงหลักฐานสาธารณะ — บริบท ราคาที่จับ และข้อร้องเรียน — แล้วเขียนสิ่งที่ไม่รู้ การตรวจสอบอุปสงค์ต้องใช้ข้อมูลของคุณ เช่น โฆษณา พรีออเดอร์ หรือคุยกับซัพพลายเออร์

ถ้ามาร์เก็ตเพลสบล็อกการสกัด?

Web Fetch ดึงหน้าสาธารณะทีละ URL และบางไซต์บล็อก ใช้หน้าสินค้าหรือซัพพลายเออร์ที่เข้าถึงได้ และให้บันทึกทำเครื่องหมายภาพที่ขาดแทนการเดาราคา

หลีกเลี่ยงราคาคู่แข่งที่ล้าสมัยอย่างไร?

ทุกราคาในบันทึกผูกกับ URL และวันที่จับภาพ รันการสกัดใหม่ใกล้การตัดซื้อ ที่เก็บรักษาภาพก่อนหน้าเพื่อดูการเคลื่อนไหว

ติดต่อซัพพลายเออร์หรือผู้ขายไหม?

ไม่ เวิร์กโฟลว์อ่านเท่านั้น: สกัดหน้า ค้นโพสต์สาธารณะ เขียนบันทึกในเครื่อง ไม่ส่งข้อความ ไม่สั่งซื้อ และไม่แก้รายการ

การวิจัยหนึ่งครั้งมีค่าใช้จ่ายเท่าไร?

ทุกการเรียก Chat การสกัด และค้น X ใช้เครดิตตามการใช้งาน อัตราปัจจุบันที่หน้าค่าบริการ พรอมป์ต์ขออนุมัติก่อนใช้จ่าย

เวิร์กโฟลว์ที่เกี่ยวข้อง

วิจัย

เปลี่ยนคำถามหนึ่งข้อเป็นบรีฟวิจัยที่มีแหล่งอ้างอิง

ถามเว็บ บันทึกหน้าเว็บที่อยู่เบื้องหลังคำตอบเป็น Markdown เพิ่มสิ่งที่ผู้ปฏิบัติพูดบน X และเก็บหลักฐานใน LiveDoc ที่ค้นซ้ำได้

เปิดเวิร์กโฟลว์
เนื้อหา

เปลี่ยนบทสนทนาโซเชียลเป็นบรีฟฟังรายสัปดาห์

ค้นโพสต์ X สัปดาห์นี้เกี่ยวกับแบรนด์และคู่แข่ง เพิ่มบริบทเว็บพร้อมแหล่ง อ่านหน้าเบื้องหลัง และเก็บทุกฉบับเพื่อให้สัปดาห์ถัดไปเริ่มจากที่รู้แล้ว

เปิดเวิร์กโฟลว์
สำนักงาน

เปลี่ยนหน้างานวิจัยเป็นงานนำเสนอ

สกัดหน้า เก็บเป็นบริบท LiveDoc ให้ PPT Task API สร้างเด็ค และถามจนได้ลิงก์ที่เสร็จ

เปิดเวิร์กโฟลว์

ปรับให้เป็นของคุณ

สูตรเดิม ปรับตามวิธีที่คุณส่งมอบจริง

เพิ่มทรานสคริปต์รีวิววิดีโอ

เมื่อหมวดหมู่มีวิดีโอรีวิว ดึงทรานสคริปต์ด้วย YouTube Subtitling และเพิ่มคำอ้างที่มีเวลาแสตมป์สองสามรายการในส่วนผู้ซื้อ รีวิววิดีโอยังเป็นประสบการณ์ของคนหนึ่ง จึงคงป้ายเกร็ดเหมือนโพสต์ X

เปรียบเทียบสองตัวเลือก

รันขั้นตอนเดิมต่อตัวเลือกและวางบันทึกข้างกัน: ฟีเจอร์ที่อ้าง ราคาที่จับ ข้อร้องเรียนซ้ำ และคำถามเปิด การเปรียบเทียบยังเป็นเชิงคุณภาพจนมีข้อมูลขายหรือคืนสินค้า

อัปเดตก่อนซื้อ

รันการสกัดใหม่หนึ่งวันก่อนสั่ง เก็บ LiveDoc เดิมและเพิ่มบันทึกใหม่ เพื่อให้ที่เก็บแสดงสิ่งที่เปลี่ยนระหว่างวิจัยกับการซื้อ

หน้าเอกสารอ้างอิงเบื้องหลังสูตรนี้และก้าวต่อไป