How sap-samples/byd-api-samples works
1. This repository is not an application runtime; it is a sample asset pack for SAP Business ByDesign integration testing and learning. The two main artifact types are Postman collections/environments and SAP ByDesign Custom OData Service definitions.
2. The external system boundary is SAP Business ByDesign. All request flows target ByD OData APIs exposed by a tenant, typically a partner demo tenant or another configured ByD system. The repository itself contains no server-side code or executable service.
3. The Postman/ folder is the primary client-side layer. Each .postman_collection.json defines a scenario-driven request sequence, and each matching .postman_environment.json supplies tenant URL, business user credentials, communication user credentials, and test data variables.
4. The collections are organized by business domain rather than technical layer: Analytics, Master Data, Reference Scenarios, Projects, Sales and Commerce Scenarios, Internal Logistics, New Business, and Supplier Invoicing. Each collection models a business process and uses ordered OData calls to create, change, read, and sometimes chain documents across that process.
5. The request flow is orchestrated inside Postman. Collections contain folders and subfolders with sequences of requests, plus pre-request and test scripts. The runner is intended to execute these sequences in order, preserving variable values and avoiding stored cookies so that state is controlled by the environment and prior responses.
6. The Custom OData Services/ folder contains XML service definitions that must be uploaded into ByD before the Postman collections can run. These are not stand-alone services in the repo; they are metadata/configuration artifacts consumed by ByD to expose the custom endpoints used by the sample requests.
7. The custom services are shared infrastructure across multiple collections. Examples include business partner, customer, supplier, employee, project, sales, purchasing, logistics, and analytical entities. This means the repo has a reusable service layer feeding multiple scenario packages rather than one service per sample.
8. The main data flow is: configure ByD tenant and communication arrangements, upload the custom OData services, import the matching Postman collection and environment, then execute the request chain from Postman against the tenant. Request responses provide IDs and state transitions that subsequent requests use to continue the business process.
9. The repository also encodes an important operational boundary: collections and environments must be paired correctly. A collection depends on its corresponding environment for tenant host, credentials, and scenario-specific variables; mixing them breaks the request flow.
10. In architecture-diagram terms, the system is best drawn as three layers: local sample assets in GitHub, the Postman execution client, and the SAP Business ByDesign tenant with OData endpoints and custom services. The repository’s purpose is to demonstrate how business process APIs and document flows are stitched together across those boundaries.
Main entry points: Postman Postman Pack · Custom OData Services Service Pack · Analytics - Data Sources.postman_collection.json Analytics · Master Data.postman_collection.json Master Data
Components 21
Repository
Local sample assets tracked in GitHub
- ByD API Samples · Repository for integration learning assets and business-process scenarios
Postman
Scenario collections and matching environments
- Postman Pack · Client-side request runner assets for scenario execution
Postman - Analytics · Analytics request chains covering data sources, KPIs, and reports
Postman/Analytics - Data Sources.postman_collection.json - Master Data · Master data creation and maintenance scenarios
Postman/Master Data.postman_collection.json - Reference Scenarios · Reference request flows for baseline ByDesign interactions
Postman/Reference Scenarios.postman_collection.json - Projects · Project-related document flows and object handling
Postman/Projects.postman_collection.json - Sales & Commerce · Sales and commerce document flow scenarios
Postman/Sales and Commerce Scenarios.postman_collection.json - Internal Logistics · Internal logistics request chains and follow-on documents
Postman/Internal Logistics.postman_collection.json - New Business · Lead-to-opportunity and new business scenario flows
Postman/New Business.postman_collection.json - Supplier Invoicing · Supplier invoicing and e-invoicing scenarios
Postman/Supplier Invoicing.postman_collection.json - Analytics Env · Tenant URL, credentials, and variables for analytics scenarios
Postman/Analytics.postman_environment.json - Master Data Env · Environment for master data request chains
Postman/Master Data.postman_environment.json - Reference Env · Environment for reference scenarios
Postman/Reference Scenarios.postman_environment.json - Projects Env · Environment for project scenarios
Postman/Projects.postman_environment.json - Sales Env · Environment for sales and commerce scenarios
Postman/Sales and Commerce Scenarios.postman_environment.json - Logistics Env · Environment for internal logistics scenarios
Postman/Internal Logistics.postman_environment.json - New Business Env · Environment for new business scenarios
Postman/New Business.postman_environment.json - Supplier Env · Environment for supplier invoicing scenarios
Postman/Supplier Invoicing - Einvoicing.postman_environment.json
Custom OData
XML service definitions consumed by ByDesign
- Service Pack · Reusable custom OData service metadata uploaded into ByDesign
Custom OData Services
SAP ByD
External Business ByDesign tenant and exposed OData APIs
- ByD Tenant · Target SAP Business ByDesign tenant hosting the business objects
- OData APIs · Tenant-exposed OData endpoints used by the Postman scenarios
Connections 44
- ByD API Samples → Postman Pack: contains · Repository ships Postman scenario assets
- ByD API Samples → Service Pack: contains · Repository ships custom OData service definitions
- Postman Pack → Analytics: organizes · Postman layer groups scenario collections by business domain
- Postman Pack → Master Data: organizes · Postman layer groups scenario collections by business domain
- Postman Pack → Reference Scenarios: organizes · Postman layer groups scenario collections by business domain
- Postman Pack → Projects: organizes · Postman layer groups scenario collections by business domain
- Postman Pack → Sales & Commerce: organizes · Postman layer groups scenario collections by business domain
- Postman Pack → Internal Logistics: organizes · Postman layer groups scenario collections by business domain
- Postman Pack → New Business: organizes · Postman layer groups scenario collections by business domain
- Postman Pack → Supplier Invoicing: organizes · Postman layer groups scenario collections by business domain
- Analytics → Analytics Env: pairs with · Scenario execution depends on matching tenant and variables
- Master Data → Master Data Env: pairs with · Scenario execution depends on matching tenant and variables
- Reference Scenarios → Reference Env: pairs with · Scenario execution depends on matching tenant and variables
- Projects → Projects Env: pairs with · Scenario execution depends on matching tenant and variables
- Sales & Commerce → Sales Env: pairs with · Scenario execution depends on matching tenant and variables
- Internal Logistics → Logistics Env: pairs with · Scenario execution depends on matching tenant and variables
- New Business → New Business Env: pairs with · Scenario execution depends on matching tenant and variables
- Supplier Invoicing → Supplier Env: pairs with · Scenario execution depends on matching tenant and variables
- Analytics → OData APIs: calls · Collections execute ordered OData requests against the tenant
- Master Data → OData APIs: calls · Collections execute ordered OData requests against the tenant
- Reference Scenarios → OData APIs: calls · Collections execute ordered OData requests against the tenant
- Projects → OData APIs: calls · Collections execute ordered OData requests against the tenant
- Sales & Commerce → OData APIs: calls · Collections execute ordered OData requests against the tenant
- Internal Logistics → OData APIs: calls · Collections execute ordered OData requests against the tenant
- New Business → OData APIs: calls · Collections execute ordered OData requests against the tenant
- Supplier Invoicing → OData APIs: calls · Collections execute ordered OData requests against the tenant
- Service Pack → ByD Tenant: upload to · Service metadata must be imported into ByDesign before runs
- ByD Tenant → OData APIs: exposes · Tenant provides the OData API surface used by sample requests
- Analytics Env → ByD Tenant: configures · Environment supplies tenant host and credentials
- Master Data Env → ByD Tenant: configures · Environment supplies tenant host and credentials
- Reference Env → ByD Tenant: configures · Environment supplies tenant host and credentials
- Projects Env → ByD Tenant: configures · Environment supplies tenant host and credentials
- Sales Env → ByD Tenant: configures · Environment supplies tenant host and credentials
- Logistics Env → ByD Tenant: configures · Environment supplies tenant host and credentials
- New Business Env → ByD Tenant: configures · Environment supplies tenant host and credentials
- Supplier Env → ByD Tenant: configures · Environment supplies tenant host and credentials
- Analytics → Service Pack: depends on · Analytics scenarios consume shared custom entities
- Master Data → Service Pack: depends on · Business object scenarios consume shared custom entities
- Reference Scenarios → Service Pack: depends on · Reference scenarios consume shared custom entities
- Projects → Service Pack: depends on · Project scenarios consume shared custom entities
- Sales & Commerce → Service Pack: depends on · Sales scenarios consume shared custom entities
- Internal Logistics → Service Pack: depends on · Logistics scenarios consume shared custom entities
- New Business → Service Pack: depends on · New business scenarios consume shared custom entities
- Supplier Invoicing → Service Pack: depends on · Supplier invoicing scenarios consume shared custom entities