# サーバーサイド ## やるべきこと ### 入札機能 [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を起動 ・クリックされていたら、引く