The challenge for the Development Team was to develop APIs for advertising server
The challenge for the Development Team was to develop APIs for advertising server.
The following APIs were developed:
After careful investigation of the issue the Development Team made a huge work on creation of 5 APIs, that made up the advertising server. The Development Team decided it reasonable to combine Report API and Management API.
The 4 APIs interact with each other by means of Authorization API.
This API allows users to manage accounts, users, inventory and campaigns of the advertising server.
There are 2 account level access:
The Management API is scalable and very robust. The application runs on LINUX environment. The application was developed on PHP7 last version environnement with Yii2 framework.
The Delivery API allows the disseminations of campaigns. A script on publisher website/application call the API with targeting data (site, tag, location) which returns the matching ad. Winning ad choice is made thanks to a decision algorithm which analyses all ad request parameters.
The delivery API contains decision engines:
For each ad the client can configure a priority score in management API, it determines what ads have precedence hover the others. Priority score works like a waterfall, it attempts to fill any impressions that aren’t captured by the highest priority score with the next highest priority, and so on. Priorities are designed by a number: 1 is the highest priority while 20 is the lowest. The API proposes a test mode in order to simplify publisher integration. Delivery API is very fast and works smoothly. All data is cached and the application runs Node JS environnement. The application was developed on Node JS last version environnement with Restify framework. The application runs on LINUX environnement. Tested by means of Mocha & Chai.
Data collection API
Data collection API retrieves all campaigns data. When Delivery API provides the right ad to show, response includes unique urls for each action available for the ad. Each url is unique to the ad, so if fired, it’ll record that data.
When user clicks on an ad, he/she is redirected to the Data collection API which records a click and then redirects the user browser to the advertiser destination. The application was developed on Node JS last version environnement with Restify framework. Tested by means of Mocha & Chai.
This section offers a comprehensive and rapid vision of the advertizing server activity.
User can query dashboard data by start date and end date on a free range of 1 year or by a preconfigured date range as follows: last 30 days last 60 days last 90 days.
The Report covers the analysis of campaign performances, such as impressions, clicks, CTRs, custom events, and more.
User can query campaigns data by start date and end date, the result can be filtered and group by the following parameters:
This API covers the qualification of campaigns statistical data. All statistics should be in real time and fast to request. This application runs on a LINUX environnement and could be merged with the Management API application. The application was developed on PHP7 last version environment with Yii2 framework. The server runs on LINUX distribution (CentOS).
Client web app
This web application covers campaigns management and reporting. It was developed with ReactJS and compiled with Webpack and Gulp.
This SDKs covers ads delivery, they are UI based and use the above APIs to show ads on publishers websites/applications.
They are available in the following platforms:
All APIs interact with each other by means of the Authorization API. To implement this the Development Team used OAuth2 server. One can request a valid token, which can be used to authenticate with any APIs. Tested by means of Mocha & Chai.
The Development Team created 5 APIs for advertizing server in accordance with the Customer’s requirements. The APIs were thoroughly tested to achieve smooth and quick performance.
The result of work of the Development Team is a successful implementation, delivery and usage of the developed APIs.
SIE BRAUCHEN EINE TECHNISCHE LÖSUNG?