SAP BTP (platform)

SAP Business Technology Platform is a generic integration platform, not a single API. VMS Agent treats it as a connectivity fabric — fronting backend systems via API Management, resolving targets via Destinations, authenticating with XSUAA, and receiving callbacks via Event Mesh.

Reference
API at a glance

The public API facts VMS Agent's adapter relies on. Tenant-specific details (custom fields, picklists, approval chains) are confirmed during connection and folded into the MappingProfile.

AuthenticationOAuth 2.0 via XSUAA. A service key yields clientid / clientsecret / url, then {url}/oauth/token with client_credentials.
API styleMixed — OData V2 (Cloud Integration management), REST/JSON (Destination), REST/OData/SOAP proxies (API Management), AMQP/MQTT/REST (Event Mesh)
Base URLhttps://{subaccount}-tmn.{region}.hana.ondemand.com/api/v1/... (tenant + region specific)
ObjectsIntegration iFlows (IntegrationDesigntimeArtifacts / RuntimeArtifacts), API Proxies / Products, Destinations, Event Mesh queues / topics / webhooks
Events / webhooksYes — Event Mesh (AMQP 1.0 / MQTT 3.1.1 / HTTP-REST) supports webhook delivery; Advanced Event Mesh for high-throughput streaming. Push + poll.
Rate limitsNo platform-wide figure; API Management is itself the rate-limiter (Quota / Spike Arrest policies you configure). Per service plan.
Readiness
Docs confidence: Public

“Docs confidence” describes how deterministic our mapping templates can be before we connect to a tenant. Even with public docs, implementations vary — especially around custom fields, approval flows and object extensions.

Deterministic mapping

Common Workforce Model fields map to known API fields. Best for standard objects (requisitions, assignments, timesheets, POs).

Tenant discovery

VMS Agent can scan tenant configuration (custom fields, picklists, required fields) where the platform permits it, then generate a tenant‑specific MappingProfile.

Enrichment loop

If the target platform requires a field the Intent record doesn't yet have, VMS Agent emits an enrichment_request back to the intake layer.

Mapping
Minimum viable mapping for SAP BTP

An opinionated baseline. The platform adapter enforces additional requirements via preflight. “Tenant required” fields are discovered during connection and added to the MappingProfile.

Object Canonical fields Platform target Required status Notes
Destination (resolve)
Find the backend
target_system_name /destination-configuration/v1/destinations/{name} Required Resolves URL + auth at runtime
iFlow (publish)
Map + deliver
canonical payload Cloud Integration iFlow endpoint Tenant build Field mapping happens inside the iFlow
Event subscription
Back-sync
topic / queue Event Mesh webhook Optional Receives backend status callbacks
Idempotency & drift — publish + reconcileExpand

Publish operations are idempotent using a deterministic key {intent_id}-{intent_version}-{target_system}. Because humans can change records inside the platform, VMS Agent supports reconciliation: it compares the platform record snapshot to the canonical intent and flags drift.

Tenant specifics
Custom fields & unique mapping

Real deployments rely on program-specific custom fields (for compliance, approvals, GL coding, rate rules or supplier constraints). VMS Agent is designed to generate tenant‑specific mappings rather than forcing you to redesign your intake.

How scanning works

High-level flow

connect_destination() → read required fields + picklists (where permitted) → detect custom fields / extensions → build MappingProfile + validation rules → preflight intent against tenant requirements

What gets produced

Portable artefacts

MappingProfile (tenant-scoped) Capabilities matrix Required-field rules Picklist dictionaries Enrichment prompts Audit spine links (defence_file_ref)
Important — where this platform is tenant-definedExpand

Public docs, account-gated provisioning (global account to subaccount to service instances + keys). Hostnames embed tenant + region. A free / trial tier and the Business Accelerator Hub sandbox are available. For VMS use, front each backend behind API Management + Destinations + Event Mesh.

Next
Implement the adapter

Use this page alongside the API + Schemas docs to implement: destination connection, preflight validation, publish, webhook back-sync and reconciliation.