Endpoint Services
REST API & SAP OData integration design specification for exchanging delivery, material master, and inventory data between customer systems and Solve Cloudmunk.
Introduction
This document provides the design specifications for the REST/OData-based endpoints used to exchange delivery, material master, and inventory information between the customer application and Solve Cloudmunk.
The interfaces covered in this document support the integration of the following business objects:
| Business object | Covers |
|---|---|
| Delivery Header & Item Details | Delivery document information, ship-to party details, delivery status information, and item-level details such as material, batch, quantities, and picking status. |
| Material Master Details | Material and plant-specific information, including base unit of measure, pallet quantity, and packaging product group. |
| Inventory Details | Material stock information by batch, plant, storage location, and storage bin — including unrestricted-use, quality inspection, and blocked stock, plus batch data such as manufacture date and shelf-life expiration date. |
Each endpoint specification in this document is organized into three sections:
Authorization (OAuth 2.0)
All REST API endpoints use OAuth 2.0 for authentication and authorization.
Manage Client CredentialsDelivery Header & Item Upload API
Used by the customer application to push Delivery Header and Delivery Item information to Solve Cloudmunk. A single request can contain one Delivery Header and one or more Delivery Items belonging to the same delivery document.
Sample request payload
{
"Header": {
"Delivery": "8000012345",
"ShipPoint": "1710",
"ShiptoParty": "1000001234",
"ShiptoPartyName": "ABC Retail",
"ShiptoPartyCity": "Atlanta",
"OverallPickStatus": "A",
"OverallPackStatus": "A",
"OverallGMStatus": "A"
},
"Items": [
{
"Delivery": "8000012345",
"Item": "000010",
"Material": "MAT10001",
"Description": "Soft Drink 500ml",
"Batch": "BATCH001",
"DeliveryQty": 120.000,
"PickedQty": 120.000,
"PickStatus": "C",
"UOM": "EA"
},
{
"Delivery": "8000012345",
"Item": "000020",
"Material": "MAT10002",
"Description": "Orange Juice",
"Batch": "BATCH002",
"DeliveryQty": 50.000,
"PickedQty": 48.000,
"PickStatus": "B",
"UOM": "EA"
}
]
}
Response fields
| Field | Description |
|---|---|
Delivery | Delivery document number |
Status | Overall processing status |
Message | Overall processing message |
TotalItems | Number of items received |
SuccessfulItems | Number of items successfully processed |
FailedItems | Number of items failed |
ItemResults | Processing result for each delivery item |
ItemResults[].Item | Delivery item number |
ItemResults[].Processed | Open, Completed, or Error |
ItemResults[].Message | Success or error message |
Sample response
{
"Delivery": "8000012345",
"Status": "Completed",
"Message": "Delivery uploaded successfully",
"TotalItems": 2,
"SuccessfulItems": 2,
"FailedItems": 0,
"ItemResults": [
{ "Item": "000010", "Processed": "Completed", "Message": "Item processed successfully." },
{ "Item": "000020", "Processed": "Completed", "Message": "Item processed successfully." }
]
}
Material Master Upload API
Submits material master-related information required by Solve Cloudmunk — the material number, plant, base unit of measure, logistics execution quantity per pallet, and packaging product group.
Sample request payload
{
"Plant": "1710",
"Date": "2026-07-21",
"Time": "14:30:25",
"Material": "MAT10001",
"PalletQty": 48,
"BaseUOM": "EA",
"PackagingTypeCategory": "P001"
}
Response
{
"Material": "MAT10001",
"Plant": "1710",
"Status": "Completed",
"Message": "Material Master record sent successfully."
}
{
"Material": "MAT10001",
"Plant": "1710",
"Status": "Error",
"Message": "Material Master record could not be processed",
"ErrorMessage": "Invalid Packaging Product Group."
}
Inventory Details API
Submits inventory stock information for a material at a specific plant and storage location — batch-specific stock quantities, storage-bin information, and stock split across unrestricted-use, quality inspection, and blocked categories. Also carries batch data: manufacture date and shelf-life expiration date.
Sample request payload
{
"Material": "MAT10001",
"Batch": "BATCH001",
"Plant": "1710",
"StorageLocation": "171A",
"StorageBin": "BIN-A-001",
"Unrestricted": 1250.000,
"QualInspection": 50.000,
"Blocked": 10.000,
"ManufactureDate": "2026-07-01",
"SLED": "2027-07-01"
}
Response
{
"Material": "MAT10001",
"Batch": "BATCH001",
"Plant": "1710",
"StorageLocation": "171A",
"Status": "Completed",
"Message": "Inventory record processed successfully."
}
{
"Material": "MAT10001",
"Batch": "BATCH001",
"Plant": "1710",
"StorageLocation": "171A",
"Status": "Error",
"Message": "Inventory record could not be processed.",
"ErrorMessage": "Invalid storage location or material."
}
Standard OData Services
The endpoint APIs use data retrieved from standard SAP OData services to populate the required Delivery, Material Master, and Inventory data structures. SAP OData services act as the source of business data; Cloudmunk endpoint APIs provide the interface through which that data is exchanged with the customer application.
| Business object | SAP OData service | Purpose |
|---|---|---|
| Delivery Details | API_OUTBOUND_DELIVERY_SRV | Retrieves outbound delivery header and item information — delivery status, material, batch, quantity, plant, unit of measure. |
| Product Master | API_PRODUCT | Retrieves product-related information — unit of measure and packaging product group. |
| Batch Master | API_BATCH_SRV | Retrieves batch-related information — manufacture date and shelf-life expiration date. |
| Inventory Details | API_MATERIAL_STOCK_SRV | Retrieves material stock information by material, batch, plant, storage location, and stock category. |
Integration & data mapping
Data obtained from standard SAP OData services is extracted, transformed, and mapped to the request payload structure required by the corresponding Cloudmunk REST endpoint before transmission to Solve.
Delivery data → Delivery Upload API · Material & Batch data → Material Master Upload API · Stock data → Inventory Upload API
Delivery Details Mapping API_OUTBOUND_DELIVERY_SRV
Provides the delivery information required to populate both the Delivery Header and Delivery Item sections of the Delivery Upload API.
Header mapping
| Payload field | Description | SAP OData field |
|---|---|---|
Delivery | Delivery number | Delivery Document |
ShipPoint | Shipping point | ShippingPoint |
ShiptoParty | Ship-to party number | ShipToParty |
ShiptoPartyName | Ship-to party name | FullName (Business Partner) |
ShiptoPartyCity | Ship-to party city | CityName (Business Partner) |
OverallPickStatus | Overall picking status | OverallPickingStatus |
OverallPackStatus | Overall packing status | OverallPackingStatus |
OverallGMStatus | Overall goods movement status | OverallGoodsMovementStatus |
Item mapping
| Payload field | Description | SAP OData field |
|---|---|---|
Delivery | Delivery number | Delivery Document |
Item | Delivery item number | DeliveryDocumentItem |
Material | Material number | Material |
Description | Material description | DeliveryDocumentItemText |
Batch | Batch number | Batch |
DeliveryQty | Delivery quantity | OriginalDeliveryQuantity |
UOM | Base unit of measure | BaseUnit |
Product Master Mapping API_PRODUCT
Provides the product unit-of-measure and packaging information required to populate the Material Master Upload API.
| Payload field | Description | SAP OData field |
|---|---|---|
Material | Material number | Product |
PalletQty | Quantity per pallet | _ProductUnitOfMeasure/QuantityNumerator |
PackagingTypeCategory | Packaging product group | PackagingProductGroup |
BaseUOM | Base unit of measure | Base Unit of Measure (API_PRODUCT or Delivery Details) |
Batch Master Mapping API_BATCH_SRV
Provides batch dates required for inventory tracking and shelf-life management. Combined with stock information and mapped to the Inventory Upload API.
| Payload field | Description | SAP OData field |
|---|---|---|
Material | Material number | Product |
Batch | Batch number | Batch |
ManufactureDate | Date of manufacture | ManufactureDate |
SLED | Shelf-life expiration date | ShelfLifeExpirationDate |
Material Stock Mapping API_MATERIAL_STOCK_SRV
Provides stock quantities by material, batch, plant, storage location, and inventory stock category. Quantity is classified into the endpoint payload field based on inventory stock type, and is retrieved from MatlWrhsStkQtyInMatlBaseUnit.
| Payload field | Description | SAP OData field |
|---|---|---|
Material | Material number | Material |
Batch | Batch number | Batch |
Plant | Plant number | Plant |
StorageLocation | Storage location | StorageLocation |
Unrestricted | Unrestricted-use stock | MatlWrhsStkQtyInMatlBaseUnit · SpecialStockType=blank, StockType=01 |
QualInspection | Quality inspection stock | MatlWrhsStkQtyInMatlBaseUnit · SpecialStockType=blank, StockType=02 |
Blocked | Blocked stock | MatlWrhsStkQtyInMatlBaseUnit · SpecialStockType=blank, StockType=07 |
Inventory Stock Mapping Combined sources
The Inventory Upload API combines information from multiple SAP OData services. Stock information is retrieved first from API_MATERIAL_STOCK_SRV; corresponding batch information is then retrieved from API_BATCH_SRV where applicable, and consolidated into a single payload.
| Inventory payload field | Source |
|---|---|
| Material | API_MATERIAL_STOCK_SRV |
| Batch | API_MATERIAL_STOCK_SRV |
| Plant | API_MATERIAL_STOCK_SRV |
| Storage Location | API_MATERIAL_STOCK_SRV |
| Unrestricted Stock | API_MATERIAL_STOCK_SRV |
| Quality Inspection Stock | API_MATERIAL_STOCK_SRV |
| Blocked Stock | API_MATERIAL_STOCK_SRV |
| Manufacture Date | API_BATCH_SRV |
| Shelf-Life Expiration Date | API_BATCH_SRV |
Endpoint Payload Mapping
Summary of the relationship between standard SAP OData services and the Cloudmunk endpoint APIs. This source-to-target mapping ensures endpoint payloads are populated using standardized SAP OData services and that required business information is consistently transferred to Cloudmunk.
| Cloudmunk endpoint | Primary SAP OData service | Supporting SAP OData service |
|---|---|---|
| Delivery Upload | API_OUTBOUND_DELIVERY_SRV | Business Partner Data, where applicable |
| Material Master Upload | API_PRODUCT | API_OUTBOUND_DELIVERY_SRV, where applicable |
| Inventory Upload | API_MATERIAL_STOCK_SRV | API_BATCH_SRV |
HTTP Status Codes
Standard response codes returned by the Cloudmunk endpoint APIs.