Integración de POS, OMS y ERP
Integre los sistemas que ya utiliza (punto de venta, gestión de pedidos y ERP) con el programa de fidelización de SocialHub. Configure un conector administrado para SAP, Dynamics 365, Manhattan Active Omni, IBM Sterling o Salesforce en la aplicación, o integre cualquier otro sistema mediante el mismo conector gobernado v2 REST API, autenticado con una clave de inquilino, con ámbito por punto final y auditado en cada llamada.
Un API, tres tipos de sistemas
Todas las integraciones a continuación son la versión 2 (REST API) a través de HTTPS con una clave de inquilino Authorization: Bearer fl_live_…. Usa una clave de solo lectura para la conciliación y una clave con permisos de escritura solo donde otorgues puntos o canjees cupones. Para plataformas de comercio electrónico (Shopify, Amazon, TikTok Shop), se recomienda usar los conectores de canal nativos; esta guía es para sistemas que no los tienen.
Punto de venta
Convierte una compra en tienda en puntos de fidelización: acumula puntos con la venta y canjea cupones en caja.
OMSGestión de pedidos
Permita que los pedidos en línea y omnicanal generen ganancias (y que las devoluciones se recuperen) vinculadas a sus identificadores de pedido.
ERPPlanificación de recursos empresariales
Actualiza tu tienda y el maestro de miembros (inserción/actualización por tu externalId) y concilia incrementalmente con tu sistema de registro.
Conectores gestionados
Para cinco sistemas empresariales, no escribe ninguna integración: configure una conexión en Datos e integraciones (punto final + credenciales cifradas), verifíquela y ejecute un ensayo. Cada conector normaliza los pedidos, los clientes y los productos del proveedor y los conduce a través del mismo API documentado a continuación: los mismos alcances, la misma idempotencia, la misma tubería gobernada. Cada uno está etiquetado con hasta qué punto se ha validado.
Salesforce — CRM/OMS
Validado con datos de pruebaPedido / Devolución / Contacto de cuenta / Producto2 mediante REST + SOQL; credenciales de cliente OAuth.
SAP S/4HANA — ERP
Validado con datos de pruebaPedidos de venta / socios comerciales / datos maestros de productos a través de los servicios OData A2X; autenticación BTP OAuth.
Dynamics 365 — ERP / CRM
Validado con datos de pruebaDataverse (CE) validado; Andamiaje de Finanzas y Operaciones. Ingrese ID OAuth.
Manhattan Active Omni — OMS
En la validación del socio de diseñoPedido/devolución/cliente; asignaciones finalizadas según el documento de asignación de interfaz de su inquilino.
IBM Sterling — OMS
En la validación del socio de diseñogetOrderList / devoluciones a través del sobre REST API; códigos de estado configurados para su canalización.
Validado con datos de prueba: las correspondencias se han creado y comprobado con la API publicada por el proveedor; se validan y confirman en el entorno real durante su primer despliegue. En validación con un socio de diseño: las correspondencias se finalizan durante la incorporación según el documento de integración de su inquilino. Los sistemas que no aparecen aquí se integran directamente mediante la API siguiente.
Enriquecimiento de datos de clientes y marketing
Una capacidad separada de la captura de pedidos: conecte la plataforma donde ya se encuentran los perfiles de sus clientes y Flash enriquece cada correo electrónico en el momento del envío con características por destinatario (nombre, etapa del ciclo de vida, atributos personalizados). Es una búsqueda de solo lectura por correo electrónico: nunca crea miembros ni expone PII. Configure una conexión en Datos e integraciones y cada conexión se verificará con sus credenciales activas en el momento en que la guarde.
CDP
Salesforce Nube de datos · Segmento · Adobe Plataforma de experiencia
CRM
HubSpot · Microsoft Dinámica 365
Marketing
Braze · Klaviyo · Iterable
La autenticación es el esquema de cada proveedor: una clave API, una clave privada o credenciales de cliente OAuth2 (para las de OAuth, Flash obtiene un nuevo token de acceso en cada ejecución, por lo que no se almacena un portador de larga duración). Las credenciales se cifran en reposo y nunca se vuelven a mostrar.
Integración en el punto de venta
El registro convierte una compra en valor de fidelización en una sola llamada: registre la venta como un pedido y SocialHub resuelve el miembro (por su externalId, correo electrónico o memberIdy otorga puntos según las reglas de acumulación del programa. Busca o crea el miembro con tu propia clave cuando lo necesites.
Premio por venta (después del pedido)
// 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).Buscar o crear el miembro
// 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)Canjear un cupón en la caja
// 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")Consulta el saldo, el nivel y los cupones de un miembro con GET /members/{id}/points, /tier y /coupons para mostrarlos en la caja.
Integración de la gestión de pedidos
Para plataformas de comercio electrónico con conector nativo (Shopify, Amazon, TikTok Shop), actívalo y listo. Para cualquier otro sistema de administración de pedidos, publique los eventos de sus pedidos en Órdenes API: ingiera premios automáticos según las reglas del programa y reembolse puntos de garra proporcionalmente. Su OMS gestiona las llamadas (no se necesita un webhook entrante).
Los pedidos ganan; los reembolsos se recuperan
// 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).¿Aún no eres miembro? Devoluciones de ingesta otorgadas: 0 / reason:not-un-miembro (nunca se crea automáticamente). Inscríbelos con POST /members Primero, cuando quieras que el pedido genere ganancias.
Integración de ERP y datos maestros
Mantenga la lealtad alineada con su sistema de registro en ambas direcciones: impulse su tienda y maestro de miembros (upsert idempotente por su externalId), luego conciliar incrementalmente con ?updatedSince= por lo que cada sincronización solo descarga lo que ha cambiado.
Empuja al maestro de la tienda
// 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.Empujar a los miembros y reconciliarlos de forma incremental
// 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.Impulsa el catálogo de productos (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 · /brandsProcesamiento por lotes ≤100/llamada (207 resultados multiestado por artículo); respeta el límite de tasa por clave y realiza resincronizaciones completas fuera de las horas pico. La importación del catálogo se realiza externamente: SocialHub nunca escribe productos en tu ERP.
Autenticación, alcances y seguridad
Claves con ámbito de inquilino
Cada llamada tiene una clave fl_live_ vinculada a un equipo. Las claves nunca se comparten entre inquilinos; cree claves separadas por integración para poder rotar una sin afectar a las demás.
Ajustes predefinidos de lectura y escritura
Los trabajos de conciliación utilizan una clave de solo lectura. Otorgue un alcance de escritura solo a la ruta POS/OMS que otorga puntos o canjea cupones: privilegio mínimo por sistema.
Clave de idempotencia
Envía una cabecera Idempotency-Key en las escrituras (las órdenes también llevan su propio externalOrderId). Un reintento reproduce el resultado original; la misma clave con una carga útil diferente se rechaza: una venta nunca se adjudica dos veces.
Auditado por defecto
Cada llamada API se registra y es visible en API Claves → actividad reciente, por lo que las escrituras de una integración siempre se pueden rastrear hasta una clave.
Referencia completa del punto final: REST API · Inicio rápido · MCP (métricas en BI)
¿Integrando un sistema backend?
Consulta con un ingeniero sobre tu sistema POS/OMS/ERP, la identificación de clientes en caja, la gestión de devoluciones o las tareas de conciliación.
hablar con ingenieria