application/json

Body Required

  • classe de preuve correspondant aux spécifications définies dans Classes de preuve de covoiturage.

    Values are A, B, or C.

  • start object Required

    Position lat/lon + date du passager

    Additional properties are NOT allowed.

    Hide start attributes Show start attributes object
    • datetime string(date-time) Required

      Date et heure du départ/arrivée du passager au format ISO 8601. L'heure est exprimée en UTC (YYYY-MM-DDThh:mm:ssZ) L'heure est exprimée en UTC (Coordinated Universal Time). UTC n'est pas ajusté sur l'heure d'été et hiver !

    • lat number Required

      Latitude comprise entre 90deg et -90deg décimaux en datum WSG-84

    • lon number Required

      Longitude comprise entre 180deg et -180deg décimaux en datum WSG-84

  • end object Required

    Position lat/lon + date du passager

    Additional properties are NOT allowed.

    Hide end attributes Show end attributes object
    • datetime string(date-time) Required

      Date et heure du départ/arrivée du passager au format ISO 8601. L'heure est exprimée en UTC (YYYY-MM-DDThh:mm:ssZ) L'heure est exprimée en UTC (Coordinated Universal Time). UTC n'est pas ajusté sur l'heure d'été et hiver !

    • lat number Required

      Latitude comprise entre 90deg et -90deg décimaux en datum WSG-84

    • lon number Required

      Longitude comprise entre 180deg et -180deg décimaux en datum WSG-84

  • distance number Required

    Distance exprimée en mètre

    Minimum value is 0, maximum value is 1000000.

  • driver object Required

    Additional properties are NOT allowed.

    Hide driver attributes Show driver attributes object
    • identity object Required

      Ces données personnelles permettent d'identifier la personne effectuant le covoiturage afin de pouvoir comptabiliser ses trajets et lui distribuer des incitations en fonction des politiques applicables. Deux options sont disponibles pour la transmission du numéro de téléphone :

      • Numéro complet au format ITU E.164 (phone) (ex. +33601020304, +590690101010)
      • Numéro au format ITU E.164 tronqué des 2 derniers chiffres (phone_trunc) (ex. +336010203, +5906901010) + identifiant unique de l'opérateur (operator_user_id)

      Additional properties are NOT allowed.

      Hide identity attributes Show identity attributes object
      • identity_key string Required

        Correspond au SHA d'une chaîne concaténée tel que : sha256(phone_number-last_name) ou

        • phone_number correspond au numéro de téléphone complet au format international sans espace ni tiret. Exemple : +33601020304
        • last_name correspond au nom de famille complet en majuscule, sans accent ni tiret ni apostrophe (regexp: [A-Z ]*) Par exemple, M. D'Hérûg-de-l'Hérault ayant le numéro 07 01 02 03 04 doit être formatté comme suit "+33701020304-D HERUG DE L HERAULT"

        Minimum length is 64, maximum length is 64.

      • Numéro de carte de transport (TCL, Navigo, Trabool, etc.) de l'occupant. Obligatoire si l'information est disponible. Actuellement supporté: Navigo

        Additional properties are NOT allowed.

        Hide travel_pass attributes Show travel_pass attributes object
        • name Required

          Nom du titre

          Value is navigo.

        • user_id string Required

          Numéro de carte de transport

      • phone string

        Numéro au format ITU E.164

      • phone_trunc string Required

        Numéro au format ITU E.164 tronqué des 2 derniers chiffres. Obligatoire si phone n'est pas renseigné.

      • driving_license string

        One of:

        Numéro de permis de conduire composé de 12 chiffres après 1975.

        Minimum length is 12, maximum length is 12. Format should match the following pattern: /^[0-9]{12}$/.

        Numéro de permis de conduire composé de 1 à 15 caractères suivis de 4 chiffres avant 1975.

        Minimum length is 5, maximum length is 19. Format should match the following pattern: /^[A-Z0-9]{1,15}[0-9]{4}$/.

        Numéro de permis de conduire plus anciens composé de 1 à 15 caractères.

        Minimum length is 1, maximum length is 15. Format should match the following pattern: /^[A-Z0-9]{1,15}$/.

        Numéro de permis étranger préfixé de l'indicatif '99-'.

        Minimum length is 4, maximum length is 64. Format should match the following pattern: /^99-.*$/.

      • operator_user_id string Required

        Identifiant de l'utilisateur chez l'opérateur. Obligatoire.

      • Applicable seulement au passager.

        • true si majeur
        • false si mineur
        • null si non fourni

        De nombreuses campagnes utilisent cette information pour s'assurer que les bénéficiaires d'incitations sont majeures. La valeur NULL les exclues.

        Values are true, false, or null.

    • revenue number Required

      La somme réellement perçue par le conducteur APRÈS que toutes les incitations (subventions employeurs, promotions opérateurs, incitations AOM, etc.), contributions des passagers aient été versées et que la commission de l’opérateur soit prise. Somme exprimée en centimes.

      Minimum value is 0.

  • passenger object Required

    Additional properties are NOT allowed.

    Hide passenger attributes Show passenger attributes object
    • identity object Required

      Ces données personnelles permettent d'identifier la personne effectuant le covoiturage afin de pouvoir comptabiliser ses trajets et lui distribuer des incitations en fonction des politiques applicables. Deux options sont disponibles pour la transmission du numéro de téléphone :

      • Numéro complet au format ITU E.164 (phone) (ex. +33601020304, +590690101010)
      • Numéro au format ITU E.164 tronqué des 2 derniers chiffres (phone_trunc) (ex. +336010203, +5906901010) + identifiant unique de l'opérateur (operator_user_id)

      Additional properties are NOT allowed.

      Hide identity attributes Show identity attributes object
      • identity_key string Required

        Correspond au SHA d'une chaîne concaténée tel que : sha256(phone_number-last_name) ou

        • phone_number correspond au numéro de téléphone complet au format international sans espace ni tiret. Exemple : +33601020304
        • last_name correspond au nom de famille complet en majuscule, sans accent ni tiret ni apostrophe (regexp: [A-Z ]*) Par exemple, M. D'Hérûg-de-l'Hérault ayant le numéro 07 01 02 03 04 doit être formatté comme suit "+33701020304-D HERUG DE L HERAULT"

        Minimum length is 64, maximum length is 64.

      • Numéro de carte de transport (TCL, Navigo, Trabool, etc.) de l'occupant. Obligatoire si l'information est disponible. Actuellement supporté: Navigo

        Additional properties are NOT allowed.

        Hide travel_pass attributes Show travel_pass attributes object
        • name Required

          Nom du titre

          Value is navigo.

        • user_id string Required

          Numéro de carte de transport

      • phone string

        Numéro au format ITU E.164

      • phone_trunc string Required

        Numéro au format ITU E.164 tronqué des 2 derniers chiffres. Obligatoire si phone n'est pas renseigné.

      • driving_license string

        One of:

        Numéro de permis de conduire composé de 12 chiffres après 1975.

        Minimum length is 12, maximum length is 12. Format should match the following pattern: /^[0-9]{12}$/.

        Numéro de permis de conduire composé de 1 à 15 caractères suivis de 4 chiffres avant 1975.

        Minimum length is 5, maximum length is 19. Format should match the following pattern: /^[A-Z0-9]{1,15}[0-9]{4}$/.

        Numéro de permis de conduire plus anciens composé de 1 à 15 caractères.

        Minimum length is 1, maximum length is 15. Format should match the following pattern: /^[A-Z0-9]{1,15}$/.

        Numéro de permis étranger préfixé de l'indicatif '99-'.

        Minimum length is 4, maximum length is 64. Format should match the following pattern: /^99-.*$/.

      • operator_user_id string Required

        Identifiant de l'utilisateur chez l'opérateur. Obligatoire.

      • Applicable seulement au passager.

        • true si majeur
        • false si mineur
        • null si non fourni

        De nombreuses campagnes utilisent cette information pour s'assurer que les bénéficiaires d'incitations sont majeures. La valeur NULL les exclues.

        Values are true, false, or null.

    • payments array[object]

      Zéro, une ou plusieurs méthodes de paiement utilisées (ex. carte employeur préchargée permettant de payer directement le covoiturage sur une application).

      Tip

      La prise en charge des frais de transports personnel (carburant et forfait mobilité) pourra prendre la forme d’une solution de paiement spécifique, dématérialisée et prépayée, intitulée « titre-mobilité ». Ainsi, il apparaît comme pertinent de détailler la solution de paiement utilisée dans le cadre d'un trajet covoituré, s'il s'agit de Titre-Mobilité.

      Hide payments attributes Show payments attributes object
      • index number Required

        Ordre d'application

        Minimum value is 0.

      • amount number Required

        Montant du paiement en centimes d'euros

        Minimum value is 0.

      • siret string Required

        Numéro de SIRET du payeur

      • type string Required

        Nom du titre

    • contribution number Required

      Coût réel total du service pour l’occupant passager en fonction du nombre de sièges réservés APRÈS que toutes les possibles incitations aient été versées (subventions employeurs, promotions opérateurs, incitations AOM, etc).| Somme exprimée en centimes.

      Minimum value is 0.

    • seats number

      Nombre de sièges réservés par l'occupant passager.

      Minimum value is 1, maximum value is 8. Default value is 1.

