Paramètres d'un Partenaire d'Échange

Cette page présente l’ensemble des paramètres des partenaires d’Ara et leur utilité.

Format des paramètres

Tous les paramètres sont des chaines de caractère, mais ils peuvent être interprétés en tant qu’entiers, tableaux, etc…

Un entier (int) avec une valeur incorrecte sera interprété en tant que 0.

Un booléen (bool) doit prendre la valeur “true” ou “false”. Une valeur incorrecte sera interprétée comme false.

Une string est une chaine de caractère.

Un tableau de string ([]string) est une succession de string séparés par des virgules (exemple : “token1,token2“)

Une durée (duration) est une séquence de nombres décimaux potentiellement signés, chacun avec un suffixe comme “300ms”, “-1.5h” ou “2h45m”. Les unités valides sont : "ns", "us" (ou "µs"), "ms", "s", "m", "h".

Liste des paramètres

 

Paramètres de connexion

Ara effectuera des requêtes en utilisant OAuth si les 3 paramètres remote_authentication.oauth.client_id, remote_authentication.oauth.client_secret et remote_authentication.oauth.token_url sont définis. Le paramètre remote_authentication.oauth.scopes est a ajouter si il est requis par le client utilisant OAuth.

 

Nom

Type

Description

local_credential

string

Token permettant d'identifier les requêtes entrantes, doit être unique

local_credentials

[]string

Liste de tokens permettant d'identifier les requêtes entrantes, chacun doit être unique. S’additionne à un éventuel Token défini dans local_credential

remote_credential

string

Token permettant de s’identifier lorsqu'Ara envoie des requêtes

remote_authentication.oauth.client_id

string

Identifiant utilisé pour récupérer le Token lors d'échanges utilisant OAuth

remote_authentication.oauth.client_secret

string

Secret utilisé pour récupérer le Token lors d'échanges utilisant OAuth

remote_authentication.oauth.token_url

string

Adresse où le client http ARA peut récupérer le Token lors d'échanges utilisant OAuth

remote_authentication.oauth.scopes

[]string

Liste de scopes pour récupérer le Token lors d'échanges utilisant OAuth

local_url

srting

Adresse d’Ara envoyée dans le paramètre SIRI Address

remote_url

string

Adresse du partenaire distant

notifications.remote_url

string

Adresse à laquelle envoyer les notifications d’abonnement. En l’absence de ce paramètre, remote_url sera utilisé

subscriptions.remote_url

string

Adresse à laquelle envoyer les demandes d’abonnement. En l’absence de ce paramètre, remote_url sera utilisé

partner.status.maximum_retry

int

Nombre de fois que l’on peut effectuer un CheckStatus avec un statut Unknown avant d’effectivement passer le statut du partenaire à Unknown.

rate_limit_per_ip

int

Limiter le nombre de requêtes par minute et par adresse IP reçues par Ara pour un partenaire.

Paramètres d’identifiants

Nom

Type

Description

remote_code_space

string

Type d’identifiant utilisé par le partenaire

<connector_name>.remote_code_space

string

Type d’identifiant utilisé par un connecteur de diffusion particulier. Liste des connecteurs supportant ce paramètre :

gtfs-rt-trip-updates-broadcaster
gtfs-rt-vehicle-positions-broadcaster
siri-estimated-timetable-request-broadcaster
siri-estimated-timetable-subscription-broadcaster
siri-general-message-request-broadcaster
siri-general-message-subscription-broadcaster
siri-lines-discovery-request-broadcaster
siri-lite-vehicle-monitoring-request-broadcaster
siri-production-timetable-subscription-broadcaster
siri-stop-monitoring-request-broadcaster
siri-stop-monitoring-subscription-broadcaster
siri-stop-points-discovery-request-broadcaster

<connector_name>.vehicle_remote_code_space

string

Type d’identifiant utilisé pour les véhicules par un connecteur de diffusion particulier. Liste des connecteurs supportant ce paramètre :

gtfs-rt-vehicle-positions-broadcaster
siri-lite-vehicle-monitoring-request-broadcaster

Paramètres de format

  • génerateurs d’identitiants

Les générateurs utilisent tous la même syntaxe : une chaîne de caractères dans laquelle on peut utiliser des valeurs d’un attribut comprises dans “%{}”. Exemple : “Operator:Stop::%{id}:LOC”.

Les valeurs possible sont : id, type, et uuid.

uuid est utilisable dans n’importe quel générateur et insèrera un uuid généré par Ara. Pour les autres valeurs, leur utilisation dépend du générateur.

  • envelope

L’envelope permet de specifier un format SIRI autre que SOAP qui est le format par défaut de l’enveloppe des messages SIRI utilisé par ARA.

Nom

Type

Description

generators.message_identifier

string

Generateur utilisé pour l’attribut SIRI MessageIdentifier. Ne supporte que uuid

generators.response_message_identifier

string

Generateur utilisé pour l’attribut SIRI ResponseMessageIdentifier. Ne supporte que uuid

generators.data_frame_identifier

string

Generateur utilisé pour l’attribut SIRI MessageIdentifier. Ne supporte que les attributs id et uuid. L’attribut id contiendra le modelDate d’Ara (la date sous la forme YYYY-MM-DD)

generators.reference_identifier

string

Generateur utilisé pour toutes les références à des objets SIRI que l’on réécrit ou qui ne possèdent pas d’objectid du bon type. Ne supporte que type et uuid

generators.reference_stop_area_identifier

string

Generateur utilisé pour toutes les références à des StopAreas que l’on arrive pas à retrouver dans Ara. Ne supporte que id, et uuid

generators.subscription_identifier

