SocialHub.AI
แหล่งข้อมูล · ศูนย์นักพัฒนา

การบูรณาการ POS, OMS และ ERP

เชื่อมต่อระบบที่คุณใช้งานอยู่แล้ว — ระบบขายหน้าร้าน ระบบจัดการคำสั่งซื้อ และ ERP — เข้ากับโปรแกรมสะสมแต้ม SocialHub กำหนดค่าตัวเชื่อมต่อที่จัดการได้ สำหรับ SAP, Dynamics 365, Manhattan Active Omni, IBM Sterling หรือ Salesforce ในแอป — หรือผสานรวมระบบอื่นๆ ผ่าน v2 REST API ที่มีการกำกับดูแลเดียวกัน โดยตรวจสอบสิทธิ์ด้วยคีย์ผู้เช่า กำหนดขอบเขตต่อปลายทาง และตรวจสอบทุกครั้งที่มีการเรียกใช้

หนึ่ง API สามประเภทระบบ

การรวมทุกรายการด้านล่างคือ v2 REST API บน HTTPS พร้อมด้วยคีย์ผู้เช่า Authorization: Bearer fl_live_… ใช้คีย์แบบอ่านอย่างเดียวสำหรับการกระทบยอด และใช้คีย์ที่มีขอบเขตการเขียนเฉพาะเมื่อคุณให้คะแนนหรือแลกคูปอง สำหรับแพลตฟอร์มอีคอมเมิร์ซ (Shopify, Amazon, TikTok Shop) แนะนำให้ใช้ตัวเชื่อมต่อช่องแบบเนทีฟ — คู่มือนี้มีไว้สำหรับระบบที่ไม่มีตัวเชื่อมต่อ

ตัวเชื่อมต่อที่มีการจัดการ

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

Salesforce — CRM / OMS

ผ่านการตรวจสอบด้วยข้อมูลทดสอบ

คำสั่งซื้อ / คำสั่งซื้อคืน / บัญชี-ติดต่อ / สินค้า 2 ผ่าน REST + SOQL; ข้อมูลประจำตัวไคลเอ็นต์ OAuth

SAP S/4HANA — ERP

ผ่านการตรวจสอบด้วยข้อมูลทดสอบ

ใบสั่งขาย / คู่ค้าทางธุรกิจ / ข้อมูลหลักผลิตภัณฑ์ ผ่านบริการ OData A2X; BTP OAuth

Dynamics 365 — ERP / CRM

ผ่านการตรวจสอบด้วยข้อมูลทดสอบ

ผ่านการตรวจสอบ Dataverse (CE) แล้ว การเงินและการดำเนินงานนั่งร้าน เข้า ID OAuth

แมนฮัตตันแอคทีฟ Omni - OMS

ในการตรวจสอบความถูกต้องของพันธมิตรการออกแบบ

คำสั่งซื้อ / การคืนสินค้า / ลูกค้า; การแมปที่เสร็จสมบูรณ์กับเอกสารการแมปอินเทอร์เฟซของผู้เช่าของคุณ

ไอบีเอ็ม สเตอร์ลิง — OMS

ในการตรวจสอบความถูกต้องของพันธมิตรการออกแบบ

getOrderList / ส่งคืนผ่านซองจดหมาย REST API รหัสสถานะที่กำหนดค่าให้กับไปป์ไลน์ของคุณ

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

การเพิ่มคุณค่าข้อมูลลูกค้าและการตลาด

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

CDP

Salesforce Data Cloud · Segment · Adobe Experience Platform

CRM

HubSpot · Microsoftไดนามิก 365

การตลาด

Braze · Klaviyo · วนซ้ำได้

การตรวจสอบสิทธิ์เป็นไปตามรูปแบบของแต่ละผู้จำหน่าย — คีย์ API คีย์ส่วนตัว หรือข้อมูลประจำตัวไคลเอ็นต์ OAuth2 (สำหรับ OAuth นั้น Flash จะดึงโทเค็นการเข้าถึงใหม่ทุกครั้งที่ทำงาน ดังนั้นจึงไม่มีการจัดเก็บ bearer ที่มีอายุการใช้งานยาวนาน) ข้อมูลประจำตัวจะถูกเข้ารหัสขณะจัดเก็บและจะไม่แสดงอีกต่อไป

POS

การบูรณาการ ณ จุดขาย

ระบบจะแปลงการซื้อเป็นคะแนนสะสมในขั้นตอนเดียว: บันทึกการขายเป็นคำสั่งซื้อ และ SocialHub จะจัดการสมาชิกให้ (ตามบัญชีของคุณ) externalIdอีเมล หรือ memberId) และให้คะแนนตามกฎการสะสมคะแนนของโปรแกรม ค้นหาหรือสร้างสมาชิกโดยใช้รหัสของคุณเองเมื่อต้องการใช้งาน

รางวัลจากการขาย (หลังการสั่งซื้อ)

