การเชื่อมต่อบริการภายนอก (External Integrations)

เอกสารการออกแบบบริการภายนอกที่ API Application เป็นผู้เรียกแทน Client โดยตรง ปัจจุบัน Google Vision API ยังไม่เชื่อมต่อจริง และ FCM อยู่ใน Phase 2

หมวด สถาปัตยกรรมต้นฉบับ architecture/external-integrations.md
Google-Vision-APIFCMFirebasereverse-image-searchpush-notification

การเชื่อมต่อบริการภายนอก (External Integrations)

เอกสารการออกแบบบริการภายนอกที่ API Application เป็นผู้เรียกแทน Client โดยตรง ปัจจุบัน Google Vision API ยังไม่เชื่อมต่อจริง และ FCM อยู่ใน Phase 2


ผู้ให้บริการ: Google Cloud Vision API (มี Bing Visual Search เป็น Alternative)

สถานะ v1: ยังไม่เชื่อมต่อจริง ระบบต้องส่งกลับ source_status = "unavailable" และคำนวณคะแนนจากมิติที่สำเร็จเท่านั้น

หน้าที่: ชั้น Source Verification ของ การวิเคราะห์หลายชั้น ตรวจสอบว่ารูปภาพที่อัปโหลดปรากฏในอินเทอร์เน็ตที่อื่นหรือไม่

การทำงาน:

  1. API Application ส่งรูปภาพ Binary หรือ URL ไปยัง Google Vision API
  2. Google Vision ส่งคืน URL ของหน้าเว็บที่พบรูปคล้ายกัน
  3. ระบบนับ Domain ที่ไม่ซ้ำกัน
  4. = 3 Domain → ความเสี่ยงแหล่งที่มาสูง

  5. = 2 Domain → ความเสี่ยงปานกลาง/ไม่แน่ชัด (medium/uncertain)
  6. <= 1 Domain → ความเสี่ยงต่ำ

มีส่วนใน: คะแนน $S_{source}$ (0–100 หนึ่งมิติในสูตร Hybrid max+bonus)

กรณี Failure: ถ้า External API Timeout หรือ Error ระบบจะตัดมิตินั้นทิ้งแล้วคำนวณค่าสูงสุดจากมิติที่สำเร็จ และระบุว่า "Source Verification ไม่พร้อมใช้งาน" ใน Response โดยไม่ใช้ค่า neutral 50


Firebase Cloud Messaging (FCM) — Phase 2 (v1 ใช้ polling + in-app)

ผู้ให้บริการ: Google Firebase

หน้าที่: Push Notification สำหรับการวิเคราะห์แบบ Asynchronous (เริ่ม Phase 2 — มติ DOC-06)

การทำงาน:

  • การวิเคราะห์เต็มรูปแบบ (Cache Miss) ใช้เวลาสูงสุด 15 วินาที
  • แทนที่จะ Hold HTTP Connection ไว้ 15 วินาที Mobile App รับ FCM Push Notification เมื่อผลลัพธ์พร้อม
  • Notification Payload มี Scan ID และ Risk Grade (Low/Medium/High)
  • Mobile App ดึงผลลัพธ์เต็มจาก API ต่อจาก Notification

เหตุผลที่เลือก FCM: ฟรีสำหรับ Volume มาตรฐาน, เสถียรบน Android, ไม่ต้องบริหาร Infrastructure


Integration ที่วางแผนในอนาคต

บริการ หน้าที่ สถานะ
Bing Visual Search ทางเลือกสำรองสำหรับ Reverse Image Search วางแผนแล้ว (Fallback)
SynthID (Google DeepMind) ตรวจจับภาพ AI ผ่าน Watermark Future (นอกขอบเขต v1)
Gemini (Google AI) วิเคราะห์บริบทภาพด้วย LLM Future (นอกขอบเขต v1)

ประเด็นสำคัญ

  • ทั้งสองบริการเรียกผ่าน API Application เท่านั้น Client ไม่เรียก External API โดยตรง
  • ทั้งคู่มี Fallback/Partial-failure Handling เพื่อป้องกันไม่ให้ Outage ของบริการภายนอกบล็อกการสแกนทั้งหมด
  • Google Vision API คือบริการภายนอกเพียงรายการเดียวในการออกแบบปัจจุบันที่มีค่าใช้จ่าย

หน้าที่เกี่ยวข้อง