Skip to content
Bright Face AdsBright Face Ads
API & OpenRTB

Une API OpenRTB, documentée comme vous le souhaitez.

Un jeton bearer, un endpoint, les schémas que votre DSP comprend déjà. Envoyez une requête d'enchère, recevez l'offre gagnante, en moins de 90 millisecondes.

<90ms
Latence p95
99.9%
Disponibilité
2.6
Version OpenRTB
POST/openrtb/2.6/bid200 OK · 78ms

request

{
  "id": "8f2a…e91",
  "tmax": 90,
  "at": 2,
  "imp": [{
    "id": "1",
    "bidfloor": 4.50,
    "video": {
      "w": 1920, "h": 1080
    }
  }]
}

response

{
  "seatbid": [{
    "seat": "google-ads",
    "bid": [{
      "impid": "1",
      "price": 5.91,
      "crid": "vast-2291"
    }]
  }]
}
Authentification

Authentification

Toutes les requêtes sont authentifiées par une clé API bearer en HTTPS.

Les clés sont cloisonnées par environnement. Ne diffusez jamais une clé secrète côté client, appelez l'API depuis votre serveur.

terminal
bash
curl https://rtb.brightfaceads.com/openrtb/2.6/bid \
  -H "Authorization: Bearer $BFA_KEY" \
  -H "Content-Type: application/json" \
  -d @bid-request.json
Endpoints

Endpoints

Une surface réduite et prévisible. Tout parle JSON via HTTPS.

POST
/openrtb/2.6/bid

Exécute une enchère et renvoie l'offre gagnante.

POST
/openrtb/2.6/win

Notifie un gain et confirme la facturation via l'URL de gain.

GET
/v1/reports

Récupère les métriques d'impressions, dépenses et remplissage.

GET
/v1/status

Santé du service, région et version actuelle.

Requête & réponse

Requête & réponse

Les formats exacts en entrée et sortie, à copier directement dans votre intégration.

POSTRequête d'enchère
bid-request
http
POST /openrtb/v2/bid HTTP/1.1
Host: rtb.brightfaceads.com
Authorization: Bearer $BFA_KEY
Content-Type: application/json

{
  "id": "8f2a1c9e-...",
  "imp": [{
    "id": "1",
    "video": { "mimes": ["video/mp4"], "w": 1280, "h": 720 },
    "bidfloor": 4.5,
    "bidfloorcur": "USD"
  }],
  "device": { "geo": { "country": "CMR", "city": "Douala" } },
  "at": 2,
  "tmax": 90
}
200Réponse d'enchère
bid-response
json
HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "8f2a1c9e-...",
  "seatbid": [{
    "bid": [{
      "id": "bid-1",
      "impid": "1",
      "price": 6.71,
      "adm": "<VAST ...>",
      "crid": "creative-2291",
      "w": 1280, "h": 720
    }],
    "seat": "meta"
  }],
  "cur": "USD"
}
Champs clés

Champs clés

Les champs de la requête d'enchère que vous manipulerez le plus.

ChampTypeDescription
idstringIdentifiant unique de la requête d'enchère.
imp[]object[]Les impressions mises aux enchères.
imp.bidfloorfloatOffre minimale acceptable, en CPM.
tmaxintegerTemps d'enchère maximal en ms (plafonné à 90).
atintegerType d'enchère, 2 signifie second prix.
device.geoobjectPays et ville de l'impression.
Codes de statut

Codes de statut

Des réponses prévisibles sur lesquelles brancher votre intégration.

200OK

Une offre a été renvoyée dans le corps de la réponse.

204No Content

Pas d'offre, aucune demande n'a dépassé le plancher.

400Bad Request

Requête d'enchère malformée ou incomplète.

401Unauthorized

Clé API manquante ou invalide.

429Too Many Requests

Limite de débit dépassée, réessayez après un délai.

503Unavailable

Panne temporaire, réessayez avec un backoff exponentiel.

Explorateur d'API

Essayez une requête en direct dans le navigateur.

Lancez une requête d'enchère et regardez l'enchère se résoudre, sans écrire de code.

Vous préférez un SDK ?

Évitez le HTTP et utilisez un client typé.

Six SDK de premier ordre encapsulent cette API pour vous.

Découvrir le SDK

Affichons votre marque sur les écrans les plus lumineux.

Lancez une campagne en quelques jours, pas en semaines.

Parler à notre équipe