OpenRTB
RTBの規格
Introduction
Terminology
RTB
リアルタイムに impression を入札する仕組み
Exchange
impression ごとに入札者に向けてオークションを開催するもの
Bidder
リアルタイムに入札を行うもの
Seat
impression を購入するべく入札をBidderに代理させるもの (広告主や代理店)
Publisher
サイト運営者
Deal
PMPにおける取引会場
OpenRTB Basics
ad markupがbidの中に予め入れておくこともできる。
billing noticeによって金額が通知されるが色々な情報を詰め込むためにこのシーケンスとは別に実施してもよい。
Transport
bidにはHTTP POSTが必要。これはリクエストデータとして大きなデータを許容し、バイナリデータも扱えるようにするため。
コンテンツを返信するならレスポンスコードは200であるべき。bidしなくてコンテンツを返さない場合は204でもよい。
リクエストが不正な場合はコンテンツ無しで400を返す。
CPUとコネクション管理の観点からKeep-Aliveにすることを推奨する。
Security
OpenRTB的にはTLSを要求しないがトレンド的にやっておいたほうがいい。
Data Format
JSONを使うなら下記とする。
code:text
Content-Type: application/json
Exchangeはその他のバイナリプロトコル(compressed JSON, ProtoBuf, Avro)などを提案してもよい。その時は適切な Content-Type を選ぶこと。
Data Encoding
gzip圧縮はネットワーク帯域の節約などとてもメリットが多い。
レスポンスとしてgzipが受け取れることを明示。
code:text
Accept-Encoding: gzip
リクエストにgzip形式を明示する場合のヘッダ。
code:text
Content-Encoding: gzip
OpenRTB Version HTTP Header
下記のようなヘッダをbid requestのヘッダにつけること。
code:text
x-openrtb-version: 2.5
Bid Request Specification
Bid Response Specification
Enumerated List Specification
Bid Request/Response Samples