Créer une attestation

POST /certificates


Cette API sera dépréciée en v3.2 et ne sera pas remplacée.

Configuration de la requête

  1. La requête est authentifiée avec un token applicatif à ajouter à l'entête de la requête : Authorization: Bearer <token>
  2. Le fuseau horaire est requis
  3. L'identité est requise
  4. Le filtrage géographique est optionnel
  5. Les dates de début et de fin sont optionnelles
  6. La date de fin la plus récente possible est J-6
  7. La date de début la plus ancienne est le 1er janvier de l'année précédente

Création simple

Les données requises pour la création ne concernent que l'identité de la personne et le fuseau horaire.

Par défaut, l'attestation sera générée pour l'année précédente sans restrictions géographiques.

Chaque appel, même si les paramètres sont les mêmes, entraine la création d'une attestation unique.

Les attestations ne peuvent être supprimées. Contactez notre équipe au besoin.

application/json

Body Required

  • identity object Required

    L'identité peut être passée de 3 manières différentes :

    1. phone : le numéro de téléphone complet au format ISO
    2. phone_trunc + operator_user_id : le numéro de téléphone tronqué plus votre identifiant utilisateur
    3. operator_user_id : votre identifiant utilisateur uniquement (valable uniquement si vous avez transmis des trajets avec le couple phone_trunc + operator_user_id)

    Additional properties are NOT allowed.

    Hide identity attributes Show identity attributes object
    • phone string

      Numéro au format ITU E.164

    • Numéro de téléphone au format ITU-T E.164 tronqué des 2 derniers chiffres

      Minimum length is 10, maximum length is 14. Format should match the following pattern: ^\+[0-9]{8,12}$.

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

  • tz string Required

    fuseau horaire

  • start_at string(date-time)

    Date de début au format ISO. Sélectionne les trajet >= date

  • end_at string(date-time)

    Date de fin au format ISO nécessairement supérieur à start_at. Sélectionne les trajets < date

  • positions array[object]

    Pour sélectionner des trajets en fonction de leur point de départ et d'arrivée, il est possible de les préciser avec la clé positions.

    Tous les trajets ayant un départ et une arrivée dans un rayon de 1km autour des points donnés seront inclus à l'attestation.

    At least 2 elements.

    Hide positions attributes Show positions attributes object
    • 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

Responses

  • 201 application/json

    OK

    Hide response attributes Show response attributes object
    • uuid string(uuid)
    • created_at string(date-time)
    • meta object

      Additional properties are allowed.

      Hide meta attributes Show meta attributes object
      • tz string
      • positions array[object]
        Hide positions attributes Show positions attributes object
        • 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

      • driver object

        Additional properties are NOT allowed.

        Hide driver attributes Show driver attributes object
        • total object

          Additional properties are allowed.

          Hide total attributes Show total attributes object
        • trips array[object]
          Hide trips attributes Show trips attributes object
          • type string

            Values are driver or passenger.

          • datetime string(date-time)
          • trips integer
          • distance number

            Distance en mètres

            Minimum value is 0, maximum value is 1000000.

          • amount number

            montant en centimes d'euros

      • Additional properties are NOT allowed.

        Hide passenger attributes Show passenger attributes object
        • total object

          Additional properties are allowed.

          Hide total attributes Show total attributes object
        • trips array[object]
          Hide trips attributes Show trips attributes object
          • type string

            Values are driver or passenger.

          • datetime string(date-time)
          • trips integer
          • distance number

            Distance en mètres

            Minimum value is 0, maximum value is 1000000.

          • amount number

            montant en centimes d'euros

  • 401 application/json

    Non authentifié. Le token applicatif est manquant ou invalide.

  • 403 application/json

    Non autorisé

  • 404 application/json

    L'identité n'a pu être trouvée. Vérifiez les identifiants envoyés.

POST /certificates
curl \
 -X POST https://api.covoiturage.beta.gouv.fr/v3.1/certificates \
 -H "Content-Type: application/json" \
 -d '{"identity":{"phone":"+33601020304, +590690101010","phone_trunc":"+336010203","operator_user_id":"d2e8a6c4-9e3a-4b6f-8e8d-9f7a6b5c4d3e"},"tz":"Europe/Paris","start_at":"2021-01-01T00:00:00+0100","end_at":"2021-07-01T00:00:00+0200","positions":[{"lat":47.682821,"lon":-0.557483}]}'
Request examples
{
  "identity": {
    "phone": "+33601020304, +590690101010",
    "phone_trunc": "+336010203",
    "operator_user_id": "d2e8a6c4-9e3a-4b6f-8e8d-9f7a6b5c4d3e"
  },
  "tz": "Europe/Paris",
  "start_at": "2021-01-01T00:00:00+0100",
  "end_at": "2021-07-01T00:00:00+0200",
  "positions": [
    {
      "lat": 47.682821,
      "lon": -0.557483
    }
  ]
}
Response examples (201)
{
  "uuid": "8a9d2da9-39e3-4db7-be8e-12b4d2179fda",
  "created_at": "2020-01-01T00:00:00+0100",
  "meta": {
    "tz": "Europe/Paris",
    "positions": [
      {
        "lat": 47.682821,
        "lon": -0.557483
      }
    ],
    "driver": {
      "total": {
        "trips": 42,
        "week_trips": 42,
        "weekend_trips": 42,
        "distance": 42.0,
        "amount": 42.0
      },
      "trips": [
        {
          "type": "driver",
          "datetime": "2024-05-04T09:42:00+00:00",
          "trips": 42,
          "distance": 42.0,
          "amount": 42.0
        }
      ]
    },
    "passenger": {
      "total": {
        "trips": 42,
        "week_trips": 42,
        "weekend_trips": 42,
        "distance": 42.0,
        "amount": 42.0
      },
      "trips": [
        {
          "type": "driver",
          "datetime": "2024-05-04T09:42:00+00:00",
          "trips": 42,
          "distance": 42.0,
          "amount": 42.0
        }
      ]
    }
  }
}
Response examples (401)
{
  "id": 1,
  "error": {
    "code": -32501,
    "data": "Unauthorized application",
    "message": "Unauthorized Error"
  },
  "jsonrpc": "2.0"
}
Response examples (403)
{
  "id": 1,
  "error": {
    "code": -32503,
    "data": "Invalid permissions",
    "message": "Forbidden Error"
  },
  "jsonrpc": "2.0"
}
Response examples (404)
{
  "code": 404,
  "error": "Not found"
}