<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="playmoviespartner_v1.html">Google Play Movies Partner API</a> . <a href="playmoviespartner_v1.accounts.html">accounts</a> . <a href="playmoviespartner_v1.accounts.orders.html">orders</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#get">get(accountId, orderId, x__xgafv=None)</a></code></p>
<p class="firstline">Get an Order given its id.</p>
<p class="toc_element">
  <code><a href="#list">list(accountId, pphNames=None, pageSize=None, x__xgafv=None, studioNames=None, pageToken=None, customId=None, status=None, videoIds=None, name=None)</a></code></p>
<p class="firstline">List Orders owned or managed by the partner.</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(accountId, orderId, x__xgafv=None)</code>
  <pre>Get an Order given its id.

See _Authentication and Authorization rules_ and
_Get methods rules_ for more information about this method.

Args:
  accountId: string, REQUIRED. See _General rules_ for more information about this field. (required)
  orderId: string, REQUIRED. Order ID. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # An Order tracks the fulfillment of an Edit when delivered using the
      # legacy, non-component-based delivery.
      #
      # Each Order is uniquely identified by an `order_id`, which is generated
      # by Google.
      #
      # Externally, Orders can also be identified by partners using its `custom_id`
      # (when provided).
    "status": "A String", # High-level status of the order.
    "channelId": "A String", # YouTube Channel ID that should be used to fulfill the Order.
        # Example: "UCRG64darCZhb".
    "studioName": "A String", # Name of the studio that owns the Edit ordered.
    "rejectionNote": "A String", # Field explaining why an Order has been rejected.
        # Example: "Trailer audio is 2ch mono, please re-deliver in stereo".
    "episodeName": "A String", # Default Episode name,
        # usually in the language of the country of origin.
        # Only available for TV Edits
        # Example: "Googlers, The - Pilot".
    "receivedTime": "A String", # Timestamp when the Order was fulfilled.
    "priority": 3.14, # Order priority, as defined by Google.
        # The higher the value, the higher the priority.
        # Example: 90
    "customId": "A String", # ID that can be used to externally identify an Order.
        # This ID is provided by partners when submitting the Avails.
        # Example: 'GOOGLER_2006'
    "channelName": "A String", # YouTube Channel Name that should be used to fulfill the Order.
        # Example: "Google_channel".
    "type": "A String", # Type of the Edit linked to the Order.
    "orderId": "A String", # ID internally generated by Google to uniquely identify an Order.
        # Example: 'abcde12_x'
    "videoId": "A String", # Google-generated ID identifying the video linked to this Order, once
        # delivered.
        # Example: 'gtry456_xc'.
    "statusDetail": "A String", # Detailed status of the order
    "approvedTime": "A String", # Timestamp when the Order was approved.
    "name": "A String", # Default Edit name,
        # usually in the language of the country of origin.
        # Example: "Googlers, The".
    "earliestAvailStartTime": "A String", # Timestamp of the earliest start date of the Avails
        # linked to this Order.
    "countries": [ # Countries where the Order is available,
        # using the "ISO 3166-1 alpha-2" format (example: "US").
      "A String",
    ],
    "normalizedPriority": "A String", # A simpler representation of the priority.
    "orderedTime": "A String", # Timestamp when the Order was created.
    "pphName": "A String", # Name of the post-production house that manages the Edit ordered.
    "seasonName": "A String", # Default Season name,
        # usually in the language of the country of origin.
        # Only available for TV Edits
        # Example: "Googlers, The - A Brave New World".
    "legacyPriority": "A String", # Legacy Order priority, as defined by Google.
        # Example: 'P0'
    "showName": "A String", # Default Show name,
        # usually in the language of the country of origin.
        # Only available for TV Edits
        # Example: "Googlers, The".
  }</pre>
</div>

<div class="method">
    <code class="details" id="list">list(accountId, pphNames=None, pageSize=None, x__xgafv=None, studioNames=None, pageToken=None, customId=None, status=None, videoIds=None, name=None)</code>
  <pre>List Orders owned or managed by the partner.

