Utilisation du Client
Interface web
L'interface web permet de :
- Gérer les serveurs PeSIT cibles
- Envoyer et recevoir des fichiers
- Consulter l'historique des transferts
- Gérer les favoris et les planifications
- Tester les connexions

Envoyer un fichier (SEND)
- Allez dans Transfer
- Sélectionnez SEND comme direction
- Sélectionnez le serveur cible
- Renseignez :
- Partner ID : Votre identifiant client
- Local File Path : Chemin complet du fichier à envoyer
- Virtual File ID : Identifiant du fichier virtuel (fourni par la banque)
- Cliquez sur Start Transfer

Recevoir un fichier (RECEIVE)
- Allez dans Transfer
- Sélectionnez RECEIVE comme direction
- Sélectionnez le serveur source
- Renseignez :
- Partner ID : Votre identifiant client
- Save To Path : Chemin de destination (supporte les placeholders)
- Virtual File ID : Identifiant du fichier virtuel
- Cliquez sur Start Transfer

Placeholders pour les chemins
Pour les transferts RECEIVE, vous pouvez utiliser des placeholders dynamiques dans le chemin de destination :
| Placeholder | Description |
|---|---|
${partner} | ID du partenaire |
${virtualFile} | Nom du fichier virtuel (PI 12) |
${server} | ID du serveur |
${serverName} | Nom du serveur |
${timestamp} | Horodatage (yyyyMMdd_HHmmss) |
${date} | Date (yyyyMMdd) |
${time} | Heure (HHmmss) |
${year}, ${month}, ${day} | Composants de date |
${uuid} | UUID unique |
Exemple : /data/received/${partner}/${virtualFile}_${timestamp}.dat
Résultat : /data/received/PARTNER01/DATA_FILE_20251211_213000.dat
Note PeSIT
Le protocole PeSIT ne transmet pas le nom du fichier physique, uniquement l'identifiant du fichier virtuel (PI 12). Les placeholders ${file}, ${basename}, ${ext} ne sont donc pas disponibles.
API REST
Envoyer un fichier
curl -X POST http://localhost:9081/api/transfers/send \
-H "Content-Type: multipart/form-data" \
-F "file=@virement.xml" \
-F "serverId=1" \
-F "remoteFilename=VIREMENT_20250110.XML" \
-F "partnerId=MON_ENTREPRISE" \
-F "virtualFile=VIREMENTS"Réponse :
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "COMPLETED",
"direction": "SEND",
"filename": "VIREMENT_20250110.XML",
"size": 15234,
"startTime": "2025-01-10T10:30:00Z",
"endTime": "2025-01-10T10:30:05Z"
}Recevoir un fichier
curl -X POST http://localhost:9081/api/transfers/receive \
-H "Content-Type: application/json" \
-d '{
"serverId": 1,
"remoteFilename": "RELEVE_20250110.XML",
"partnerId": "MON_ENTREPRISE",
"virtualFile": "RELEVES"
}'Réponse :
{
"id": "550e8400-e29b-41d4-a716-446655440001",
"status": "COMPLETED",
"direction": "RECEIVE",
"filename": "RELEVE_20250110.XML",
"localPath": "/data/received/RELEVE_20250110.XML",
"size": 8542
}Télécharger un fichier reçu
curl -O http://localhost:9081/api/transfers/550e8400-e29b-41d4-a716-446655440001/downloadHistorique des transferts
curl http://localhost:9081/api/transfersRéponse :
{
"content": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "COMPLETED",
"direction": "SEND",
"filename": "VIREMENT_20250110.XML",
"serverName": "BNP Paribas",
"startTime": "2025-01-10T10:30:00Z"
}
],
"totalElements": 1,
"totalPages": 1
}Filtrer l'historique
# Par statut
curl "http://localhost:9081/api/transfers?status=FAILED"
# Par direction
curl "http://localhost:9081/api/transfers?direction=SEND"
# Par date
curl "http://localhost:9081/api/transfers?from=2025-01-01&to=2025-01-31"
# Par serveur
curl "http://localhost:9081/api/transfers?serverId=1"Favoris
Les favoris permettent de sauvegarder des configurations de transfert pour les réutiliser facilement.

