The Unizin Order Tool provides automated reports to Institutions. The reports enable Institutions to drive business processes that follow from content ordering. 

1. Order feed overview

The Unizin Order Tool generates order feeds that report order data in a comma-separated value format. Institutions use order feeds to drive local business processes.

Order Feeds are term-specific. If an institution has allowed ordering for multiple terms at once, then multiple order feeds may be generated at the same time.

Two kinds of Order Feeds are generated:

Order feeds are generated at 4 am EST every night and pushed to an FTP server where they are accessible by an institution.

Order Feeds are generated for both the  production (PROD)  and  user acceptance testing (UAT)  environments. Institutions may use the same FTP server credentials they use to push their data integration for Order Tool in the PROD and UAT environments.

2. Processing order feeds

Importantly, Order Feeds are snapshots of the orders in Order Tool. The records of an Order Feed describe the complete and present state of an order. The records of an Order Feed do not represent a transaction (e.g., a section was added to an order).

Given the format of an Order Feed (see below), there are two recommended ways of processing it:

  1. For every order reported in the Order Feed, drop and reload the order data in your local Institutional system.
  2. For every order reported in the Order Feed, determine the difference between it and the state of that order in your system and update your records as necessary.

Note: it is expected that Institutions remove order feeds from the “order feed” folder after they have pulled it down and conducted their processing.

Filename schema

The Unizin Order Tool’s order reporting is delivered as comma-separated value (CSV) files. One file is generated for each Term that is currently open for ordering. The Unizin Order Tool will use the sis_term_id value from your data integration in the filename of each CSV file, as follows:

Nightly file
YYYY-MM-DD-<sis_term_id>-order-feed-delta.csv
Weekly file
YYYY-MM-DD-<sis_term_id>-order-feed-full.csv

Where:

File format

The order feed is formatted as a CSV file with the following properties:

File contents

The contents of an Order report represent the "current state" of orders and their sections and content items. Aside from the "is_deleted" flag (see below), an Order report will not describe how a particular order has changed since it was last reported. It is up to institutions consuming the Order report to track this for themselves if they wish.

In the nightly reports, any new orders or orders that changed the previous day are represented. Changes may include:

Each line of an order feed references only one section and one content item of a particular order. Consequently, a report of a single order is distributed over one or more rows, depending on the number of sections and content items on the order.  If, for example, there are two content items on a single order for two sections, then this order is represented in four rows.

The order feed data columns are as follows:


Column nameData typeDefinition

order_id

Integer

A unique Unizin ID for the order.

order_created

Datetime

A date & time in ISO 8601.
order_updatedDatetimeA date & time in ISO 8601.
sis_section_idString
(255 max length)
An SIS section ID that is on the order.
sis_content_idString
(255 max length)
This is only applicable for IU. In many cases, the value will be `"null"`.
is_deletedBooleanIf "true," the Order to which the content-section pair belongs has been deleted.
authorText fieldThe authors of a content item that is on the order. If multiple authors are present, they are separated by a semicolon.
titleText fieldThe title of a content item that is on the order.
searchable_isbnString
(max length of 255)
The best ISBN students can use to search for and find the title on the web.
publication_dateDateThe publication date of the title, if available from the publisher. This is a date in ISO 8601 (note: it is only a date object).

delivery_solution

String
(Max length of 50)
The name of the reader used to deliver the solution. Values will be either "Unizin Engage" or "Publisher DLT".
sis_publisher_idString
(max length of 255)
This is only applicable for IU. In many cases, it will be `"null"`.
publisher_nameString
(max length of 255)
The name of the content item’s publisher.
editionString
(max length of 50)
The edition of the content item.
offer_priceFloatThe offer price for the content item (this is the price that students will be charged).
print_list_priceFloatThe print list price for the content item (this is the nominal price of the content item. Offer prices are generally calculated as a function of the print list price).
is_royaltyBooleanThis is a boolean value corresponding to whether or not the person who ordered the content item for this section asserted that they may earn royalties. Note: this is an order level assertion but we'll present it as if for each content item, anyway. In short, it should not be assumed that if this value is true, it is because the user ordering the content stands to early royalties from this particular content items.