See _Authentication and Authorization rules_ and
_List methods rules_ for more information about this method.

Args:
  accountId: string, REQUIRED. See _General rules_ for more information about this field. (required)
  pphNames: string, See _List methods rules_ for info about this field. (repeated)
  pageSize: integer, See _List methods rules_ for info about this field.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format
  studioNames: string, See _List methods rules_ for info about this field. (repeated)
  pageToken: string, See _List methods rules_ for info about this field.
  customId: string, Filter Orders that match a case-insensitive, partner-specific custom id.
  status: string, Filter Orders that match one of the given status. (repeated)
  videoIds: string, Filter Orders that match any of the given `video_id`s. (repeated)
  name: string, Filter that matches Orders with a `name`, `show`, `season` or `episode`
that contains the given case-insensitive name.

Returns:
  An object of the form:

    { # Response to the 'ListOrders' method.
    "totalSize": 42, # See _List methods rules_ for more information about this field.
    "nextPageToken": "A String", # See _List methods rules_ for info about this field.
    "orders": [ # List of Orders that match the request criteria.
      { # An Order tracks the fulfillment of an Edit when delivered using the
          # legacy, non-component-based delivery.
          #
          # Each Order is uniquely identified by an `order_id`, which is generated
          # by Google.
          #
          # Externally, Orders can also be identified by partners using its `custom_id`
          # (when provided).
        "status": "A String", # High-level status of the order.
        "channelId": "A String", # YouTube Channel ID that should be used to fulfill the Order.
            # Example: "UCRG64darCZhb".
        "studioName": "A String", # Name of the studio that owns the Edit ordered.
        "rejectionNote": "A String", # Field explaining why an Order has been rejected.
            # Example: "Trailer audio is 2ch mono, please re-deliver in stereo".
        "episodeName": "A String", # Default Episode name,
            # usually in the language of the country of origin.
            # Only available for TV Edits
            # Example: "Googlers, The - Pilot".
        "receivedTime": "A String", # Timestamp when the Order was fulfilled.
        "priority": 3.14, # Order priority, as defined by Google.
            # The higher the value, the higher the priority.
            # Example: 90
        "customId": "A String", # ID that can be used to externally identify an Order.
            # This ID is provided by partners when submitting the Avails.
            # Example: 'GOOGLER_2006'
        "channelName": "A String", # YouTube Channel Name that should be used to fulfill the Order.
            # Example: "Google_channel".
        "type": "A String", # Type of the Edit linked to the Order.
        "orderId": "A String", # ID internally generated by Google to uniquely identify an Order.
            # Example: 'abcde12_x'
        "videoId": "A String", # Google-generated ID identifying the video linked to this Order, once
            # delivered.
            # Example: 'gtry456_xc'.
        "statusDetail": "A String", # Detailed status of the order
        "approvedTime": "A String", # Timestamp when the Order was approved.
        "name": "A String", # Default Edit name,
            # usually in the language of the country of origin.
            # Example: "Googlers, The".
        "earliestAvailStartTime": "A String", # Timestamp of the earliest start date of the Avails
            # linked to this Order.
        "countries": [ # Countries where the Order is available,
            # using the "ISO 3166-1 alpha-2" format (example: "US").
          "A String",
        ],
        "normalizedPriority": "A String", # A simpler representation of the priority.
        "orderedTime": "A String", # Timestamp when the Order was created.
        "pphName": "A String", # Name of the post-production house that manages the Edit ordered.
        "seasonName": "A String", # Default Season name,
            # usually in the language of the country of origin.
            # Only available for TV Edits
            # Example: "Googlers, The - A Brave New World".
        "legacyPriority": "A String", # Legacy Order priority, as defined by Google.
            # Example: 'P0'
        "showName": "A String", # Default Show name,
            # usually in the language of the country of origin.
            # Only available for TV Edits
            # Example: "Googlers, The".
      },
    ],
  }</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>