Retry Capability for Fulfillment-Only Flows in Ordering
Overview:
This document outlines the retry capability offered to partners for the fulfillment-only flow in the Ordering API. It ensures accurate order statuses and prevents partners from being charged for unfulfilled orders.
Process Time in Header:
Partners must include the process time in the header of their requests. This time indicates the maximum duration within which the order should be fulfilled.
Order Fulfillment:
- If the order is fulfilled within the specified process time, Ordering API will return a terminal status - COMPLETED, indicating successful fulfillment.
- If the order cannot be fulfilled within the specified process time, Ordering API will return a terminal status - REJECTED.
Retry Mechanism:
Partners can close the connection early (e.g., at 4 seconds) and retry the same order within the remaining process time (e.g., retry at 6 seconds if the process time is 10 seconds). This allows them to check the order status and receive the fulfilled order if it was completed within the process time.
Example Scenario:
- A partner sends a request with a process time of 10 seconds.
- Ordering API attempts to fulfill the order within this time.
- If the order is fulfilled in 8 seconds, Ordering API returns a terminal status - COMPLETED, indicating success.
- If the order is not fulfilled within 10 seconds, Ordering API returns a terminal status - REJECTED..
- The partner can close the connection at 4 seconds and retry the same order at 6 seconds to check the order status.
This mechanism ensures efficient order processing and accurate communication of order statuses to partners.
Updated 5 months ago