// One call: post the sale as an order. SocialHub resolves the member, applies the
// program's earn rules (tier multiplier + daily cap) and records the order — you
// don't compute points. The member is resolved by memberId > externalId > email.
POST https://flash.socialhub.ai/api/v2/orders
Authorization: Bearer fl_live_…
Idempotency-Key: pos-90871            // safe retries — one sale never awards twice
Content-Type: application/json
{
  "externalOrderId": "90871",
  "customer": { "externalId": "POS-CUST-5512" },   // or { "email": "…" } / { "memberId": "…" }
  "totalAmount": 120.00,
  "storeId": "st_…"
}
// → 200  { "data": { "awarded": 6, "balance": 1820, "memberId": "mem_…" } }
// Not a member yet → { "awarded": 0, "reason": "not-a-member" } (never auto-created).

ค้นหาหรือสร้างสมาชิก

// Look up a member by your own key or email (exact match), or create one:
GET https://flash.socialhub.ai/api/v2/members?externalId=POS-CUST-5512     // or ?email=ada@acme.com
// → 200  { "data": [ { "id": "mem_…", "externalId": "POS-CUST-5512", … } ], "total": 1 }

POST https://flash.socialhub.ai/api/v2/members      // create/upsert (marketing consent stays OFF)
{ "email": "ada@acme.com", "fullName": "Ada Lovelace", "externalId": "POS-CUST-5512" }
// → 201 created  /  200 existing  (idempotent on externalId)

แลกคูปองที่จุดลงทะเบียน

// Cashier scans the member's coupon code → mark it redeemed at the register.
POST https://flash.socialhub.ai/api/v2/coupons/{couponId}/redeem
Authorization: Bearer fl_live_…
// → 200  redeemed
// → 404  coupon not found / already redeemed   (treat as "do not honor")

อ่านยอดคงเหลือ ระดับ และคูปองของสมาชิกด้วย GET /members/{id}/points, /tier และ /coupons เพื่อแสดงที่จุดลงทะเบียน

OMS

บูรณาการการจัดการคำสั่งซื้อ

สำหรับแพลตฟอร์มอีคอมเมิร์ซที่มีตัวเชื่อมต่อดั้งเดิม (Shopify, Amazon, TikTok Shop) ให้เปิดใช้งาน เท่านี้ก็เสร็จเรียบร้อย สำหรับระบบการจัดการคำสั่งซื้ออื่นๆ ให้โพสต์กิจกรรมคำสั่งซื้อของคุณไปที่คำสั่งซื้อ API — นำเข้ารางวัลอัตโนมัติตามกฎของโปรแกรม และคืนคะแนนสะสมกลับตามสัดส่วน OMS ของคุณกระตุ้นการโทร (ไม่ต้องใช้เว็บฮุคขาเข้า)

คำสั่งซื้อได้รับ; คืนเงินกรงเล็บกลับ

// On Shopify / Amazon / TikTok Shop? Use the NATIVE channel connectors (Settings →
// Channels). For any OTHER OMS, your system calls these on its own order events.
//
// order paid / fulfilled  →  ingest (auto-awards by the program's earn rules):
POST https://flash.socialhub.ai/api/v2/orders
Idempotency-Key: SO-44821
{ "externalOrderId": "SO-44821", "customer": { "email": "ada@acme.com" }, "totalAmount": 240.00 }
// → 200 { "data": { "awarded": 12, "memberId": "mem_…" } }
// Same id + a DIFFERENT amount → 409 ORDER_CONFLICT (orders are immutable).

// order returned / refunded  →  proportional points claw-back, idempotent per refund:
POST https://flash.socialhub.ai/api/v2/orders/SO-44821/refund
{ "refundId": "re_1", "reason": "returned 1 item", "amount": 80.00 }   // omit amount = full
// → 200 { "data": { "clawedBack": 4, "balance": 1816 } }

// Backfill / bulk: POST /orders/batch (≤100, 207 Multi-Status, per-item results).

ยังไม่ได้เป็นสมาชิกใช่ไหม? ได้รับผลตอบแทนจากการนำเข้า: 0 / reason:not-สมาชิก (จะไม่สร้างโดยอัตโนมัติ) ลงทะเบียนพวกเขาด้วย POST /members อันดับแรก เมื่อคุณต้องการให้คำสั่งซื้อนั้นสร้างรายได้

ERP

การบูรณาการ ERP และข้อมูลหลัก

รักษาความภักดีให้สอดคล้องกับระบบบันทึกของคุณในทั้งสองทิศทาง: ผลักดันร้านค้าของคุณและสมาชิกหลัก (idempotent upsert โดย externalId ของคุณ) จากนั้นปรับยอดทีละน้อยด้วย ?updatedSince= เพื่อให้การซิงค์แต่ละครั้งดึงเฉพาะสิ่งที่เปลี่ยนแปลงเท่านั้น

ผลักดันเจ้าของร้าน

