Synchronizing Your Inventory Using the Console API
Whether you use AppNexus Supply Integration (ASI) or OpenRTB integration, you'll synchronize your inventory by mapping your publisher and placement fields to Console API publisher and placement fields. You use the Console API to do the following:
- Create a new publisher that's mapped to your publisher.
- Create a new placement group.
- Create a new placement that's mapped to your placement.
- Test the mapping with a debug auction. (Optional.)
Before You Begin
Before you begin, you must meet the following criteria:
- You have completed API onboarding.
- You are familiar with the AppNexus Sell-Side Object Hierarchy.
The following steps will explain how to create publisher and placement objects with the proper configuration to accept those mappings.
Step 1. Create a Publisher
Use the Publisher Service to create a new publisher that's mapped to your inventory.
Using the code
field is highly recommended at both the publisher and placement levels to ensure that your inventory is as granular as possible so that it can be investigated accurately for quality issues, and specifically for domain detectability. While not required, this step will help you to split your inventory into highly detectable and less detectable tags, allowing you to isolate the impacts of non-detectable domains on the rest of your inventory's viability.
Your JSON must include the following fields:
Field | Type | Description | Default |
---|---|---|---|
name | string (255) | Name of the legal entity of the company you pay money to. For instance, if you buy from espn.com, the publisher should be named as the legal entity for ESPN. | |
is_oo | boolean | If true, the publisher is owned and operated by the network, meaning the network gets 100% of the revenue. Setting this to true also enables you to skip setting up payment rules. | "false" |
code | string (100) | The code that identifies the publisher from your inventory. Use the value of the ext_pub_code or BidRequest.Site.Publisher.id field. | |
reselling_exposure | enum | The publisher's exposure for reselling to other members of the platform. Possible values: "public" or "private." | "private" |
state | enum | The state of the publisher. Possible values: "active" or "inactive." | "inactive" |
The API returns the ID of the newly created object in its response. Save this value for use in the next two steps.
Step 2. Create a Site (Placement Group)
Use the Site Service to create one or more sites (or placement groups) associated with the publisher you created in step 1. Sites are simply a grouping mechanism for placements. At least one site is required, but you don't need to create additional ones if you don't need further granularity.
Field | Type | Description | Default |
---|---|---|---|
name | string (255) | Name associated with the site. | |
supply_type | enum | Specifies whether this is a site viewed on a desktop browser ("web"), a site viewed on a mobile browser ("mobile_web"), or an app run on a mobile device ("mobile_app"). This distinction allows the buyer to target campaigns to the particular supply type where they want to advertise, for example, an advertiser may upload creatives optimized for mobile browsers with mobile landing pages. | "web" |
The API returns the ID of the newly created object in its response. Save this value for use in the next step.
Step 3. Create a Placement
Use the Placement Service to create placements associated with the publisher and site you created in steps 1 and 2.
Using the code
field is highly recommended at both the publisher and placement levels to ensure that your inventory is as granular as possible so that it can be investigated accurately for quality issues, and specifically for domain detectability. While not required, this step will help you to split your inventory into highly detectable and less detectable tags, allowing you to isolate the impacts of non-detectable domains on the rest of your inventory's viability.
Field | Type | Description | Default |
---|---|---|---|
name | string (255) | Name associated with the publisher. | |
code | string (100) | The code that identifies the placement from your inventory. Use the value of the ext_placement_code or BidRequest.Site.id field. |
Example
Step 4. Test the Mapping Setup (Optional)
You can test that the mapping is working correctly by using a debug auction. Send a test impression to our endpoint with the debug parameters and check that the impression reaches the expected placement.
Example
This example shows a video impression via the OpenRTB protocol.