WEB API

for fleet owner

    Remote - Retry Policy

    Note: Groupe PSA's Fleet Owner APIs are made for PSA business partners owning fleet of vehicles. If you are looking for end-user APIs please look at this.

    When a remote is set up, you have to decide a retry policy in case the notification does not reach your server.

    Retry policy will be triggered when your server is not receiving a remote notification. It means that your response to the notification is anything else than an HTTP 2XX.

    Retry policy can be set to none, bounded or always, but after a certain number of retries we will limit the notifications sent.

    AVAILABLE POLICIES #

    Retry policy is applied if your server is not responding HTTP code 2XX (for example, another HTTP code or a time-out) to a notification send by the remote.

    In this case the notification will be stored & we will retry to send the notification to your server based on the policy you decided when you register your remote.

    Be careful: retry policy is not made for data storage use! It is a remedial tool used to help when a service failure (on your side). It has a limited tolerance for unavailability and therefore a limited storage depth.

    NONE & BOUNDED
    "retryPolicy": {
        "policy": "None"
        }
    
    "retryPolicy": {
        "policy": "Bounded"
        }
    

    When the retry policy is set to None or Bounded, if the notification is not received on your side, the message will be sent:

    • None: only one single retry.
    • Bounded: with a limited number of retries set with retryNumber & retryDelay. There is a limit of retries as explained below.
    ALWAYS
    "retryPolicy": {
        "policy": "Always"
        }
    

    When the retry policy is set to Always, if the notification is not received on your side, the message will be sent again and again, but there is a limit of retries as explained below.

    LIMITATION #

    In case your retry policy is set to Always or Bounded our server will try to send you the notification again for the longest period possible.

    However, we can not store your messages forever, because doing so, it would be very likely that this remoteing service would undergo slowdown when too many messages are enqueued.

    That’s why a limitation process is triggered on you remote, at the same time as the retry policy, when your server did not answer. Your remote can be under 3 levels of limitation. After level 3, the events will not be sent to your server anymore.

    Level 1

    • Min 60 sec between each retry
    • 10 unsuccessful attempts
    • After 10 attempts, limitation will go to level 2

    Level 2

    • Min 300 sec between each retry
    • 10 unsuccessful attempts
    • After 10 attempts, limitation will go to level 3

    Level 3

    • Min 1800 sec between each retry
    • 10 unsuccessful attempts
    • After 10 attempts, events will not be sent anymore.
      It's still possible to retrieve data using the REST API within 2 months.

    ENTER IN LIMITATION

    When an event failed to being sent to your server, the limitation process will be triggered:

    • If the remote was not under limitation, level 1 or 2 will be assigned depending on the HTTP error code (or time-out).
    • If it was already limited, one attempt will be added (only if the failed attempt occurred after the end of the current level refresh, see level) to the count of failed attempt and eventually progress to the next level.

    If it’s not receveid the event notification is stored in our database, and when your server will not be under limitation (see getting out of limitation) it will be sent again to your server.

    If your remote reach level 3 + 10 failed attempts, the event will not be sent anymore. This is to ensure the reliability of the remote service.
    However, it’s still possible to retrieve data about a vehicle using the REST API, all data are available during 2 months.

    limitation-start

    GET OUT OF LIMITATION

    To get out of limitation you just have to wait that your server respond a 2XX to any new notification of this remote.

    Once an event is triggered, if the remote is not under refreshment between 2 retries (according to his level of limitation), a notification is sent to your server.

    If the notification is received, your remote is removed from limitation and all stored notifications are sent.

    limitation-end