Postman collection
A ready-to-use Postman v2.1 collection covers the three gateways: Brave (JSON/XML), OS-Travel and Cyberesa.
Setup
- Postman → Import → select
brave-partner-gateway.postman_collection.json. - Open the collection variables and fill in your real credentials.
- Run Ping: the pre-request script automatically computes
X-TimestampandX-Signature.
Variables
| Variable | Description | Example |
|---|---|---|
base_url | Gateway base URL | https://partners.bravebooking.net |
company_code | Brave company code | 1000 |
api_key | Your X-Api-Key | VOTRE_CLE_API |
api_secret | Your secret (signing) | VOTRE_SECRET |
timestamp / signature | Computed by the pre-request script | — |
rate_key | Last rateKey / Token used | rk_x9F2kQ8example |
booking_ref | Last booking reference | BPG-2026-000123 |
os_login / os_password | OS-Travel gateway credentials | demo_os_login |
cy_login / cy_password | Cyberesa gateway credentials | demo_cy_login |
cy_user | Cyberesa numeric agency id | 12345 |
Pre-request script (Brave gateway folder)
The script computes the signature for every request in the folder — the same computation as in the Request signing guide:
// v2 scheme (security review #1): HMAC(method + path + timestamp + sha256(body), derived key)
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()
// Path as sent, query string included
const url = pm.request.url
let path = url.getPath()
const query = url.query ? url.query.toString() : ''
if (query) path += '?' + query
// Exact raw body (empty string when no body)
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)
Collection contents
- Brave gateway — ping, hotels, hotel detail, reference data, availability (city and hotel list), checkrate, booking creation,
clientReferenceduplicate, detail, list, cancellation simulation, cancellation, voucher — each request in JSON and XML variants. - OS-Travel —
ListCountry,ListCity,ListBoarding,ListCategorie,ListCurrency,ListHotel,HotelDetail,HotelSearch,BookingCreation(PreBooking),BookingList,BookingDetail,BookingCancellation(PreCancelled). - Cyberesa —
HotelSearchREQ,HotelQuoteREQ,HotelBookingCreationREQ,HotelBookingCancellationREQ,StaticDataRQ(form-url-encodedstrRQbodies).
The “Example” column values are fictional examples — replace them with the real credentials provided by Brave Booking.