SAP inventory.
Connected to Sakneen.
Date: 2026-11-02 · Scope: Phase 1, inventory (units) · Audience: Misr Italia and Sakneen integration teams
Summary
The Phase 1 integration will support create/update notifications and manual synchronization. Misr Italia will POST the unit’s SAP ID and display code to Sakneen. Sakneen will call Misr Italia’s read API to retrieve the full unit document and create or update the unit. The SAP read URLs and authentication details remain to be provided by Misr Italia.
Question for Misr Italia: Are unit records available through your existing SAP OData API? If so, which service and collection support retrieval by one SAP ID and by a list of SAP IDs? If not, which read APIs can you provide for these two operations?
1. Access
-
Base URL:
https://{assigned-host}/external/apis/v1.0. -
Authentication: send an
api-keyheader on every protected request. -
Environments: Sakneen will confirm the sandbox and production hosts and issue environment-specific keys before testing.
-
Misr Italia authentication: provide the authentication method and read-only credentials Sakneen needs to call the single-unit and multiple-unit read APIs.
Sakneen will share the API URL and API key with Misr Italia by email.
Reference: Sakneen authentication.
2. Integration flow
Automatic create and update
Manual synchronization
Phase 1 flow: Misr Italia sends the identifiers; Sakneen then retrieves the full unit document from Misr Italia’s API and creates or updates the unit.
The existing Sakneen POST endpoint queues the submitted data and returns an acceptance response. It does not currently fetch the full document from SAP. The SAP fetch is part of the Phase 1 integration described here.
3. Endpoints
Create or update notification
POST /external/apis/v1.0/units
api-key: <issued by Sakneen>
Content-Type: application/json
{
"recordSystemId": "00163E0A1B2C1EDB8F9A1234567890AB",
"unitId": "A-0101"
}
| Field | Required | Description |
|---|---|---|
recordSystemId |
Yes | The unit’s SAP ID, Please identify the exact source field. It must remain unchanged for the unit. |
unitId |
Yes | Display name or code, such as A-0101. Confirm its mapping and rename behavior. |
The Phase 1 notification contains these two identifiers. Retrieving the full document from SAP is part of the Phase 1 integration to be implemented.
Response and retry contract
-
201 { "ok": true }: the response returned after enqueueing by the reviewed Sakneen implementation. It does not confirm synchronization completion. -
400: invalid request; correct it before retrying. -
401: missing, invalid, or disabled API key. Resolve credentials before retrying. Escalate any403as an access problem. -
429, if returned: respect any retry delay provided. Applicable rate limits must be confirmed. -
Network timeout or
5xx: the retry and duplicate-handling behavior will be confirmed during integration testing.
The deployed sandbox response will be verified during testing. General API reference: Unit management.
Misr Italia read APIs
Sakneen needs two read operations from Misr Italia: retrieve one unit by its SAP ID, and retrieve multiple units by a list of SAP IDs. Can your existing APIs support both? Please share the request URLs, examples, and authentication requirements.
| Operation | Input | Required result |
|---|---|---|
| Get unit by SAP ID | One SAP ID | Full unit document, including all agreed mapped fields |
| Get multiple units by SAP IDs | A list of SAP IDs | Full unit documents for the requested SAP IDs, with missing IDs identifiable |
The multiple-SAP-ID read is intended for manual synchronization initiated from Sakneen. Request limits, pagination, and missing-record behavior must be confirmed by Misr Italia.
4. Information requested from Misr Italia
- The API URL and request example to retrieve a full unit document by SAP ID.
- The API URL and request example to retrieve full unit documents by a list of SAP IDs.
- The authentication method and read-only access required for these APIs.
- A sample full unit response, identifying the SAP ID and the unit’s display code.
- Definitions of the returned fields, status values, currency, and area units. Please identify how project, phase, building, and payment-plan pricing are represented, where applicable.
- Details of how SAP will send create/update notifications to Sakneen.
API questions: Is there a maximum number of SAP IDs per request? Are results paginated? How are missing SAP IDs returned? Are there rate limits or IP restrictions? Does the response include a last-updated timestamp or version?
OData question: Can the existing SAP APIs support both reads, or is additional configuration needed?
5. Next steps
-
Misr Italia shares the API information requested in section 4.
-
Sakneen shares its POST API URL and API key with Misr Italia by email.
-
Both teams test a unit notification, retrieval of the full unit document, and manual sync using SAP IDs.
-
After successful testing, both teams enable the integration in production.