External IDs
External IDs explain how SyncHive represents and correlates the same business record across multiple external systems (for example, Shopify and SAP S/4HANA), while maintaining a single canonical identifier internally.
Core Concepts
Hive ID
-
Every record stored in SyncHive is assigned exactly one internal identifier, called
hiveId -
hiveIdis stable and system‑wide
External ID (externalId)
-
External systems identify records using their own identifiers
-
SyncHive stores these identifiers in the externalId field
-
a single SyncHive record may have multiple external IDs coming from one or more external systems
-
Each external ID is always associated with a specific integration (identified by
integrationKey)
Data in Different Systems
Consider the following product message produced by a Shopify integration:
{
"meta": {
"integrationKey": "shopify_nz_integration",
"shape": "Product"
},
"data": {
"externalId": ["90la078s93498"],
"sales order": "123-456",
"description": "Test Product 20250101 Toaster version 2",
"name": "Test Product 20250101"
}
//...
}
This means:
-
The product record has been stored in the external system connected via the integration with key
shopify_nz_integration -
Shopify identifies this product using the external ID `90la078s93498'
Now consider a message for the same product coming from SAP S/4HANA:
{
"meta": {
"integrationKey": "SapS4",
"shape": "Product"
},
"data": {
"externalId": ["MAT-47110823"],
"sapMaterialNumber": "47110823",
"sapMaterialDescription": "Electric Toaster - Stainless Steel",
"sapMaterialGroup": "APPLIANCES_SMALL"
}
//...
}
This means:
-
The product record has been stored in the external system connected via the integration with key
SapS4 -
SAP identifies this product using the external ID
MAT-47110823
Single Product, Multiple External IDs
Although the Shopify and SAP messages originate from different systems and use different identifiers, SyncHive can resolve both messages to the same product record.
Internally, SyncHive assigns a single hiveId to that product, for example:
"hiveId": "D6BFA0AB71A1"
How Records Appear in Explorer
The SyncHive Explorer always shows external IDs in the context of the currently selected integration.
Filtered by shopify_nz_integration
{
"meta": {
"integrationKey": "shopify_nz_integration",
"shape": "Product"
},
"data": {
"hiveId": "D6BFA0AB71A1",
"externalId": ["90la078s93498"],
"description": "Test Product 20250101 Toaster version 2",
"name": "Test Product 20250101"
}
//...
}
Filtered by SapS4
{
"meta": {
"integrationKey": "SapS4",
"shape": "Product"
},
"data": {
"hiveId": "D6BFA0AB71A1",
"externalId": ["MAT-47110823"],
"sapMaterialNumber": "47110823",
"sapMaterialDescription": "Electric Toaster - Stainless Steel",
"sapMaterialGroup": "APPLIANCES_SMALL"
}
//...
}
Identity Correspondence
The relationship between the various identifiers can be summarised as follows:
The correspondence between the various IDs is as follows:
SyncHive (hiveId) | Shopify | SAP |
|---|---|---|
D6BFA0AB71A1 | 90la078s93498 | MAT-47110823 |
External IDs are a mechanism SyncHive uses to track the same logical record across multiple external systems.
Collecting External IDs
An external ID is added to a record whenever either of the following occurs:
-
A record is created in SyncHive by an integration for the first time (the document does not yet exist in SyncHive), or
-
A record is published from SyncHive into an external system for the first time by an integration
Each integration is responsible for reporting the external identifier assigned by its system.
Example Lifecycle
-
A sales order is created in SAP with primary key
30009396. -
The SAP integration detects the order creation in SAP, and creates a record, D, which includes the SAP external ID:
{
"meta": {
"integrationKey": "SapS4",
"shape": "Product"
},
"data": {
"externalId": ["MAT-47110823"],
"sapMaterialNumber": "47110823",
"sapMaterialDescription": "Electric Toaster - Stainless Steel",
"sapMaterialGroup": "APPLIANCES_SMALL"
}
//...
}
-
SyncHive stores D and assigns it a
hiveIdofD6BFA0AB71A1. -
SyncHive publishes D to Shopify.
-
Shopify creates the corresponding record with ID
123-456. -
The Shopify integration reports this new external ID back to SyncHive.
At this point, D has:
-
One
hiveId -
Multiple external IDs (one per external system)
Key Rules
-
A record has exactly one
hiveId -
A record may have many
externalIdvalues -
Each external ID is always scoped to a specific integration
-
External IDs allow SyncHive to reconcile, publish, and re‑ingest data across systems without duplication