Content Management
Use the Tapjoy Offerwall Reporting API to manage your Offerwall configurations efficiently, such as your apps, content cards, placements, and virtual currencies.
Read time 3 minutesLast updated 3 hours ago
The Reporting API can be used to manage your content and review the configuration details of your events and ad sets.
Prerequisites
You must authenticate with the API. Refer to API authentication.- For information on retrieving reporting data through the Reporting API, refer to Reporting API - Publisher.
- For information on error handling and limitations with the Reporting API, refer to Reporting API Best Practices.
Manage Your Apps
Add Your Apps
This is the app you’ll be monetizing with the Offerwall. You can also add an app in the dashboard. For more information, refer to Offerwall setup guide.
References: createPublisherApp mutation
mutation createPublisherAppWithStoreUrl { createPublisherApp(input: { name: "App Created With Store URL", platform: ANDROID, storeUrl: "https://play.google.com/store/apps/details?id=com.tapjoy.tapout&gl=us", orientation: PORTRAIT }) { app { id name timezone realWorldCurrency } } } mutation createPublisherAppWithoutStoreUrl { createPublisherApp(input: { name: "App Created WithOUT Store URL", platform: ANDROID, orientation: PORTRAIT, currency: KRW, timezone: TOKYO_SEOUL }) { app { id name timezone realWorldCurrency } } }
Look Up App and Placement Information
Review the placement information of your apps, such as the placement ID, contents, and description. References: Publisher#apps field, PublisherApp typequery { publisher{ apps(first: 50){ edges{ node{ id name placements{ id name mediationName } } } pageInfo { endCursor hasNextPage } } } }
{ "data": { "publisher": { "apps": { "edges": [ { "node": { "id": "00000000-0000-0000-0000-000000000000", "name": "XXX YYY ZZZ", "placements": [ { "id": "00000000-0000-0000-0000-000000000000", "name": "XXX YYY ZZZ", "mediationName": null }, { "id": "00000000-0000-0000-0000-000000000000", "name": "XXX YYY ZZZ", "mediationName": null }, { "id": "00000000-0000-0000-0000-000000000000", "name": "XXX YYY ZZZ", "mediationName": "ironsource" }, { "id": "00000000-0000-0000-0000-000000000000", "name": "XXX YYY ZZZ", "mediationName": null } ] } }, { "node": { "id": "00000000-0000-0000-0000-000000000000", "name": "XXX YYY ZZZ", "placements": [] } } ], "pageInfo": { "endCursor": "Mg", "hasNextPage": true } } } } }
Look Up Placement Information for a Specific App ID
References: Publisher#placements field, Placement typequery { publisher{ placements(appId: "00000000-0000-0000-0000-000000000000"){ id name mediationName } } }
{ "data": { "publisher": { "placements": [ { "id": "00000000-0000-0000-0000-000000000000", "name": "AppLaunch", "mediationName": null }, { "id": "00000000-0000-0000-0000-000000000000", "name": "InsufficientCurrency", "mediationName": null }, ] } } }
Manage Your Placements and Content Cards
A placement is a specific area in your app where the Offerwall can be displayed. A content card defines the types of ads to show at a given placement.Create Placements and Content Cards
You can create placements and content cards in the dashboard. For more information, refer to Placements and Offerwall cards setup, respectively. References: createPlacementsAndContents mutationmutation createPlacementAndContent { createPlacementsAndContents(input: {entries: [ { appId: "<PASTE_YOUR_APP_ID_HERE>", placementName: "Placement from API" } ]}) { placements { id name description contents { id name type isSkippable } } } }
Look Up Content Card Configuration
See information such as the content card ID, type, and the status of any configured A/B testing. References: Placement#contents field, ContentCard typequery { publisher { placements (appId:"00000000-0000-0000-0000-000000000000") { id name contents { id name } } } }
{ "data": { "publisher": { "placements": [ { "id": "00000000-0000-0000-0000-000000000000", "name": "AppLaunch", "contents": [ { "id": "00000000-0000-0000-0000-000000000000", "name": "Content for AppLaunch testing by Tapjoy" }, { "id": "00000000-0000-0000-0000-000000000000", "name": "Content for testing placement by Tapjoy" } ] }, { "id": "00000000-0000-0000-0000-000000000000", "name": "InsufficientCurrency", "contents": [ { "id": "00000000-0000-0000-0000-000000000000", "name": "Content for InsufficientCurrency testing by Tapjoy" }, { "id": "00000000-0000-0000-0000-000000000000", "name": "Content for testing placement by Tapjoy" } ] } ] } } }
Manage Your Virtual Currency
Virtual currency is required in order to monetize with Tapjoy. You should provide the app ID, a currency name, an exchange rate, and a maturity. For more information, refer to Virtual currency overview.Create Virtual Currency
To perform this action in the API, you should provide the app ID, a currency name, an exchange rate, and a maturity. You can also create a virtual currency in the dashboard. References: createCurrency mutationmutation createCurrency { createCurrency(input: { appId: "<PASTE_YOUR_APP_ID_HERE>", name: "New Virtual Currency", exchangeRate: 100, maturity: MEDIUM }) { currency { id name exchangeRate initialBalance maturity } } }
Update a Virtual Currency
Virtual currencies can also be updated, using the mutation below. References: updateCurrency mutationmutation updateCurrency { updateCurrency(input: { id: "<CURRENCY_ID>", maturity: HIGH, name: "Shell Bells", initialBalance: 100 }) { currency { id name exchangeRate initialBalance maturity callbackUrl } } }