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
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
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.
curl https://rtb.brightfaceads.com/openrtb/2.6/bid \
-H "Authorization: Bearer $BFA_KEY" \
-H "Content-Type: application/json" \
-d @bid-request.jsonEndpoints
Une surface réduite et prévisible. Tout parle JSON via HTTPS.
/openrtb/2.6/bidExécute une enchère et renvoie l'offre gagnante.
/openrtb/2.6/winNotifie un gain et confirme la facturation via l'URL de gain.
/v1/reportsRécupère les métriques d'impressions, dépenses et remplissage.
/v1/statusSanté du service, région et version actuelle.
Requête & réponse
Les formats exacts en entrée et sortie, à copier directement dans votre intégration.
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
}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
Les champs de la requête d'enchère que vous manipulerez le plus.
| Champ | Type | Description |
|---|---|---|
id | string | Identifiant unique de la requête d'enchère. |
imp[] | object[] | Les impressions mises aux enchères. |
imp.bidfloor | float | Offre minimale acceptable, en CPM. |
tmax | integer | Temps d'enchère maximal en ms (plafonné à 90). |
at | integer | Type d'enchère, 2 signifie second prix. |
device.geo | object | Pays et ville de l'impression. |
Codes de statut
Des réponses prévisibles sur lesquelles brancher votre intégration.
Une offre a été renvoyée dans le corps de la réponse.
Pas d'offre, aucune demande n'a dépassé le plancher.
Requête d'enchère malformée ou incomplète.
Clé API manquante ou invalide.
Limite de débit dépassée, réessayez après un délai.
Panne temporaire, réessayez avec un backoff exponentiel.
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.
Évitez le HTTP et utilisez un client typé.
Six SDK de premier ordre encapsulent cette API pour vous.


Affichons votre marque sur les écrans les plus lumineux.
Lancez une campagne en quelques jours, pas en semaines.
Parler à notre équipe