.png)
Oracle Primavera Cloud Integration Guide
Integrate Oracle Primavera Cloud with enterprise systems through its REST APIs, OAuth-based authentication, scheduled synchronization, and Martini workflows.
Oracle Primavera Cloud integration options at a glance
Oracle Primavera Cloud provides REST APIs as its primary confirmed programmatic integration mechanism. Martini can authenticate with OAuth access tokens, retrieve or update supported Workspaces, Projects, Activities, Issues, Risks, and Resources, and orchestrate scheduled synchronization workflows. Because a general-purpose webhook facility, current bulk API, file API, GraphQL API, and SOAP API were not confirmed, integrations should normally use paginated REST requests, incremental selection, stored checkpoints, and controlled retries. Martini can transform Primavera Cloud payloads into ERP, reporting, collaboration, or service-management models, and can expose a separate REST API for controlled access to normalized project data.
Common Oracle Primavera Cloud integration patterns
Common Oracle Primavera Cloud data objects used in integrations
Authentication and security considerations
OAuth-based access
Oracle Primavera Cloud API requests use OAuth-based access tokens. The integration application and Primavera Cloud user permissions determine which workspaces, projects, and functional areas are available.
Least-privilege configuration
Use an integration user with only the workspace, project, and functional permissions required by the workflows. Test with production-equivalent permissions before deployment.
Secure environment configuration
- Store tenant URLs, OAuth client configuration, scopes, and secrets in Martini secure environment configuration.
- Do not embed credentials or access tokens in workflow mappings or payloads.
- Separate development, test, and production credentials and endpoints.
Operational considerations for Oracle Primavera Cloud integrations
Pagination and checkpoints
Project, activity, issue, risk, and resource collections may span multiple pages. Follow the API pagination model and persist progress so partial failures do not require unsafe full reloads.
Incremental synchronization
Use supported timestamps, status filters, or comparison logic to reduce unnecessary reads. Store source identifiers, target identifiers, synchronization times, and useful version or hash values.
Retries and idempotency
Use bounded backoff for transient failures, limit concurrency for large projects, and separate retryable errors from validation and permission failures. Avoid retrying non-idempotent creates without duplicate-prevention controls.
Data ownership and semantics
Define authoritative ownership for schedule dates, activity status, financial attributes, issue status, and risk information. Normalize time zones, calendars, durations, and status values before cross-system updates.
API and tenant changes
Confirm resource-level operations, rate limits, scopes, and field availability against the current Oracle API reference. Use tolerant parsing while explicitly validating required fields and monitor for API-version changes.
Why use Martini instead of scripts or point-to-point integrations?
Centralized orchestration
Martini coordinates authentication, REST calls, pagination, transformations, business rules, target writes, and recovery in reusable workflows rather than scattering logic across scripts.
Controlled data movement
Mappings can preserve stable Primavera Cloud identifiers while translating Projects, Activities, Issues, Risks, and Resources into different enterprise data models. Field ownership and validation rules can be maintained separately from vendor-specific API calls.
Operational resilience
Martini supports scheduled execution, checkpointing, retry handling, logging, and controlled replay. This is important when webhooks are not confirmed and synchronization depends on polling.
Reusable APIs
Martini can expose a controlled REST API over normalized project data, allowing downstream applications to consume a stable interface without directly depending on every Primavera Cloud API detail.