Фейковая DSP(Demand Side Platform) для валидации OpenRTB BidRequest запросов форматов Native, Banner, Video, Audio с отдачей валидных OpenRTB BidResponse ответов.
-
Валидируются только объекты и значения BidRequest указаные как required в спецификации.
-
Полная поддержка спецификации OpenRTB 2.6 & OpenRTB Native Ads Specification 1.2, включая множетственные объекты Imp в одном BidRequest запросе, а так же соместный запрос Native, Banner, Video, Audio объектов в одном объекте Imp ( п. 3.2.4 Спецификации OpenRTB 2.6 ).
-
На каждый объект Native, Banner, Video, Audio объектов в одном объекте Imp фейковая DSP отвечает BidResponse объектом с необхдимым количеством Bid объектов с указанием impid & mtype в соответствии с спецификацией.
-
В ответе BidResponse поддерживается множество SeatBid объектов с множеством Bid объектов, в соответствии с спецификацией.
docker run --name fakedsp -p 8080:8080 -v /path/to/local/ads.json:/ads.json -e ADS_DATABASE_PATH='./ads.json' rapidcodelab/fakedspЗапросы прнинимаютя на эндпоинте POST http://127.0.0.1:8080/openrtb
В одном BidRequest запросе два объекта Imp. Первый Imp содержит Native и Banner объекты. Второй Imp содержит Video объект.
{ "id": "1", "imp": [ { "id":"1", "native":{ "request":"{\"ver\":\"1.2\",\"layout\":1,\"adunit\":2,\"plcmtcnt\":4,\"plcmttype\":4,\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":75}},{\"id\":2,\"required\":1,\"img\":{\"wmin\":492,\"hmin\":328,\"type\":3,\"mimes\":[\"image/jpeg\",\"image/jpg\",\"image/png\",\"image/gif\"]}},{\"id\":4,\"required\":0,\"data\":{\"type\":6}},{\"id\":5,\"required\":0,\"data\":{\"type\":7}},{\"id\":6,\"required\":0,\"data\":{\"type\":1,\"len\":20}}]}" }, "banner":{} },{ "id": "2", "video": { "mimes": [ "video/mp4" ], "minduration": 5, "maxduration": 30, "protocols": [ 2, 3 ] }, "bidfloor": 0.5, "bidfloorcur": "USD", "ext":{} } ] }{ "id": "1", "seatbid": [ { "bid": [ { "id": "e93d416d-d401-4fbf-a750-e4ee23718a1a", "impid": "1", "price": 1.1046602879796197, "adm": "<a href=\"https://yandex.ru\"><img srec=\"https://banners.rapidcodelab.repl.co/banners/1.jpg\"/></a>", "mtype": 1 }, { "id": "5c2181d1-0fac-45ae-97df-32020febde19", "impid": "1", "price": 1.4405090880450124, "adm": "{\"ver\":\"1.2\",\"assets\":[{\"title\":{\"text\":\"Wordpress Hosting\"}},{\"img\":{\"type\":3,\"url\":\"https://banners.rapidcodelab.repl.co/banners/1.jpg\"}},{\"data\":{\"type\":2,\"value\":\"Cheap wordpress hosting at turhost.com\"}}],\"link\":{\"url\":\"https://yandex.ru\"}}", "mtype": 4 }, { "id": "6be4d251-2ab0-4c56-b57f-e4da3c4b902c", "impid": "2", "price": 1.1645600532184903, "adm": "<VAST version=\"3.0\"><Ad id=\"123\"><InLine><AdSystem><![CDATA[DSP]]></AdSystem><AdTitle><![CDATA[adTitle]]></AdTitle><Creatives><Creative><Linear><TrackingEvents></TrackingEvents><MediaFiles><MediaFile delivery=\"progressive\" type=\"video/mp4\" width=\"0\" height=\"0\"><![CDATA[https://banners.rapidcodelab.repl.co/media/002.mp4]]></MediaFile></MediaFiles><VideoClicks><ClickThrough id=\"1\"><![CDATA[https://yandex.ru]]></ClickThrough></VideoClicks></Linear></Creative></Creatives></InLine></Ad></VAST>", "mtype": 2 } ], "seat": "creatives.com" } ] }