// Push your store master to SocialHub (upsert by your ERP store code):
POST https://flash.socialhub.ai/api/v2/stores
{ "name": "Downtown Flagship", "externalId": "ERP-STORE-018", "city": "New York" }
// → 201 created  /  200 updated  (idempotent on externalId)
//   PUT /api/v2/stores/{id} updates a known store. GET to reconcile / pull ids.

ผลักดันสมาชิกและกระทบยอดกันแบบค่อยเป็นค่อยไป

// Push the member master (idempotent upsert by your externalId; consent OFF unless
// you explicitly opt in). Nightly full re-push is safe — existing members update.
POST https://flash.socialhub.ai/api/v2/members/batch     // ≤100 per call, 207 Multi-Status
{ "members": [ { "email": "ada@acme.com", "fullName": "Ada Lovelace", "externalId": "ERP-7741" } ] }

// Incremental reconcile — only what changed since your last sync:
GET https://flash.socialhub.ai/api/v2/members?updatedSince=2026-06-26T00:00:00Z&limit=200
GET https://flash.socialhub.ai/api/v2/orders?updatedSince=2026-06-26T00:00:00Z       // orders too
// For governed business metrics (GMV, redemption, active members) into BI, query the
// semantic layer over MCP (metrics:read) instead of aggregating raw rows yourself.

ดันแคตตาล็อกสินค้า (PIM)

// Push your product catalog (idempotent upsert by your own external_id). One
// endpoint takes brands, categories, products, variants and inventory together.
POST https://flash.socialhub.ai/api/v2/catalog/import
{ "source": "erp",
  "brands":     [ { "externalId": "B-AURELIA", "name": "Aurelia" } ],
  "categories": [ { "externalId": "C-RINGS", "name": "Rings" } ],
  "products":   [ { "externalId": "P-9001", "title": "Solitaire Ring",
                    "brandExternalId": "B-AURELIA", "categoryExternalId": "C-RINGS",
                    "descriptionHtml": "<p>18k…</p>",
                    "content": [ { "externalId": "P-9001-spec", "contentType": "spec",
                                   "body": "1.0ct, 18k white gold, GIA" } ] } ],
  "variants":   [ { "externalId": "V-9001-7", "productExternalId": "P-9001",
                    "sku": "AUR-RING-7", "price": 4200 } ],
  "inventory":  [ { "variantSku": "AUR-RING-7", "locationRef": "WH-1", "available": 12 } ] }
// → 200 with per-entity {inserted,updated} + errors[] (a bad row never aborts the batch).
// On Shopify? Products map in automatically — images + rich descriptions included.
// Read back: GET /api/v2/products · /products/{id} · /categories · /brands

การประมวลผลแบบกลุ่ม ≤100/การเรียก (207 ผลลัพธ์หลายสถานะต่อรายการ); โปรดเคารพขีดจำกัดอัตราต่อคีย์และเรียกใช้การซิงค์ใหม่ทั้งหมดในช่วงนอกเวลาเร่งด่วน การนำเข้าแคตตาล็อกถูกจัดการจากภายนอก — SocialHub จะไม่เขียนผลิตภัณฑ์กลับไปยัง ERP ของคุณ

การตรวจสอบสิทธิ์ ขอบเขต และความปลอดภัย

คีย์ที่กำหนดขอบเขตผู้เช่า

ทุกการโทรจะมีคีย์ fl_live_ ที่เชื่อมโยงกับทีมเดียว คีย์ไม่เคยข้ามผู้เช่า สร้างคีย์แยกกันต่อการผสานรวม เพื่อให้คุณสามารถหมุนคีย์หนึ่งได้โดยไม่ต้องแตะคีย์อื่นๆ

ค่าที่ตั้งไว้ล่วงหน้าสำหรับการอ่านและการเขียน

งานกระทบยอดใช้คีย์แบบอ่านอย่างเดียว กำหนดขอบเขตการเขียนให้กับเส้นทาง POS/OMS ที่ให้คะแนนหรือแลกคูปองเท่านั้น — สิทธิ์ขั้นต่ำต่อระบบ

Idempotency-คีย์

ส่งส่วนหัว Idempotency-Key ในการเขียน (คำสั่งซื้อจะมี externalOrderId ของตัวเองด้วย) การโทรที่ลองซ้ำจะเล่นซ้ำผลลัพธ์เดิม คีย์เดียวกันที่มีเพย์โหลดต่างกันถูกปฏิเสธ - การขายหนึ่งครั้งจะไม่ได้รับรางวัลสองครั้ง

ตรวจสอบโดยค่าเริ่มต้น

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

ข้อมูลอ้างอิงปลายทางแบบเต็ม: REST API · เริ่มต้นใช้งานอย่างรวดเร็ว · MCP (เมตริกเข้าสู่ BI)

บูรณาการระบบแบ็กเอนด์?

พูดคุยกับวิศวกรเกี่ยวกับ POS/OMS/ERP ข้อมูลประจำตัวของสมาชิกที่จุดลงทะเบียน การจัดการคืนสินค้า หรือการกระทบยอด

คุยกับวิศวะ