SocialHub.AI
Sumber · Pusat Pembangun

Integrasi POS, OMS & ERP

Sambungkan sistem yang telah anda jalankan — tempat jualan, pengurusan pesanan dan ERP anda — ke dalam kesetiaan SocialHub. Konfigurasikan penyambung terurus untuk SAP, Dynamics 365, Manhattan Active Omni, IBM Sterling atau Salesforce dalam aplikasi — atau integrasikan mana-mana sistem lain melalui v2 REST API yang sama, disahkan dengan kunci penyewa, skop setiap titik akhir dan diaudit pada setiap panggilan.

Satu API, tiga jenis sistem

Setiap penyepaduan di bawah ialah v2 REST API melalui HTTPS dengan kunci penyewa Authorization: Bearer fl_live_…. Gunakan kunci baca sahaja untuk penyelarasan dan kunci skop tulis sahaja di mana anda memberikan mata atau menebus kupon. Untuk platform e-dagang (Shopify, Amazon, TikTok Shop) lebih suka penyambung saluran asli — panduan ini adalah untuk sistem tanpanya.

Penyambung terurus

Bagi lima sistem perusahaan, anda tidak menulis integrasi langsung — konfigurasikan sambungan dalam Data & Integrasi (titik akhir + kelayakan yang disulitkan), sahkannya dan jalankan ujian kering. Setiap penyambung menormalkan pesanan, pelanggan dan produk vendor dan menghantarnya melalui API yang sama yang didokumenkan di bawah — skop yang sama, idempotensi yang sama, saluran terkawal yang sama. Setiap satu dilabelkan dengan sejauh mana ia telah disahkan.

Salesforce — CRM / OMS

Disahkan menggunakan data ujian

Pesanan / PulanganPesanan / Akaun-Hubungi / Produk2 melalui REST + SOQL; kelayakan pelanggan OAuth.

SAP S/4HANA — ERP

Disahkan menggunakan data ujian

Pesanan jualan / rakan niaga / induk produk melalui perkhidmatan OData A2X; BTP OAuth.

Dinamik 365 — ERP / CRM

Disahkan menggunakan data ujian

Dataverse (CE) disahkan; Kewangan & Operasi dirangka. ID Masuk OAuth.

Manhattan Active Omni — OMS

Dalam pengesahan rakan kongsi reka bentuk

Pesanan / pemulangan / pelanggan; pemetaan dimuktamadkan terhadap Dokumen Pemetaan Antara Muka penyewa anda.

IBM Sterling — OMS

Dalam pengesahan rakan kongsi reka bentuk

getOrderList / pemulangan melalui sampul surat REST API; kod status dikonfigurasikan pada saluran paip anda.

Disahkan menggunakan data ujian: pemetaan telah dibina dan diuji berdasarkan API yang diterbitkan oleh pembekal; pemetaan disahkan dan diperakukan dalam persekitaran sebenar semasa pelaksanaan pertama anda. Dalam pengesahan bersama rakan reka bentuk: pemetaan dimuktamadkan berdasarkan dokumen integrasi penyewa anda semasa proses persediaan. Sistem yang tidak disenaraikan di sini boleh disepadukan terus melalui API di bawah.

Pengayaan data pelanggan & pemasaran

Keupayaan berasingan daripada penangkapan pesanan: sambungkan platform tempat profil pelanggan anda sudah berada, dan Flash memperkayakan setiap e-mel pada masa penghantaran dengan ciri setiap penerima (nama, peringkat kitaran hayat, atribut tersuai). Ia adalah carian baca sahaja melalui e-mel — ia tidak pernah mencipta ahli atau mendedahkan PII. Konfigurasikan sambungan dalam Data & Integrasi, dan setiap sambungan diperiksa kesihatannya terhadap kelayakan langsung anda sebaik sahaja anda menyimpannya.

CDP

Salesforce Awan Data · Segmen · Adobe Platform Pengalaman

CRM

HubSpot · Microsoft Dynamics 365

Pemasaran

Braze · Klaviyo · Boleh diulang

