Content Management

Last updated: 12/11/2024

Overview

The Reporting API can be used to manage your content and review the configuration details of your events and ad sets.

Before you begin: You must authenticate with the API, following the steps here.

1. Manage Your Apps

Add Your Apps

This is the app you’ll be monetizing with the Offerwall. Adding apps can also be done in the dashboard, following the instructions here.

Note: Your app does not need to be live in the App Store or Google Play store to complete this step (the storeUrl parameter is optional).

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 type

Query
Result
query {
  publisher{
    apps(first: 50){
      edges{
        node{
          id
          name
          placements{
            id
            name
            mediationName
          }
        }
      }
      pageInfo {
        endCursor
        hasNextPage
      }
    }
  }
}

Look Up Placement Information for a Specific App ID

References: Publisher#placements field, Placement type

Query
Result
query {
  publisher{
    placements(appId: "00000000-0000-0000-0000-000000000000"){
      id
      name
      mediationName
    }
  }
}

2. 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

Creating placements and content cards can also be done in the dashboard, following the instructions here.

References: createPlacementsAndContents mutation

mutation 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 type

Query
Result
query {
  publisher {
    placements (appId:"00000000-0000-0000-0000-000000000000") {
      id
      name
      contents {
        id
        name
      }
    }
  }
}

3. 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 details on virtual currencies, see here.

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. Creating a virtual currency can also be done in the dashboard, following the instructions here.

References: createCurrency mutation

mutation 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 mutation

mutation updateCurrency {
  updateCurrency(input: {
    id: "<CURRENCY_ID>",
    maturity: HIGH,
    name: "Shell Bells",
    initialBalance: 100
  }) {
    currency {
      id
      name
      exchangeRate
      initialBalance
      maturity
      callbackUrl
    }
  }
}