Understand how Electronic Fulfillment Service Integration (OFI) works.
Electronic Fulfillment Integration (OFI) is an advanced system designed to manage and streamline the delivery of digital products with minimal or no human intervention. Employed by Digital River, OFI facilitates the automated fulfillment of licenses, warranties, storage space, secure certificates, PIN digital activation, and a range of service products. OFI enhances business workflows and meets diverse customer needs by ensuring efficient and secure digital product delivery.
Supported scenarios
The following sections describe the various fulfillment scenarios our Electronic Fulfillment service supports. Fulfillment is the process of delivering products or services to customers. These scenarios ensure the efficient and prompt delivery of digital products and services tailored to meet diverse business needs and workflows.
Real-time Synchronous Line
A Real-time Synchronous Line is a fulfillment scenario where the response for a request is provided immediately, ensuring that the process is completed in one continuous operation without delay. It is a communication method where requests and responses are processed instantly and continuously. This mechanism is suitable for transactions that require instant confirmation and processing.
Real-time Asynchronous Line
A Real-time Asynchronous Line is a fulfillment scenario where a request is sent, and each line item response is received independently over time. This mechanism is suitable for transactions where immediate confirmation for each item is unnecessary but allows for parallel processing and improved efficiency.
Non Real-time Line
A Non Real-time Line is a fulfillment scenario where a bulk request for multiple line items is sent, and the response is processed and provided later. This approach is advantageous for transactions where immediate processing is not critical, allowing for more efficient handling of large volumes of data.
Real-time Synchronous Order
A Real-time Synchronous Order is a fulfillment scenario in which a request is sent, and the response is expected in real-time for the entire order. This mechanism ensures immediate processing and confirmation, making it suitable for transactions requiring instant validation and completion.
Real-time Asynchronous Order
A Real-time Asynchronous Order is a fulfillment scenario in which a request is sent, and the processing begins immediately, but the response is expected at a later point per order. This method allows the initial action to start in real-time yet provides flexibility for the final response to be delivered asynchronously.
Electronic Fulfillment Revoke
An Electronic Fulfillment Revoke is an action to cancel a previously initiated electronic fulfillment request. When a revoke is sent, a response is expected in real-time, ensuring immediate acknowledgment of the cancellation process.
Electronic Fulfillment Notification
An Electronic Fulfillment Notification is a communication sent to indicate the status or completion of an electronic fulfillment request. This notification ensures that both the customer and service provider are promptly informed of the current state of the order, facilitating efficient and transparent order processing.
Note: The customer will not be charged until you receive a completed status is received for <electronicFulfillmentResponse> or <electronicFulfillmentNotice>.
Asynchronous
Asynchronous communication or processing means that the request and response are handled independently and do not happen simultaneously. In the context of Electronic Fulfillment, once an Electronic Fulfillment Request is sent, the fulfillment response can be sent back later after further processing.
When a customer purchases a product, Digital River sends an Electronic Fulfillment Request and expects a fulfillment response later because the client side requires further processing.
Example:
A customer buys a product.
Digital River generates an Electronic Fulfillment Request and sends it to the client's endpoint.
Digital River informs the customer that the order was submitted and they will receive the details shortly on the Thank you page or in the notification email.
The client verifies and evaluates whether to provide the services or not.
If everything is OK, the client asynchronously sends the Electronic Fulfillment Response to Digital River containing the fulfillment details. The client's endpoint must respond with an Electronic Fulfillment Response at a later point.
Digital River sends an email to the customer that contains the fulfillment details.
The settlement is executed.
Synchronous
Synchronous communication or processing ensures that the request and response are handled together in real-time, meaning there is immediate feedback. When a customer purchases a product, Digital River sends an Electronic Fulfillment Request in Electronic Fulfillment. It expects an Electronic Fulfillment Response from the client immediately, completing the transaction in one continuous flow.
Example:
A customer buys a product
Digital River generates an Electronic Fulfillment Request and sends it to the client's endpoint.
The client sends the Electronic Fulfillment Response to Digital River containing the fulfillment details. The client's endpoint must respond with an Electronic Fulfillment Response in real-time.
Digital River presents the access credentials to the customer on the Thank you page and in the notification email.
The settlement is executed.
Electronic fulfillment service request/response
A successful electronicFulfillmentResponse/electronicFulfillmentNotice results in a response that contains a non-null, non-empty item element. The isAutoRetriable, responseCode, responseType, responseMessage, and reasonCode elements will be ignored. These elements only appear in an unsuccessful scenario.
When the successful element is set to false, this signifies an unsuccessful response. In this situation, Digital River uses the isAutoRetriable, responseCode, responseType, responseMessage, and reasonCode elements to fix the issue causing the non-successful response, and tries again.
When the isAutoRetriable flag is set to false, there is a missing required field or a problem with data in the request and Digital River does not automatically retry the request. If the isAutoRetriable element is set to true, Digital River automatically retries the request every hour for 21 days.
The fulfillment company can cancel the whole order or part of the line item.