Format XML

La porte Brave répond en JSON par défaut et en XML quand vous le demandez par l'en-tête Accept. Les deux formats portent exactement la même information.

Négociation par Accept

En-tête AcceptRéponse
application/json (ou absent, ou */*)JSON
application/xmlXML
application/json, application/xmlJSON (le premier déclaré l'emporte)

cURL — réponse XML

curl -s "https://partners.bravebooking.net/v1/1000/ping" \
  -H "X-Api-Key: $API_KEY" -H "X-Timestamp: $TIMESTAMP" -H "X-Signature: $SIGNATURE" \
  -H "Accept: application/xml"

Réponse

<?xml version="1.0" encoding="UTF-8"?>
<PingResponse>
  <Status>ok</Status>
  <Company>1000</Company>
  <Mode>test</Mode>
  <Quota>
    <PerSecond>10</PerSecond>
    <PerDay>20000</PerDay>
    <RemainingToday>19982</RemainingToday>
  </Quota>
</PingResponse>

Règles de représentation

  • Dates — ISO 8601 (2027-01-15, 2026-11-13T10:15:30+01:00) dans les deux formats, y compris en XML. Le format d/m/Y n'existe que sur la porte Cyberesa.
  • Devises — code ISO 4217 (TND, EUR), montants en nombres décimaux.
  • Tableaux — un élément conteneur répété : <Hotels><Hotel>…</Hotel><Hotel>…</Hotel></Hotels>.
  • Booléens — true / false en JSON, true / false en XML (porte Brave ; Cyberesa utilise 'True'/'False').
  • Erreurs — enveloppe <ErrorResponse><Code>…</Code><Message>…</Message></ErrorResponse> en XML, quelle que soit la porte Brave appelée.

Corps de requête en XML

Les POST de la porte Brave acceptent aussi un corps XML (Content-Type: application/xml) :

POST /v1/{code}/checkrate en XML

<CheckrateRequest>
  <RateKey>rk_x9F2kQ8example</RateKey>
</CheckrateRequest>

Schéma XSD

Le schéma officiel des messages de la porte Brave est docs/brave-partner.xsd dans le dépôt de la passerelle (partner-gateway). Validez vos échanges contre ce XSD en recette ; les réponses de la passerelle sont garanties conformes.

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