Cloudmunk · Endpoint Services
Solve Technologies · Design Specification

Endpoint Services

REST API & SAP OData integration design specification for exchanging delivery, material master, and inventory data between customer systems and Solve Cloudmunk.

Delivery Material Master Inventory
01· REST-Based Endpoints in 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 objectCovers
Delivery Header & Item DetailsDelivery document information, ship-to party details, delivery status information, and item-level details such as material, batch, quantities, and picking status.
Material Master DetailsMaterial and plant-specific information, including base unit of measure, pallet quantity, and packaging product group.
Inventory DetailsMaterial 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:

01
Endpoint URL
02
Payload
03
Response
Authorization (OAuth 2.0)

Authorization (OAuth 2.0)

All REST API endpoints use OAuth 2.0 for authentication and authorization.

Manage Client Credentials

02· Toc235630542

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

POST https://odata.cloudmunk.com/DeliveryUpload
Content-Type
application/json
Accept
application/json
Authentication
Basic Auth or OAuth (per landscape)

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

FieldDescription
DeliveryDelivery document number
StatusOverall processing status
MessageOverall processing message
TotalItemsNumber of items received
SuccessfulItemsNumber of items successfully processed
FailedItemsNumber of items failed
ItemResultsProcessing result for each delivery item
ItemResults[].ItemDelivery item number
ItemResults[].ProcessedOpen, Completed, or Error
ItemResults[].MessageSuccess 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." }
  ]
}

03· Toc235630553

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.

POST https://odata.cloudmunk.com/MaterialMasterUpload
Content-Type
application/json
Accept
application/json
Authentication
Basic Auth or OAuth (per landscape)

Sample request payload

{
  "Plant": "1710",
  "Date": "2026-07-21",
  "Time": "14:30:25",
  "Material": "MAT10001",
  "PalletQty": 48,
  "BaseUOM": "EA",
  "PackagingTypeCategory": "P001"
}

Response

Success
Error
{
  "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."
}

04· Toc235630564

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.

POST https://odata.cloudmunk.com/InventoryUpload
Content-Type
application/json
Accept
application/json
Authentication
Basic Auth or OAuth (per landscape)

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

Success
Error
{
  "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."
}

05· Toc235630575

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 objectSAP OData servicePurpose
Delivery DetailsAPI_OUTBOUND_DELIVERY_SRVRetrieves outbound delivery header and item information — delivery status, material, batch, quantity, plant, unit of measure.
Product MasterAPI_PRODUCTRetrieves product-related information — unit of measure and packaging product group.
Batch MasterAPI_BATCH_SRVRetrieves batch-related information — manufacture date and shelf-life expiration date.
Inventory DetailsAPI_MATERIAL_STOCK_SRVRetrieves 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 fieldDescriptionSAP OData field
DeliveryDelivery numberDelivery Document
ShipPointShipping pointShippingPoint
ShiptoPartyShip-to party numberShipToParty
ShiptoPartyNameShip-to party nameFullName (Business Partner)
ShiptoPartyCityShip-to party cityCityName (Business Partner)
OverallPickStatusOverall picking statusOverallPickingStatus
OverallPackStatusOverall packing statusOverallPackingStatus
OverallGMStatusOverall goods movement statusOverallGoodsMovementStatus

Item mapping

Payload fieldDescriptionSAP OData field
DeliveryDelivery numberDelivery Document
ItemDelivery item numberDeliveryDocumentItem
MaterialMaterial numberMaterial
DescriptionMaterial descriptionDeliveryDocumentItemText
BatchBatch numberBatch
DeliveryQtyDelivery quantityOriginalDeliveryQuantity
UOMBase unit of measureBaseUnit
Product Master Mapping API_PRODUCT

Provides the product unit-of-measure and packaging information required to populate the Material Master Upload API.

Payload fieldDescriptionSAP OData field
MaterialMaterial numberProduct
PalletQtyQuantity per pallet_ProductUnitOfMeasure/QuantityNumerator
PackagingTypeCategoryPackaging product groupPackagingProductGroup
BaseUOMBase unit of measureBase 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 fieldDescriptionSAP OData field
MaterialMaterial numberProduct
BatchBatch numberBatch
ManufactureDateDate of manufactureManufactureDate
SLEDShelf-life expiration dateShelfLifeExpirationDate
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 fieldDescriptionSAP OData field
MaterialMaterial numberMaterial
BatchBatch numberBatch
PlantPlant numberPlant
StorageLocationStorage locationStorageLocation
UnrestrictedUnrestricted-use stockMatlWrhsStkQtyInMatlBaseUnit · SpecialStockType=blank, StockType=01
QualInspectionQuality inspection stockMatlWrhsStkQtyInMatlBaseUnit · SpecialStockType=blank, StockType=02
BlockedBlocked stockMatlWrhsStkQtyInMatlBaseUnit · 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 fieldSource
MaterialAPI_MATERIAL_STOCK_SRV
BatchAPI_MATERIAL_STOCK_SRV
PlantAPI_MATERIAL_STOCK_SRV
Storage LocationAPI_MATERIAL_STOCK_SRV
Unrestricted StockAPI_MATERIAL_STOCK_SRV
Quality Inspection StockAPI_MATERIAL_STOCK_SRV
Blocked StockAPI_MATERIAL_STOCK_SRV
Manufacture DateAPI_BATCH_SRV
Shelf-Life Expiration DateAPI_BATCH_SRV

06· Toc235630582

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 endpointPrimary SAP OData serviceSupporting SAP OData service
Delivery UploadAPI_OUTBOUND_DELIVERY_SRVBusiness Partner Data, where applicable
Material Master UploadAPI_PRODUCTAPI_OUTBOUND_DELIVERY_SRV, where applicable
Inventory UploadAPI_MATERIAL_STOCK_SRVAPI_BATCH_SRV

07· Appendix

HTTP Status Codes

Standard response codes returned by the Cloudmunk endpoint APIs.

200 OKDelivery uploaded successfully.
201 CreatedDelivery created successfully (if applicable).
400 Bad RequestInvalid payload or mandatory fields missing.
401 UnauthorizedAuthentication failed.
403 ForbiddenUser is not authorized to access the service.
404 Not FoundOData service or endpoint not found.
409 ConflictDelivery already exists or duplicate request detected.
500 Internal Server ErrorUnexpected application or SAP backend error.