Vérifier le statut d'un trajet envoyé

GET /journeys/{operator_journey_id}

Permet de vérifier le statut d'un trajet envoyé dans le RPC.

Schema de la requête HTTP

Path parameters

  • operator_journey_id string Required

    Identifiant unique du trajet envoyé par l'opérateur.

    Minimum length is 1, maximum length is 256. Format should match the following pattern: ^[a-z0-9]{1,256}$.

Responses

  • 200 application/json

    OK Le trajet a été trouvé et son statut est retourné. Attention, le trajet peut être en erreur malgré le code 200, vérifiez le statut retourné.

    Hide response attributes Show response attributes object
    • status string Required

      Statut du trajet tel que :

      • validation_error : les données envoyées ne sont pas valides
      • anomaly_error : le trajet est incohérent ou physiquement impossible
      • acquisition_error : le trajet n'a pas du tout été enregistré
      • normalization_error : le trajet a été enregistré mais les données envoyées n'ont pas pu être standardisées
      • fraud_error : le trajet a été enregistré et standardisé mais il a été considéré comme frauduleux
      • ok : le trajet a correctement été traité
      • pending : le trajet a été enregistré mais n'a pas encore été traité
      • canceled : le trajet a été annulé par l'opérateur
      • unknown : une erreur inconnue a affecté le trajet
      • terms_violation_error : le trajet ne respecte pas les conditions générales d'utilisation

      Values are fraud_error, anomaly_error, validation_error, acquisition_error, normalization_error, ok, canceled, pending, unknown, or terms_violation_error.

    • operator_journey_id string Required

      Identifiant unique du trajet envoyé par l'opérateur.

      Minimum length is 1, maximum length is 256. Format should match the following pattern: ^[a-z0-9]{1,256}$.

    • Identifiant RPC du trajet enregistré dans le RPC. Utilisé pour les exports et les demandes CEE.

    • created_at string(date-time) Required

      la date d'enregistrement du trajet ou à défaut d'enregistrement, la date de l'erreur d'enregistrement

    • fraud_error_labels array[string]

      Liste des raisons ayant abouti au rejet du trajet. vide si pas de fraude détectée

      Values are interoperator_overlap, interoperator_too_many_trips_by_day, or interoperator_too_close_trips.

    • Liste des raisons ayant abouti au rejet du trajet. vide si pas d'anomalie détectée

      Hide anomaly_error_details attributes Show anomaly_error_details attributes object
      • label string

        Etiquette possible pour une anomalie détectée :

        • temporal_overlap_anomaly : 2 trajets ont été déclarés pour un même opérateur et un même passager sur des bornes temporelles qui se chevauchent à au moins 70%
        • distance_duration_anomaly: 1 trajet a été enregistré avec une durée et/ou une distance incohérente

        Règles utilisées pour detecter les anomalies de type distance_duration_anomaly

        • distance estimée par OSRM ou transmises inférieure à 300m. Le trajet est beaucoup trop court en termes de distance.
        • durée estimée par OSRM ou transmise inférieure à 1 minute. Le trajet est beaucoup trop court en termes de durée
        • durée estimée par OSRM supérieure à 2,5 fois le temps transmis. Exemple: temps estimé 25 minutes pour temps transmis de 10 minutes Le temps de trajet est trop faible par rapport au plus court chemin determiné par OSRM, le trajet est considéré comme physiquement impossible
        • distance estimée par OSRM supérieure à 2.5 fois la distance transmise. Exemple: distance 10 km sur une distance estimée 25 km La distance du trajet est trop faible par rapport au plus court chemin determiné par OSRM, le trajet est considéré comme physiquement impossible
        • distance transmise supérieure à 4 fois la distance estimée OSRM. Exemple: 10 km estimé pour 40 km transmis La distance transmise est très largement supérieure à l'estimation. Le seuil est élevé pour prendre en compte d'éventuels détours par rapport au plus court chemin
        • durée transmise supérieure à 7 fois la durée estimée. Exemple : 1h estimé vs 7h transmis La durée transmise est très largement supérieure par rapport à l'estimation. Le seuil est élevé pour prendre en compte d'éventuels embouteillage

        Values are temporal_overlap_anomaly or distance_duration_anomaly.

      • metas object

        Additional properties are allowed.

        Hide metas attributes Show metas attributes object
        • l'operator_journey_id en conflict avec le trajet rejeté. Le trajet correspondant à ce journey_id ne sera pas retenu en statut anomaly_error.

        • ratio de temps de chevauchement entre les 2 trajets allant de 0 à 1. 1 désigne un chevauchement de temps total

    • Liste des raisons ayant abouti au rejet du trajet.

      Values are distance_too_short, too_many_trips_by_day, too_close_trips, or expired.

  • 401 application/json

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

  • 403 application/json

    Non autorisé

  • 404 application/json

    Le trajet n'a pas été trouvé

GET /journeys/{operator_journey_id}
curl \
 --request GET https://api.covoiturage.beta.gouv.fr/v3.2/journeys/{operator_journey_id} \
 --header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
  "status": "fraud_error",
  "operator_journey_id": "string",
  "journey_id": "string",
  "created_at": "2025-05-04T09:42:00Z",
  "fraud_error_labels": [
    "interoperator_overlap"
  ],
  "anomaly_error_details": [
    {
      "label": "temporal_overlap_anomaly",
      "metas": {
        "conflicting_journey_id": "string",
        "temporal_overlap_duration_ratio": 42.0
      }
    }
  ],
  "terms_violation_details": [
    "expired"
  ]
}
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"
}