---
# System prepended metadata

title: サーバーサイド

---

# サーバーサイド
## やるべきこと
### 入札機能
[POST]  /bid_request
○jsonをパースして、必要なデータを取る
    ■bid_requestに含まれるdevice_idのから広告主を特定する
    ■CTR予測に必要な特徴量を抽出する
○2000QPSに耐えうる設計
○100ms以内にresponseを返す■100msを超えた場合、RTBに参加できません○入札しない場合は、204 status: OK を返却する
### win-noticeを受け取る機能
オークションに勝利した場合に、SSPからの通知を受け取るend pointを用意する●Win noticeを受け取った場合は、広告を出した広告主の消化額にparamsのbid_price分をインクリメントする

### 予算管理
●広告主は全部で20人
   ○各広告主ごとに予算が決められている
   ○入札する場合は、広告主の予算と消化額を比較して、予算があれば入札するようにする
●予算を消化し終わった場合は、”204 status: ok”をbid_responseで返却する

### ctr予測モデルについて
●DS・MLチームが作成したモデルを元に、CTR予測を実装する
●入札する場合に、いくらで入札するかを決定するために使用する

## リクエストとレスポンス
### bid request
```
{  "id": "1",  
"timestamp":1567662179000000,  
"device_id":"ffffd945-aa99-4b80-8a59-984f296142e0",  "banner_size":1, 
"media_id":1000, 
"os_type":1, 
"banner_position":1, 
"is_interstitial":1,  
"floor_price":0.0, 
"ext": {    "bid_request_start_time": 1567662179000000  }}
```

### bid response
```
{  "id": "1",  
"bid_price": 0.0,  
"advertiser_id": 5, 
"nurl": "http://example.com/v1/win?id=5"}
```

### win notice

### 整理
・bid requestの中から、devise_idから、顧客の情報を検索→jsonをくっつける、→mlに投げる
・mlでdbチェックする?(残り予算)
・もし入札額で勝ったら、sspから通知くるので、win noticeを起動
・クリックされていたら、引く