What type of API does Oracle provide?
REST APIs
Oracle provides REST APIs as a key part of their API offerings. Some key points about Oracle's REST APIs:
- REST (Representational State Transfer) is a widely used architectural style for building web services and APIs.
- Oracle REST Data Services enables exposing database objects as REST APIs.
- REST APIs use HTTP methods like GET, POST, PUT, DELETE to perform actions on resources identified by URLs.
- They are designed to be lightweight, flexible and easy to use.
GraphQL APIs
Oracle also supports GraphQL APIs:
- Oracle REST Data Services includes GraphQL functionality to fetch data from Oracle databases using GraphQL queries.
- GraphQL allows requesting specific data rather than getting fixed data sets from endpoints.
- It provides more control over the data retrieved and makes evolving APIs easier.
SOAP APIs
While less common now, Oracle still supports SOAP APIs in some cases:
- SOAP (Simple Object Access Protocol) uses XML for message formatting.
- It relies on other protocols like HTTP for message transmission.
- SOAP APIs are sometimes used for enterprise applications needing high security and reliability.
Key Considerations
- REST is the most common API style used with Oracle currently, providing a good balance of simplicity and flexibility.
- GraphQL is gaining popularity for more complex data fetching needs.
- SOAP is still supported but less commonly used for new API development with Oracle.
- The choice depends on specific requirements around data complexity, security needs, and integration scenarios.
In summary, Oracle supports multiple API types to meet different use cases, with REST and GraphQL being the most prominent modern options, while still maintaining some SOAP support.
Does the Oracle API have webhooks?
Oracle Content Management Webhooks
-
Oracle Content Management provides both incoming and outgoing webhooks.
-
Outgoing webhooks can be used to automatically push notifications for events like:
- Asset publishing
- Asset lifecycle changes
- Site publishing
- Prerendering
- Scheduled jobs
-
You can subscribe to specific events for webhooks to receive notifications when those events occur.
-
Webhook endpoints can be created and managed using REST APIs or through the Oracle Content Management web interface.
-
Events that can be subscribed to include:
- Asset lifecycle events (e.g. created, updated, deleted)
- Publishing events
- Site publishing events
- Scheduled job events (e.g. created, updated, canceled, started, completed)
-
Webhook payloads contain data like:
- Which webhook was invoked
- What event was triggered
- When the event occurred and who triggered it
- Details about the entity involved (e.g. content item, digital asset)
Oracle CX Commerce Webhooks
-
Oracle CX Commerce offers two types of webhooks:
- Asynchronous event webhooks triggered by JMS events
- Synchronous function webhooks invoked explicitly in code
-
Event webhooks send POST requests with JSON data when Commerce events occur.
-
Function webhooks return JSON data and can only be sent to one URL.
-
Webhooks can be configured and managed using REST APIs.
Oracle Developer Cloud Service Webhooks
-
Oracle Developer Cloud Service (DevCS) provides outgoing webhooks to send notifications about events like Git pushes, issue updates, merge requests, and build completions.
-
Webhooks can be configured to send notifications to external services and applications.
In summary, Oracle offers webhook functionality across several of its cloud products, allowing for event-driven integrations and notifications. The specific events and configuration options vary by product, but generally allow for customizable, real-time updates based on system events.
Rate Limits and other limitations
Here are the key points about the API Rate Limits of the Oracle API:
General Rate Limits
-
Oracle APIs are subject to rate limiting to protect API service usage for all customers [2].
-
If you reach the API limit for your identity domain type, Oracle returns a 429 error code [2].
Rate Limits for Oracle CRM On Demand REST API
-
The REST Request Rate Limit is 30 requests per minute [1][3].
-
When a user's session is established or re-established, the request rate count starts at zero and increments by one with each request [1][3].
-
The count resets to zero at the end of each one-minute period (not a rolling time period) [1][3].
-
If the rate limit is exceeded, an error message is returned: "The maximum rate of requests was exceeded. A maximum of 30 requests per minute is allowed." [1][3]
Rate Limits for Identity Domain Types
Oracle has different rate limits for various API groups and identity domain types [2]:
Other Restrictions
- Payload size: 1 MB limit
- Bulk API: 50 operations limit per call
- CSV Import: 100K rows limit per CSV & Max file size: 10 MB
- CSV Export: 100K rows limit [2]
Best Practices
- Use pagination to retrieve lists of more than 1,000 objects [5].
- Batch operations into each API call and avoid making API calls within a loop [5].
- Monitor your API usage to avoid hitting rate limits [5].
It's important to note that specific rate limits may vary depending on the particular Oracle service or API you're using. Always refer to the most up-to-date documentation for the specific Oracle API you're working with.
Latest API Version
Based on the search results provided, here is the most up-to-date information about the latest version of the Oracle API:
The most recent version of the Oracle API Platform Cloud Service is Release 23.3.1, released in July 2023 [1][4].
Key points to consider:
-
This release includes an upgrade of the Oracle Coherence Service Gateway (OCSG) WebLogic from version 12.2.1.3 to 12.2.1.4 [4].
-
It is considered a mandatory upgrade for all customers [4].
-
The release includes the latest patch sets, including:
- WebLogic upgrade to 12.2.1.4
- Oracle Global Lifecycle Management OPatch version 13.9.4.2.11 [4]
-
When upgrading, it's important to document all existing WebLogic configurations, as they will need to be re-implemented after installing the new gateway [4].
It's worth noting that Oracle also offers other API-related services, such as the API Gateway service which is part of Oracle Cloud Infrastructure. This service was introduced in December 2019 and has had several updates since then, including integration with the Oracle Cloud Infrastructure Certificates service in December 2021.
For the most accurate and up-to-date information, it's always recommended to check the official Oracle documentation or contact Oracle support directly, as API versions and services can be updated frequently.
How to get a Oracle developer account and API Keys?
-
Sign up for a free Oracle Cloud account:
- Go to https://www.oracle.com/cloud/free/
- Click "Start for free" and follow the registration process
- This will give you access to Oracle Cloud Infrastructure (OCI) which includes API management capabilities
-
Once you have an OCI account, you can access the API Platform:
- Log in to your OCI Console
- Open the navigation menu and go to Developer Services > API Management > Gateways
-
Create an API:
- On the APIs page, click "Create API"
- Specify a name for your API
- Optionally upload an API description file (e.g. OpenAPI/Swagger spec)
- Configure the API settings as needed
-
Develop your API:
- Write the backend code to power your API using your preferred language/framework
- Test the API locally and through CI services
-
Deploy the API:
- Use Oracle API Gateway to deploy and manage your API
- This allows you to monitor usage, manage connections, security, etc.
-
(Optional) Join Oracle PartnerNetwork:
- For additional benefits, you can join OPN and enroll in the Industry Healthcare Track
- This provides access to more resources and validation services
What can you do with the Oracle API?
Based on the search results provided, here are the key data models that can be interacted with using the Oracle API, along with what is possible for each:
JSON Data Model
- Create and drop document collections
- Perform CRUD (create, retrieve, update, delete) operations on JSON documents
- Execute List and Query by Example (QBE) operations on document collections
- Perform bulk insert and indexing operations
- Enforce JSON validity and index JSON content
- Use SQL to query JSON documents as part of SQL operations
- Join JSON documents with other data types (relational, XML, spatial, semantic, text)
- Generate relational views over JSON documents using Oracle Data Guide for JSON
XML Data Model
- Store and manage XML data natively in the database
- Query XML data using SQL/XML and XQuery
- Update XML data using XQuery Update
- Index XML content for optimized performance
Spatial Data Model
- Store and manage geospatial data
- Perform spatial queries and analysis
- Support for large geospatial data warehouses
Graph Data Model
- Store and query graph data
- Support for social networks, sensor analysis, recommendation systems, fraud detection, and research applications
Text Data Model
- Perform text analytics and searches
- Index and search text content within the database
Relational Data Model
- Traditional relational database operations
- Join relational data with other data models (JSON, XML, spatial, etc.)
Binary Large Objects (BLOBs)
- Store large binary objects like documents, images, and media content
- Optimize storage using SecureFiles features
In-Memory Columnar Store
- Support for in-memory analytics and processing
Sharded Database Model
- Distribute data across multiple database instances for scalability
It's important to note that Oracle Database 19c provides a multimodel approach, allowing integration and interaction between these different data models within a single database management system. This enables developers and organizations to work with various data formats while maintaining common administration, security policies, and data consistency.