Error handling¶
Error handling is very important with any API. Whilst every effort has been made to limit the errors to the Resellers, error can occur and so this section details what those errors are and how they must be handled.
All Netsuite and Nuvias UC Order Fulfilment API system errors are automatically reported to the Nuvias UC Customer Services team through Critical Alerts where they can perform the necessary actions to remove the alert and ensure that the API is running continually 24/7.
From a resellers perspective, the Customer Services team can see all order transactions including the XML submissions and responses in the Management Portal should any support queries on orders be required.
The following section lists the Error codes that may occur during submissions and will list the action the reseller should take to handle them. Error codes are split into 4 groups.
The following section lists the Error codes that may occur during submissions and will list the action the reseller should take to handle them. Error codes are split into 4 groups.
- No Code – WSDL Contract not being adhered to
- 100 – Errors with the Request Data
- 300 – Errors with a Downstream System
- 500 – Errors within the API system itself
Programmatically you must be able to handle these error conditions appropriately, especially if a reseller is checking the status of the system as detailed below.
You are responsible for resubmitting your order once the error reason has resolved, whether that is an issue with the order being submitted or with our systems or Netsuite. If you do not receive a success response (200) from the API, your order has not been received and our team are not aware of it.
Waiting¶
Where errors have been received and the recommended action is wait and retry, then it is suggested you retry after 5 mins. If after 5-6 retries (approximately 30 mins) it is still failing, then raise the issue with Nuvias UC API Support.
A set of diagnosis steps are recommended before raising issues with Nuvias UC:
- Can the WSDL be reached?
- Does a
checkInventory
request work or returns the same error? - Have you received any maintenance or outage requests from Nuvias UC? When raising issues to Nuvias UC, please pass on the results of these steps along with details of the API request and error response returned.
Netsuite unavailable¶
Typically, this issue would only occur outside of UK trading hours due to scheduled maintenance on Netsuite. For international resellers this maintenance may occur during peak operating hours.
Nuvias UC will notify customers of any scheduled maintenance windows from NetSuite. You must ensure that we have the correct contact information for you.
For instances where no notification has been received, a manual check can be performed:
- Can the WSDL be reached? (if no the this is likely to be related to a network error)
- If the
checkInventory
request returns the Netsuite unavailable error code, 307. - Check https://status.netsuite.com to see if the outage is maintenance or a Netsuite failure.
WSDL Errors¶
The WSDL contract is not being adhered to. Please check the Soap::Reason field for information.
Example Response:
<soap:Reason>
<soap:Text xml:lang="en">Invalid content was found starting with element 'alternateOrderID'. One of '{purchaseOrderID}' is expected. </soap:Text>
</soap:Reason>
1xx errors¶
This class of error indicates a problem with the request data.
100 - Validation of request data failed¶
Something was wrong with the validation of the Request data.
Example Response:
<soap:Reason>
<soap:Text xml:lang="en">100 : There was a problem with the request data</soap:Text>
</soap:Reason>
<soap:Detail>
<ns3:soapAPIFault
xmlns:ns2="urn:transactions_10.reseller.siphon.com" xmlns:ns3="urn:error.transactions_10.reseller.siphon.com">
<message>Shipping Date must be in the Future</message>
</ns3:soapAPIFault>
</soap:Detail>
101 – purchaseOrderID is not unique Change and resubmit¶
The purchase orderID is not unique. This will only occur on a submitOrder.
Example Response:
<soap:Reason>
<soap:Text xml:lang="en">101 : PurchaseOrderID is not unique</soap:Text>
</soap:Reason>
<soap:Detail>
<ns3:soapAPIPurchaseOrderUniquenessFault xmlns:ns2="urn:transactions_10.reseller.siphon.com" xmlns:ns3="urn:error.transactions_10.reseller.siphon.com">
<message>A search for PurchaseOrderID TEST_TEST_TEST_TEST7 has returned 1 record(s)</message>
<record>SO46852</record>
</ns3:soapAPIPurchaseOrderUniquenessFault>
</soap:Detail>
3xx errors¶
These errors represent a rejection from a downstream system (i.e. Netsuite)
300, 301, 302, 303 – Downstream problem¶
Resolution
Wait and retry
Various downstream problems, retrying may resolve the issue. But if not, please raise this with Nuvias UC API Support.
Example Response:
<soap:Reason>
<soap:Text xml:lang="en">303 : An internal failure occurred while trying to process the request</soap:Text>
</soap:Reason>
<soap:Detail>
<ns3:soapAPIFault
xmlns:ns2="urn:transactions_10.reseller.siphon.com" xmlns:ns3="urn:error.transactions_10.reseller.siphon.com">
<message>Retrying may resolve this issue</message>
</ns3:soapAPIFault>
</soap:Detail>
304 – Credit related issue¶
Resolution
Contact Nuvias UC finance team to resolve the issue
Credit related issue. Please contact the Nuvias UC Finance team to Resolve.
Note: this can happen more often in testing, where resellers creates large number of open orders and exceeds whatever credit limit is set.
Example Response:
<soap:Reason>
<soap:Text xml:lang="en">304 : Credit related problem, please contact finance</soap:Text>
</soap:Reason>
<soap:Detail>
<ns3:soapAPIFault
xmlns:ns2="urn:transactions_10.reseller.siphon.com" xmlns:ns3="urn:error.transactions_10.reseller.siphon.com"/>
</soap:Detail>
305 – Permissions failure¶
Resolution
Contact Nuvias UC API Support
Permission Issue: Cannot be resolved by retrying. Please contact Nuvias UC API Support.
Example Response:
<soap:Reason>
<soap:Text xml:lang="en">305 : Permission Issue, please contact Nuvias UC Support</soap:Text>
</soap:Reason>
<soap:Detail>
<ns3:soapAPIFault
xmlns:ns2="urn:transactions_10.reseller.siphon.com" xmlns:ns3="urn:error.transactions_10.reseller.siphon.com"/>
</soap:Detail>
306 – Cache failure¶
Resolution
Contact Nuvias UC API support
The caching system behind the API has encountered a failure and generated an exception. Cannot be resolved by retrying. Please contact Nuvias UC API Support to resolve.
Example Response:
<soap:Reason>
<soap:Text xml:lang="en">306 : Cache failure, please contact Siphon Support</soap:Text>
</soap:Reason>
<soap:Detail>
<ns3:soapAPIFault
xmlns:ns2="urn:transactions_10.reseller.siphon.com" xmlns:ns3="urn:error.transactions_10.reseller.siphon.com"/>
</soap:Detail>
307 – Stock location configuration error¶
Resolution
Contact Nuvias UC API support
This can occur when you have consignment stock or a VMI service with Nuvias UC. The stock location configured for your API is not configured correctly for use by you. This can be the result of changes in our Warehouse Management System or it can be a misconfiguration of the API settings. This error can’t be resolved by retrying and you should contact Nuvias UC API Support.
5xx errors¶
These errors are internal to the API gateway itself.
500 – Fatal error¶
Resolution
Contact Nuvias UC API support
Fatal Systems Error: A System error has occurred, retrying is unlikely to resolve this, raise with Nuvias UC API Support.
Example Response:
<soap:Reason>
<soap:Text xml:lang="en">500 : A fatal system error has occurred</soap:Text>
</soap:Reason>
<soap:Detail>
<ns3:soapAPIFault
xmlns:ns2="urn:transactions_10.reseller.siphon.com" xmlns:ns3="urn:error.transactions_10.reseller.siphon.com">
<message>500 : A fatal system error has occurred</message>
</ns3:soapAPIFault>
</soap:Detail>