Responses

  • 200 application/json

    L'API retourne un objet avec les incitations sur le trajet soumis. Attention, ce calcul n'est pas définitif en raison des seuils qui peuvent s'appliquer sur une campagne. Par exemple, une campagne limitant le nombre de trajets par jour à X. C'est donc un résultat provisoire - sans valeur contractuelle - qui est retourné.

    Hide response attribute Show response attribute object
    • incentives array[object] Required

      Tableau reprenant la liste complète des incitations appliquées (ordre d'application, montant, identifiant de l'incitateur). Si aucune incitation, envoyer un tableau vide.

      Ordre par défaut

      Par défaut, l'ordre d'application des politiques incitatives est le suivant :

      1. Territoire (AOM, Région, ...)
      2. Sponsors (incitations employeur, CE, etc.)
      3. Opérateur (opération promotionnelle, offres, etc.)
      Hide incentives attributes Show incentives attributes object
      • index number Required

        Ordre d'application de l'incitation

        Minimum value is 0.

      • amount number Required

        Montant de l'incitation en centimes d'euros

        Minimum value is 0.

      • siret string Required

        Numéro de SIRET de l'incitateur Le SIRET est un identifiant unique par structure juridique. Toutes les entités incitatrices en possèdent un.

POST /policies/simulate
curl \
 -X POST http://api.example.com/policies/simulate \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{"operator_class":"A","start":{"datetime":"2021-01-01T11:00:00Z","lat":47.682821,"lon":-0.557483},"end":{"datetime":"2021-01-01T11:00:00Z","lat":47.682821,"lon":-0.557483},"distance":42.0,"driver":{"identity":{"identity_key":"string","travel_pass":{"name":"navigo","user_id":"00-MFR-6782929"},"phone":"+33601020304, +590690101010","phone_trunc":"+336010203, +5906901010","driving_license":"051227308989","operator_user_id":"d2e8a6c4-9e3a-4b6f-8e8d-9f7a6b5c4d3e","over_18":true},"revenue":42.0},"passenger":{"identity":{"identity_key":"string","travel_pass":{"name":"navigo","user_id":"00-MFR-6782929"},"phone":"+33601020304, +590690101010","phone_trunc":"+336010203, +5906901010","driving_license":"051227308989","operator_user_id":"d2e8a6c4-9e3a-4b6f-8e8d-9f7a6b5c4d3e","over_18":true},"payments":[{"index":0,"amount":100,"siret":"11000101300017","type":"string"}],"contribution":42.0,"seats":1}}'
