Cova API Developers Portal

 

 

 

Important Notice -- Cova Orders Synchronous Processing

Upcoming Changes to Cova Orders API

What's changing

We’re transitioning from our current asynchronous queue-based order system to a new synchronous submission model. This change addresses a key challenge: under the current system, delays or errors in dependent services can cause orders to take several minutes to process and appear at the Point of Sale (POS), often without clear visibility into their status.

With the new system:


What’s Staying the Same

While the backend processing model is changing, your integration flow does not need to change to begin using the new system. Specifically:

However, due to the new synchronous model, you may observe:


Technical Details

Order Submission Endpoints

All order submission endpoints will continue to consume and produce the existing models. The internal processing will now be synchronous, and as such you can expect normal response times between 1 and 30 seconds, with an expected average around 10 seconds. Previous asynchronous processing returned an immediate response, but required continuous polling for status.

After the response, if the order is valid, it will be immediately available at the POS

If the order has failed validation, it will not be available at the POS

All orders will have their status instantly available in the Status endpoint (detailed below)

If the HTTP status is 500-level the order will not be available in the POS and the call to submit the order will need to be retried

If the HTTP status is 400-level the order will not be available in the POS and the request to create the order will need to be repaired and retried.

Order Payment endpoint

The order payment endpoint will continue to consume and produce the existing models. This also employs synchronous processing, which will again affect response time. Expect between 1 and 5 seconds with no need to poll for status.

Similar to the order submission endpoints, if the payment is valid it will be immediately available on the POS,

If the HTTP status is 500-level the payment will not be available in the POS and the call will need to be retried

If the HTTP status is 400-level the payment will not be available in the POS and the request will need to be repaired and retried NOTE: a 200-level response does not guarantee successful order submission. To maintain backward compatibility we did not alter response models. The status endpoint will continue to be the source of truth to discover downstream failures.

Order Status endpoints

All order status endpoints will continue to produce existing models. The response times will remain the same. However, you should observe reduced requests here as orders will be processed synchronously and therefor will no longer have transitional states. Any polling you have in place can and should remain, although it will instantly be in a ReadyForPayment, TransientProcessingFailure, or NonTransientProcessingFailure state.

If the call to create an order fails, then the status may or may not be available on the status endpoints, depending on the nature of the failure to create the order.

The status of payments follows the same pattern. The status of a payment will be instantly available, and one of the following states: PaymentApplied , PaymentCannotBeApplied , TransientProcessingFailure , or NotReadyForPayment

Additional Affected PointOfSale endpoints

These endpoints affecting status will instantly be available on the POS.

Potential Conflicts

The above PointOfSale endpoints have not been changed to use the new flow, and as such will continue to see delays in order processing as they do today. The orders returned from these endpoints will not reflect the fixes to FIFO package selection, customer tax exemptions, invoice-level discounts, and other improvements until after the order has been completed or cancelled.

If delays or inaccuracies on these endpoints will have a negative impact on your integration, please reach out to APISupport@covasoftware.com with details about your usage so we can find the best path forward.

If you have questions or concerns, please contact APISupport@covasoftware.com