string

Generateur utilisé pour les identifiants d’abonnement émis par Ara. Ne supporte que uuid

siri.envelope

string

Format spécifique de l’enveloppe des messages SIRI autre que SOAP.
Valeur autorisée: raw

Paramètres de collecte

Les paramètres “collect.include_XXX” et “collect.exclude_XXX” fonctionnent de la manière suivante :

  • Si tous les paramètres sont vides, tout sera collecté

  • Si le paramètre “collect.use_discovered_stop_areas” est défini, nous ne collecterons que les arrêts collectés via le protocole StopPointsDiscovery à l’exception de ceux définis par “collect.exclude_lines” et “collect.exclude_stop_areas”

  • Sinon, nous regardons si l’on peut collecter l’arrêt et au moins une de ses lignes. Si un paramètre “collect.include_XXX” est vide, on collecte tout ce qui n’est pas excplicitement exclu

Nom

Type

Description

collect.priority

int

Priorité du partenaire pour la collecte. Si deux partenaires peuvent collecter le même arrêt, celui avec la plus grande priorité sera choisi

collect.include_lines

[]string

Liste d’identifiants de lignes que le partenaire doit collecter. Utilise le format d’identifiant défini dans remote_code_space

collect.exclude_lines

[]string

Liste d’identifiants de lignes que le partenaire ne doit pas collecter. Utilise le format d’identifiant défini dans remote_code_space

collect.include_stop_areas

[]string

Liste d’identifiants d’arrêts que le partenaire doit collecter. Utilise le format d’identifiant défini dans remote_code_space

collect.exclude_stop_areas

[]string

Liste d’identifiants d’arrêts que le partenaire ne doit pas collecter. Utilise le format d’identifiant défini dans remote_code_space

collect.use_discovered_stop_areas

bool

Le partenaire collectera les arrêts découverts grâce à une requête de StopPointsDiscovery en plus de ceux éventuellement définis dans les paramètres collect.include_XXX

collect.situations.internal_tags

[]string

Liste de tags qui seront affectées a des situations collectées en GeneralMessage et en SituationExchange

collect.subscriptions.persistent

bool

Permet de ne pas supprimer les abonnements de collecte si le statut du partenaire devient DOWN ou UNKNOWN

OBSOLÈTE : utiliser le paramètre collect.persistent à la place

collect.persistent

bool

Permet de ne pas supprimer les abonnements et requêtes de collecte si le statut du partenaire devient DOWN ou UNKNOWN

collect.filter_general_messages

bool

Les GeneralMessageRequests seront filtrées par lignes ou arrêts

generalMessageRequest.version2.2

bool

Utilise la version 2.2 des GeneralMessageRequests SIRI, en requête et en abonnement (dans la pratique, change un namespace dans le XML)

discovery_interval

duration

Temps entre deux requêtes de StopPointsDiscovery ou LinesDiscovery

collect.gtfs.ttl

duration

Temps entre deux requêtes de GTFS-RT. Minimum de 30 secondes (valeur par défaut si le paramètre n’est pas défini)

subscriptions.maximum_resources

int

Limite le nombre maximum de ressources auxquelles on s’abonne dans 1 abonnement SIRI. Un entier négatif ou nul compte comme une absence de paramètre (aucune limite)

Paramètres de diffusion

Tous les caches de diffusion (uniquement utilisé pour le GTFS-RT pour le moment) ont un minimum de 10 secondes, et une valeur par défaut de 60 secondes.

Nom

Type

Description

broadcast.subscriptions.persistent

bool

Permet de ne pas supprimer les abonnements de diffusion si le statut du partenaire devient DOWN ou UNKNOWN

broadcast.siri.stop_monitoring.multiple_subscriptions

bool

Permet d'envoyer une seule NotifyStopMonitoring avec de multiples StopMonitoringDelivery pour chaque abonnement.

broadcast.recorded_calls.duration

duration

Les notifications et réponses d’EstimatedTimetable contiendront des RecordedCalls pour les StopVisits partis entre maintenant et la durée spécifiée

broadcast.rewrite_journey_pattern_ref

bool

L’attribut JourneyPatternRef sera réécrit en utilisant le générateur d’identifiant reference_identifier dans la diffusion de StopMonitoring

broadcast.no_dataframeref_rewriting_from

[]string

Liste d’origines (slug de partenaires) pour lesquelles on ne réécrira pas les attributs DestinationRef dans la diffusion de StopMonitoring

broadcast.no_destinationref_rewriting_from

[]string

Liste d’origines (slug de partenaires) pour lesquelles on ne réécrira pas les attributs DestinationRef dans la diffusion de StopMonitoring ou EstimatedTimetable

broadcast.prefer_referent_stop_areas

bool

Permet d'utiliser l'arrêt référent au lieu de l'arrêt particulier dans les envois d'EstimatedTimetables (quand l'arrêt est diffusable)

broadcast.situations.internal_tags

[]string

Permet de n’envoyer que les situations ayant les tags correspondantes; valable pour les GeneralMesage et les SituationEchange

ignore_stop_without_line

bool

Ignorer les arrêts sans ligne lors d’une réponse à une requête de StopPointsDiscovery

broadcast.gzip_gtfs

bool

Zip les réponses aux requêtes de GTFS-RT

broadcast.gtfs.cache_timeout

duration

Temps que l’on garde en cache les réponses aux requêtes de GTFS-RT (après Marshaling)

<connector_name>.cache_timeout

duration

Temps que l’on garde le cache des connecteurs qui le supportent :

gtfs-rt-trip-updates-broadcaster
gtfs-rt-vehicle-positions-broadcaster