Standard http response codes (as listed in Error responses below) will be used to indicate the result of processing the fuel transaction. The fuel third party is expected to retry the request when an error code is returned. For example 503 may be returned during a brief maintenance window.
An http response code of 300 or greater indicates there was an error processing the fuel transaction.
A full list of the response codes can be found at http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html and the table below gives a list of the codes relevant for a PUT.
|200||(OK) - if an existing resource has been updated|
|201||(created) - if a new resource is created|
|204||(success) - No content|
|301||(Moved Permanently) - the resource URI has been updated|
|303||(See Other) - e.g. load balancing|
|400||(bad request) - indicates a bad request or validation errors|
|401||(unauthorized) – authentication has failed or has not been provided|
|404||(not found) - the resource does not exist|
|406||(not acceptable) - the server does not support the required representation|
|409||(conflict) - general conflict|
|412||(Precondition Failed) e.g. conflict by performing conditional update|
|415||(unsupported media type) - received representation is not supported|
|500||(internal server error) - generic error response|
|503||(Service Unavailable) - The server is currently unable to handle the request|
The fuel third party should retry a request for a minimum of 2 hours before timing out the request. A retry delay, of at least 2 minutes, should be used to not unnecessarily load either system.
When persistent errors are detected by the fuel third party EROAD support should be notified to diagnose and correct the issue.
Notifications to be sent by email to firstname.lastname@example.org. They should follow the format below:
<ThirdParty> Fuel transaction API persistent ERROR
<Descriptive text of the issue>
Issue start date/time: <date/time>
Outstanding request number: <number of requests pending>
Http Error codes: <List of common http error codes if any>