Collection Postman

Une collection Postman v2.1 prête à l'emploi couvre les trois portes : Brave (JSON/XML), OS-Travel et Cyberesa.

Installation

  1. Postman → Import → sélectionnez le fichier brave-partner-gateway.postman_collection.json.
  2. Ouvrez les variables de collection et renseignez vos identifiants réels.
  3. Lancez Ping : le script pré-requête calcule automatiquement X-Timestamp et X-Signature.

Variables

VariableDescriptionExemple
base_urlURL de base de la passerellehttps://partners.bravebooking.net
company_codeCode société Brave1000
api_keyVotre X-Api-KeyVOTRE_CLE_API
api_secretVotre secret (signature)VOTRE_SECRET
timestamp / signatureCalculés par le script pré-requête—
rate_keyDernier rateKey / Token utilisérk_x9F2kQ8example
booking_refDernière référence de réservationBPG-2026-000123
os_login / os_passwordIdentifiants porte OS-Traveldemo_os_login
cy_login / cy_passwordIdentifiants porte Cyberesademo_cy_login
cy_userIdentifiant numérique d'agence Cyberesa12345

Script pré-requête (dossier « Porte Brave »)

Le script calcule la signature pour chaque requête du dossier — le même calcul que dans le guide Signature :

// Schéma v2 (relecture sécurité n°2) : clé dérivée du secret EN CLAIR (jamais de l'empreinte)
const crypto = require('crypto-js')
const apiKey = pm.collectionVariables.get('api_key')
const signingKey = crypto.SHA256('sig-v2|' + pm.collectionVariables.get('api_secret')).toString()
const timestamp = Math.floor(Date.now() / 1000).toString()
// Chemin tel qu'envoyé, query string incluse
const url = pm.request.url
let path = url.getPath()
const query = url.query ? url.query.toString() : ''
if (query) path += '?' + query
// Corps brut exact (chaîne vide si aucun corps)
const body = (pm.request.body && pm.request.body.raw) || ''
const bodyHash = crypto.SHA256(body).toString()
const payload = pm.request.method.toUpperCase() + '\n' + path + '\n' + timestamp + '\n' + bodyHash
const signature = crypto.HmacSHA256(payload, signingKey).toString()
pm.collectionVariables.set('timestamp', timestamp)
pm.collectionVariables.set('signature', signature)

Contenu de la collection

  • Porte Brave — ping, hôtels, détail hôtel, référentiels, disponibilités (ville et liste d'hôtels), checkrate, création de réservation, doublon clientReference, détail, liste, simulation d'annulation, annulation, voucher — chaque requête en variante JSON et XML.
  • OS-Travel — ListCountry, ListCity, ListBoarding, ListCategorie, ListCurrency, ListHotel, HotelDetail, HotelSearch, BookingCreation (PreBooking), BookingList, BookingDetail, BookingCancellation (PreCancelled).
  • Cyberesa — HotelSearchREQ, HotelQuoteREQ, HotelBookingCreationREQ, HotelBookingCancellationREQ, StaticDataRQ (corps form-url-encoded strRQ).

Cette page vous a-t-elle été utile ?