Request examples
{
  "operator_class": "A",
  "start": {
    "datetime": "2021-01-01T11:00:00Z",
    "lat": 47.682821,
    "lon": -0.557483
  },
  "end": {
    "datetime": "2021-01-01T11:00:00Z",
    "lat": 47.682821,
    "lon": -0.557483
  },
  "distance": 42.0,
  "driver": {
    "identity": {
      "identity_key": "string",
      "travel_pass": {
        "name": "navigo",
        "user_id": "00-MFR-6782929"
      },
      "phone": "+33601020304, +590690101010",
      "phone_trunc": "+336010203, +5906901010",
      "driving_license": "051227308989",
      "operator_user_id": "d2e8a6c4-9e3a-4b6f-8e8d-9f7a6b5c4d3e",
      "over_18": true
    },
    "revenue": 42.0
  },
  "passenger": {
    "identity": {
      "identity_key": "string",
      "travel_pass": {
        "name": "navigo",
        "user_id": "00-MFR-6782929"
      },
      "phone": "+33601020304, +590690101010",
      "phone_trunc": "+336010203, +5906901010",
      "driving_license": "051227308989",
      "operator_user_id": "d2e8a6c4-9e3a-4b6f-8e8d-9f7a6b5c4d3e",
      "over_18": true
    },
    "payments": [
      {
        "index": 0,
        "amount": 100,
        "siret": "11000101300017",
        "type": "string"
      }
    ],
    "contribution": 42.0,
    "seats": 1
  }
}
Response examples (200)
{
  "incentives": [
    {
      "index": 0,
      "amount": 100,
      "siret": "11000101300017"
    }
  ]
}