การเชื่อมต่อบริการภายนอก (External Integrations)
เอกสารการออกแบบบริการภายนอกที่ API Application เป็นผู้เรียกแทน Client โดยตรง ปัจจุบัน Google Vision API ยังไม่เชื่อมต่อจริง และ FCM อยู่ใน Phase 2
การเชื่อมต่อบริการภายนอก (External Integrations)
เอกสารการออกแบบบริการภายนอกที่ API Application เป็นผู้เรียกแทน Client โดยตรง ปัจจุบัน Google Vision API ยังไม่เชื่อมต่อจริง และ FCM อยู่ใน Phase 2
Google Vision API — Reverse Image Search
ผู้ให้บริการ: Google Cloud Vision API (มี Bing Visual Search เป็น Alternative)
สถานะ v1: ยังไม่เชื่อมต่อจริง ระบบต้องส่งกลับ source_status = "unavailable" และคำนวณคะแนนจากมิติที่สำเร็จเท่านั้น
หน้าที่: ชั้น Source Verification ของ การวิเคราะห์หลายชั้น ตรวจสอบว่ารูปภาพที่อัปโหลดปรากฏในอินเทอร์เน็ตที่อื่นหรือไม่
การทำงาน:
- API Application ส่งรูปภาพ Binary หรือ URL ไปยัง Google Vision API
- Google Vision ส่งคืน URL ของหน้าเว็บที่พบรูปคล้ายกัน
- ระบบนับ Domain ที่ไม่ซ้ำกัน
-
= 3 Domain → ความเสี่ยงแหล่งที่มาสูง
- = 2 Domain → ความเสี่ยงปานกลาง/ไม่แน่ชัด (medium/uncertain)
- <= 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 คือบริการภายนอกเพียงรายการเดียวในการออกแบบปัจจุบันที่มีค่าใช้จ่าย