Pengesahan ialah skema setiap vendor sendiri — kunci API, kunci persendirian atau kelayakan klien OAuth2 (untuk yang OAuth Flash mengambil token akses baharu setiap larian, jadi tiada pembawa tahan lama disimpan). Kelayakan disulitkan semasa rehat dan tidak akan ditunjukkan lagi.

POS

Integrasi titik jualan

Daftar menukar pembelian kepada nilai kesetiaan dalam satu panggilan: siarkan jualan sebagai pesanan dan SocialHub menyelesaikan ahli (mengikut externalId, e-mel atau memberId anda) dan memberikan mata mengikut peraturan perolehan program sendiri. Cari atau cipta ahli mengikut kunci anda sendiri apabila anda perlu.

Anugerah atas jualan (selepas pesanan)

// 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).

Cari atau cipta ahli

// 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)

Tebus kupon di kaunter

// 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")

Baca kembali baki, peringkat dan kupon ahli dengan DAPATKAN /members/{id}/points, /tier dan /coupons untuk ditunjukkan kepada mereka di kaunter daftar.

OMS

Integrasi pengurusan pesanan

Untuk platform e-dagang dengan penyambung asli (Shopify, Amazon, TikTok Shop), hidupkannya dan anda sudah selesai. Untuk sebarang sistem pengurusan pesanan lain, siarkan peristiwa pesanan anda ke Pesanan API — ingest auto-anugerah mengikut peraturan program dan bayaran balik mata cakar kembali secara berkadaran. OMS anda memacu panggilan (tiada webhook masuk diperlukan).

Pesanan mendapat pulangan; bayaran balik mendapat pulangan

// 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).

Belum menjadi ahli? Pulangan ingest diberikan:0 / reason:not-seorang-ahli (tidak akan dicipta secara automatik). Daftarkan mereka dengan POST /members dahulu apabila anda mahu pesanan itu diperoleh.

ERP

ERP & penyepaduan data induk

Kekalkan kesetiaan sejajar dengan sistem rekod anda dalam kedua-dua arah: tolak kedai dan induk ahli anda (idempoten upsert oleh externalId anda), kemudian rujuk secara berperingkat dengan ?updatedSince= supaya setiap penyegerakan hanya menarik apa yang berubah.

Tolak ketua kedai

// 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.

Tolak ahli & rujuk secara berperingkat

// 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.

Tekan katalog produk (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

Kelompok ≤100/panggilan (207 Berbilang Status, keputusan setiap item); patuhi had kadar setiap kunci dan jalankan penyegerakan semula penuh di luar waktu puncak. Import katalog dikuasai secara luaran — SocialHub tidak pernah menulis produk kembali ke ERP anda.

Pengesahan, skop & keselamatan

Kekunci skop penyewa

Setiap panggilan membawa kunci fl_live_ yang terikat kepada satu pasukan. Kunci tidak pernah merentasi penyewa; cipta kunci berasingan setiap penyepaduan supaya anda boleh memutarkan satu tanpa menyentuh yang lain.

Pratetap baca vs tulis

Kerja penyelarasan menggunakan kunci baca sahaja. Berikan skop tulis sahaja kepada laluan POS/OMS yang memberikan mata atau menebus kupon — keistimewaan paling rendah setiap sistem.

Kekunci Idempotensi

Hantar pengepala Idempotency-Key pada penulisan (pesanan dibawa sendiri externalOrderId (juga). Panggilan yang dicuba semula memainkan semula hasil asal; kunci yang sama dengan muatan yang berbeza ditolak — satu jualan tidak akan diberikan dua kali.

Diaudit secara lalai

Setiap panggilan API direkodkan dan kelihatan di bawah Kekunci API → aktiviti terkini, jadi penulisan integrasi sentiasa boleh dikesan kepada kunci.

Rujukan titik akhir penuh: REST API · Mula Pantas · MCP (metrik ke dalam BI)

Mengintegrasikan sistem bahagian belakang?

Bercakap dengan jurutera tentang POS/OMS/ERP anda, identiti ahli di kaunter daftar, pengendalian pemulangan atau kerja penyelarasan.

Bercakap dengan jurutera