Créer un favori
- Effectuez un transfert depuis la page Transfer ou History
- Cliquez sur l'étoile pour ajouter aux favoris
- Donnez un nom au favori
Éditer un favori
- Allez dans Favorites
- Cliquez sur l'icône crayon ✏️
- Modifiez les paramètres :
- Nom et description
- Serveur cible
- Partner ID
- Virtual File
- Chemin local (avec placeholders pour RECEIVE)
- Cliquez sur Save Changes

Synchronisation des planifications
Lorsque vous modifiez un favori, toutes les planifications liées sont automatiquement mises à jour.
Exécuter un favori
Cliquez sur le bouton Execute pour lancer immédiatement le transfert.
Planifications
Les planifications permettent d'automatiser les transferts à des moments précis.

Créer une planification
- Depuis la page Favorites, cliquez sur l'icône calendrier 📅
- Choisissez le type de planification :
- Daily : Tous les jours à une heure précise
- Weekly : Chaque semaine à un jour et heure précis
- Monthly : Chaque mois à un jour précis
- Hourly : Toutes les heures
- Interval : Toutes les N minutes
- Once : Une seule fois à une date/heure précise
- Cron : Expression cron personnalisée
- Configurez les options :
- Working days only : Ignorer les weekends et jours fériés
- Business Calendar : Utiliser un calendrier personnalisé
- Cliquez sur Create Schedule

Calendriers métier
Les calendriers métier permettent de définir les jours ouvrés et fériés pour les planifications.

Créer un calendrier
- Allez dans Calendars
- Cliquez sur New Calendar
- Configurez :
- Name : Nom du calendrier (ex: "France")
- Timezone : Fuseau horaire
- Working Days : Jours ouvrés (cliquez pour activer/désactiver)
- Holidays : Ajoutez les jours fériés
- Cliquez sur Create Calendar

Utiliser un calendrier
Lors de la création d'une planification, sélectionnez le calendrier dans le champ Business Calendar. Les transferts seront automatiquement reportés au prochain jour ouvré si la date prévue tombe un jour férié ou un weekend.
Automatisation via scripts
Script bash
#!/bin/bash
# send-virements.sh
API_URL="http://localhost:9081"
SERVER_ID=1
PARTNER_ID="MON_ENTREPRISE"
VIRTUAL_FILE="VIREMENTS"
for file in /data/outbox/*.xml; do
filename=$(basename "$file")
echo "Envoi de $filename..."
response=$(curl -s -X POST "$API_URL/api/transfers/send" \
-F "file=@$file" \
-F "serverId=$SERVER_ID" \
-F "remoteFilename=$filename" \
-F "partnerId=$PARTNER_ID" \
-F "virtualFile=$VIRTUAL_FILE")
status=$(echo "$response" | jq -r '.status')
if [ "$status" = "COMPLETED" ]; then
echo "✓ $filename envoyé avec succès"
mv "$file" /data/sent/
else
echo "✗ Échec de l'envoi de $filename"
echo "$response"
fi
doneCron job
# Récupérer les relevés tous les jours à 7h
0 7 * * * /opt/scripts/receive-releves.sh >> /var/log/pesitwizard.log 2>&1
# Envoyer les virements toutes les heures
0 * * * * /opt/scripts/send-virements.sh >> /var/log/pesitwizard.log 2>&1Codes d'erreur
| Code | Description | Action |
|---|---|---|
CONNECTION_REFUSED | Serveur injoignable | Vérifier host/port |
AUTH_FAILED | Authentification échouée | Vérifier clientId/password |
PARTNER_UNKNOWN | Partenaire non reconnu | Vérifier partnerId |
FILE_NOT_FOUND | Fichier inexistant | Vérifier virtualFile/filename |
TIMEOUT | Délai dépassé | Réessayer ou augmenter timeout |