<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="gan_v1beta1.html">Google Affiliate Network API</a> . <a href="gan_v1beta1.publishers.html">publishers</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#get">get(role, roleId, publisherId=None)</a></code></p>
<p class="firstline">Retrieves data about a single advertiser if that the requesting advertiser/publisher has access to it. Only advertisers can look up publishers. Publishers can request information about themselves by omitting the publisherId query parameter.</p>
<p class="toc_element">
  <code><a href="#list">list(role, roleId, publisherCategory=None, relationshipStatus=None, pageToken=None, minSevenDayEpc=None, minNinetyDayEpc=None, maxResults=None, minPayoutRank=None)</a></code></p>
<p class="firstline">Retrieves data about all publishers that the requesting advertiser/publisher has access to.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="get">get(role, roleId, publisherId=None)</code>
  <pre>Retrieves data about a single advertiser if that the requesting advertiser/publisher has access to it. Only advertisers can look up publishers. Publishers can request information about themselves by omitting the publisherId query parameter.

Args:
  role: string, The role of the requester. Valid values: 'advertisers' or 'publishers'. (required)
    Allowed values
      advertisers - The requester is requesting as an advertiser.
      publishers - The requester is requesting as a publisher.
  roleId: string, The ID of the requesting advertiser or publisher. (required)
  publisherId: string, The ID of the publisher to look up. Optional.

Returns:
  An object of the form:

    { # A PublisherResource.
    "status": "A String", # The status of the requesting advertiser's relationship with this publisher.
    "kind": "gan#publisher", # The kind for a publisher.
    "name": "A String", # The name of this publisher.
    "classification": "A String", # Classification that this publisher belongs to. See this link for all publisher classifications: http://www.google.com/support/affiliatenetwork/advertiser/bin/answer.py?hl=en&answer=107625&ctx=cb&src=cb&cbid=-k5fihzthfaik&cbrank=4
    "epcSevenDayAverage": { # An ApiMoneyProto. # The sum of fees paid to this publisher divided by the total number of clicks over the past seven days. Values are multiplied by 100 for display purposes.
      "amount": 3.14, # The amount of money.
      "currencyCode": "A String", # The 3-letter code of the currency in question.
    },
    "payoutRank": "A String", # A rank based on commissions paid to this publisher over the past 90 days. A number between 1 and 4 where 4 means the top quartile (most money paid) and 1 means the bottom quartile (least money paid).
    "epcNinetyDayAverage": { # An ApiMoneyProto. # The sum of fees paid to this publisher divided by the total number of clicks over the past three months. Values are multiplied by 100 for display purposes.
      "amount": 3.14, # The amount of money.
      "currencyCode": "A String", # The 3-letter code of the currency in question.
    },
    "item": # Object with schema name: Publisher # The requested publisher.
    "joinDate": "A String", # Date that this publisher was approved as a Google Affiliate Network publisher.
    "sites": [ # Websites that this publisher uses to advertise.
      "A String",
    ],
    "id": "A String", # The ID of this publisher.
  }</pre>
</div>

<div class="method">
    <code class="details" id="list">list(role, roleId, publisherCategory=None, relationshipStatus=None, pageToken=None, minSevenDayEpc=None, minNinetyDayEpc=None, maxResults=None, minPayoutRank=None)</code>
  <pre>Retrieves data about all publishers that the requesting advertiser/publisher has access to.

Args:
  role: string, The role of the requester. Valid values: 'advertisers' or 'publishers'. (required)
    Allowed values
      advertisers - The requester is requesting as an advertiser.
      publishers - The requester is requesting as a publisher.
  roleId: string, The ID of the requesting advertiser or publisher. (required)
  publisherCategory: string, Caret(^) delimted list of publisher categories. Valid categories: (unclassified|community_and_content|shopping_and_promotion|loyalty_and_rewards|network|search_specialist|comparison_shopping|email). Filters out all publishers not in one of the given advertiser categories. Optional.
  relationshipStatus: string, Filters out all publishers for which do not have the given relationship status with the requesting publisher.
    Allowed values
      approved - Publishers you've approved to your program.
      available - Publishers available for you to recruit.
      deactivated - A publisher that you terminated from your program. Publishers also have the ability to remove themselves from your program.
      declined - A publisher that you did not approve to your program.
      pending - Publishers that have applied to your program. We recommend reviewing and deciding on pending publishers on a weekly basis.
  pageToken: string, The value of 'nextPageToken' from the previous page. Optional.
  minSevenDayEpc: number, Filters out all publishers that have a seven day EPC average lower than the given value (inclusive). Min value 0.0. Optional.
  minNinetyDayEpc: number, Filters out all publishers that have a ninety day EPC average lower than the given value (inclusive). Min value: 0.0. Optional.
  maxResults: integer, Max number of items to return in this page. Optional. Defaults to 20.
  minPayoutRank: integer, A value between 1 and 4, where 1 represents the quartile of publishers with the lowest ranks and 4 represents the quartile of publishers with the highest ranks. Filters out all publishers with a lower rank than the given quartile. For example if a 2 was given only publishers with a payout rank of 25 or higher would be included. Optional.

Returns:
  An object of the form:

    {
    "nextPageToken": "A String", # The 'pageToken' to pass to the next request to get the next page, if there are more to retrieve.
    "items": [ # The entity list.
      { # A PublisherResource.
        "status": "A String", # The status of the requesting advertiser's relationship with this publisher.
        "kind": "gan#publisher", # The kind for a publisher.
        "name": "A String", # The name of this publisher.
        "classification": "A String", # Classification that this publisher belongs to. See this link for all publisher classifications: http://www.google.com/support/affiliatenetwork/advertiser/bin/answer.py?hl=en&answer=107625&ctx=cb&src=cb&cbid=-k5fihzthfaik&cbrank=4
        "epcSevenDayAverage": { # An ApiMoneyProto. # The sum of fees paid to this publisher divided by the total number of clicks over the past seven days. Values are multiplied by 100 for display purposes.
          "amount": 3.14, # The amount of money.
          "currencyCode": "A String", # The 3-letter code of the currency in question.
        },
        "payoutRank": "A String", # A rank based on commissions paid to this publisher over the past 90 days. A number between 1 and 4 where 4 means the top quartile (most money paid) and 1 means the bottom quartile (least money paid).
        "epcNinetyDayAverage": { # An ApiMoneyProto. # The sum of fees paid to this publisher divided by the total number of clicks over the past three months. Values are multiplied by 100 for display purposes.
          "amount": 3.14, # The amount of money.
          "currencyCode": "A String", # The 3-letter code of the currency in question.
        },
        "item": # Object with schema name: Publisher # The requested publisher.
        "joinDate": "A String", # Date that this publisher was approved as a Google Affiliate Network publisher.
        "sites": [ # Websites that this publisher uses to advertise.
          "A String",
        ],
        "id": "A String", # The ID of this publisher.
      },
    ],
    "kind": "gan#publishers", # The kind for a page of entities.
  }</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
  <pre>Retrieves the next page of results.

Args:
  previous_request: The request for the previous page. (required)
  previous_response: The response from the request for the previous page. (required)

Returns:
  A request object that you can call 'execute()' on to request the next
  page. Returns None if there are no more items in the collection.
    </pre>
</div>

</body></html>